不同内存大小的单片机启动文件是不一样的,
startup_stm32f10x_hd.s 文件由官方提供,一般有需要也是在官方的基础上修改,不会自己完全重写。该文件从 ST 固件库里面找到,找到该文件后把启动文件添加到工程里面即可。不同型号的芯片以及不同编译环境下使用的汇编文件是不一样的,但功能相同。
STM32标准外设库可以到ST公司的官方网站](https://www.st.com/zh/embedded-software/stsw-stm32054.html)下载,需要验证邮箱。
ld.s 适用于小容量 产品
md.s 适用于中等容量产品
hd 适用于大容量产品;
xl适用于超大容量产品;
这里的容量是指 FLASH 的大小。判断方法如下:
小容量: 16~32K
中容量: 64~128K
大容量: 256~512K
超大容量:512~1024K
我们开发板使用的是 STM32F103ZET6, FLASH 容量为 512KB,属于大容量产品,所以我们选择 startup_stm32f10x_hd.s 作为我们的启动文件。
找到对应启动文件后添加到我们的工程里面,在编译换进里面添加即可