cancel
Showing results for 
Search instead for 
Did you mean: 

Why ist the memory map of portA (STM32F411RE) only 10 Bit (0000 - 03FF hex)?

Tgroe
Associate II

Hello, I read the manual for the STM32F411RE and I found the memory map inside. I wondered why I can only find an adress-area (adress boundary) for (exampe) portA which is only 10Bit (0000 until 03FF hex). I "hoped" to find an adress-area over 16Bit (0000 - FFFF hex). 0001h for PortpinA.0 .... 0002 for PortpinA.1 and so on...Can somebody please help me and explain what is wrong in my "thinkink"? Thanks a lot! Sorr for my not perfect english!

4 REPLIES 4

> 0001h for PortpinA.0 .... 0002 for PortpinA.1 and so on...

No. Ports pins are accessed basically through two registers (i.e. two addresses) - the input register (IDR) and output register (ODR), where one bit of that register corresponds to one pin. There are several more registers, setting various modes of the pins, and also a register allowing atomic change of the outputs (BSRR).

Read the GPIO chapter in the respective Reference Manual.

JW

Tgroe
Associate II

Hello Waclawek.jan,

thank you for your reply! I read the chapter and everything seems to be logical BUT:

what is the area in the memory map for?! 10 Bits...I can't see it.

Best Greetings!

It is a convenient decoding window for the logic on the AHB bus address decoder into the repeated instances of the GPIO IP block. The GPIO blocks are decomposed into other registers controlling the bits and pin timings and configurations. Think of it from a hardware/IC design perspective, not one of a software programmer. There is NO relationship between the 10-bit address decoding and the 16-pin GPIO bank, stop trying to make one in your head.

0690X000006C9h5QAC.jpg

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Tgroe
Associate II

...i got it now - thank you both very much! I was just used to this from other yCs.

Now I can g on 😉