当前位置:首页 > 单片机 > 单片机
[导读]对于正点原子开发开发指南这个串口下载不是很理解,简单看了下手册。STM32可以分为三种其启动模式,1:从主Flash启动 ; 2:从系统存储器启动(其实就是ROM);3:从嵌入式SRAM启动(其实就是常规的RAM)。三种模式根


对于正点原子开发开发指南这个串口下载不是很理解,简单看了下手册。

STM32可以分为三种其启动模式,1:从主Flash启动 ; 2:从系统存储器启动(其实就是ROM);3:从嵌入式SRAM启动(其实就是常规的RAM)。三种模式根据BOOT0 和BOOT1的管脚电平来决定。具体参考STM32手册。STM32上电或者复位后,代码区始终从0x00000000开始,三种启动模式其实就是将各自存储空间的地址映射到0x00000000中。

1:从Flash启动,将主Flash地址0x08000000映射到0x00000000,这样代码启动之后就相当于从0x08000000开始。

2:从RAM启动,将RAM地址0x20000000映射到0x00000000,这样代码启动之后就相当于从0x20000000开始。

3:从系统存储器启动,开发指南上所讲就是这种启动模式。首先控制BOOT0 BOOT1管脚,复位后,STM32与上述两种方式类似,从系统存储器地址0x1FFF F000开始执行代码。系统存储器存储的其实就是STM32自带的bootloader代码,在bootloader中提供了UART1的接口,通过此接口可以将用户所需的程序代码下载到主Flash中(具体见手册: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)。下载完毕后,此时程序代码已经存储咋主Flash当中,这时切换启动模式(从主Flash启动),复位后所执行的就是刚刚下载到Flash中的代码了。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭