(一)STM32下载和启动
1.下载
- swd(sw)和JTAG是下载协议,stlink和jlink是调试器,他们都支持这两种协议,但是一般stlink选择sw协议,jlink选择JTAG协议,现在还有一种调试器叫DAP,这个也是支持SW和JTAG调试。
- 通过st-link或者jlink、串口等方式下载到我们芯片的存储器地址(可选择,默认是flash位置)
- 串口下载的话要设置启动方式boot1为0(后面有说明)
2.硬件启动
-
BOOT1和BOOT0是选择启动位置的
-
启动位置有三个地方:flash、ram、bios
-
主闪存存储器、内置SRAM、系统存储器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5rnTfMEs-1668781847247)(:/dea48784dabf4e3a8dcbc5b1d7701e83)]](https://i-blog.csdnimg.cn/blog_migrate/05d3684b808755974978ecf3a32a3cf8.png)
-
说明我们在下载程序时,下载到了flash但是选择启动的方式(地址)不对,程序不能运行。
3.软件启动
- 代码编译完成后,被下载到flash里面,上电后根据启动方式找到程序,一条一条执行
- core_cm3.c这是stm32内核接口
- 执行startup_stm32f10x_hd.s,这是用汇编写的,用到core_cm3.c内核接口,用来初始化各种中断向量表,然后引导进行system_init和main
- stm32f10x.h有很多外设的宏定义,各种寄存器和总线的地址。执行完第一步后跳到system_stm32f10x.c执行system_Init,初始化函数用到st,32f10x.h里面的寄存器定义对寄存器进行各种赋值,比如选择时钟源等。
- stm32f10x_gpio.c等各种文件,就是对定义的各种寄存器的各种操作进行封装
- 进入main.c,我们调用各种外设操作文件的函数,进行开发
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yn8l0f4g-1668781847248)(:/dee268d3050c485a8d17eb2d103292fe)]](https://i-blog.csdnimg.cn/blog_migrate/8fb0c13ff33eb33ff3986df865c5ceb0.png)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oiSFu0eU-1668781847249)(:/35bcfbad57dd4e8abce764792af20863)]](https://i-blog.csdnimg.cn/blog_migrate/3026950a467d47ba809e58279dce6bc8.png)
(二)模板工程更改芯片
-
选择芯片
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MktF7S5I-1668781847249)(:/0da209cb8f9e46e9b3d0f2f78630a0de)]](https://i-blog.csdnimg.cn/blog_migrate/5b9f7baeb37c451398afe10b2e6ea387.png)
-
添加宏定义
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x9QIOJni-1668781847250)(:/56ea400f03f44e3f972bc22041ed29a9)]](https://i-blog.csdnimg.cn/blog_migrate/c40937a60a1e515c263e148d25a2cce7.png)
-
删除和添加启动文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JdOTaO70-1668781847250)(:/d3c25553bd6d43328ca9d4bc261500c6)]](https://i-blog.csdnimg.cn/blog_migrate/59a96bc4ef3725688004bc810a8e6ad3.png)
-
补充
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rXqSO8Fz-1668781847251)(:/64b81bf54bde4e3ab5c45c1bb56d9fbb)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9pQxng5-1668781847252)(:/0192c425c5e546a8b1dbf3a5248d6929)]](https://i-blog.csdnimg.cn/blog_migrate/9682f0c78ebf4158f1089574c97e1cda.png)

本文详细介绍了STM32微控制器的下载、硬件启动及软件启动过程,并讲解了如何根据不同的芯片更改模板工程。
4020

被折叠的 条评论
为什么被折叠?



