Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

what does system memory work actually in STM32F103 on ARM memory map?

Tags:

cortex-m

stm32

Now I'm trying to understand boot sequence of STM32F103x. As you already know this is based on cortex-m3. So I was trying to find this concept of boot such as STM32F103x.. But I can't find anywhere in document Where can I find boot sequence as STM32 on ARM memory map?

Because I want to know what does system memory work actually?

Currently. I'm trying to understand about system memory in cortex m3 address map. most examples are said "there are 2 area such as 0x08000000 Flash memory area and 0x1FFFF000 System memory area.

and I understood that Flash memory area is saving for the execute file and System memory is saving for bootloader.

for example, I can make one hex binary file from build which is using startup_CMSDK_CM3.s and startup_CMSDK_CM3.c in Keil uVision. Then I put one hex binary file into the STM32 MCU by using JTEG to 0x0800_0000 of flash memory area not system memory area.

I'm not sure the difference between system memory a flash memory and I want to know "What does system memory and area actually work?"

like image 984
ele_911 Avatar asked Oct 15 '25 23:10

ele_911


1 Answers

old_timer answer is good, so I just elaborate more on the STM32 part:

From here we can see the different boot pin for STM32:

https://electronics.stackexchange.com/questions/206521/how-to-use-external-st-link-to-debug-program-stm32f103-mcu

enter image description here

The bootloader for STM32 system memory is described in depth here:

http://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf

In particular the location of bootloader firmware (for STM32F1xxx, page 54):

enter image description here

And the boot sequence (page 55):

enter image description here

And this is implementing the bootloader in Flash memory mode (F103):

http://blog.myelectronics.com.ua/stm32-usb-mass-storage-bootloader/

And I find this useful (start 1.40):

https://www.youtube.com/watch?v=3brOzLJmeek

enter image description here

like image 200
Peter Teoh Avatar answered Oct 18 '25 07:10

Peter Teoh