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?"
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
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):
And the boot sequence (page 55):
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With