
![]() 在创建工程文件时,对于不同闪存容量的芯片,需要选择不同的启动文件: 1)startup_stm32f10x_ld.s (适用于小容量芯片); 2)startup_stm32f10x_md.s (适用于中等容量芯片); 3)startup_stm32f10x_hd.s (适用于大容量芯片)。 这里的容量是指 FLASH 的大小,判断方法如下: 小容量:FLASH≤32K 中容量:64K≤FLASH≤128K 大容量:256K≤FLASH 那么怎么才能知道选择的芯片是什么容量呢?首先,要了解STM32系列芯片的命名规则: ![]() 举几个栗子: STM32F103ZET6芯片,其中E表示闪存容量为512Kbytes; STM32F103C8T6芯片,其中8表示闪存容量为64Kbytes。 当然,也可以参考下表: ![]() 从上表中,也可以找到: STM32F103ZET6芯片,其中E表示闪存容量为512Kbytes; STM32F103C8T6芯片,其中8表示闪存容量为64Kbytes。 经验分享 在基于KEIL MDK新建工程文件时,我们需要加载ST公司官方提供的汇编代码: startup_stm32f10x_ld.s或 startup_stm32f10x_md.s或 startup_stm32f10x_hd.s。 不同的芯片选择不同的文件,这就需要根据芯片的内容而定,具体为: 1)startup_stm32f10x_ld.s对应FLASH≤32K的STM32芯片; 2)startup_stm32f10x_md.s对应64K≤FLASH≤128K的STM32芯片; 3)startup_stm32f10x_hd.s对应256K≤FLASH的STM32芯片。 该文件的主要作用: 1)堆栈(SP)的初始化; 2)初始化程序计数器(PC); 3)设置向量表异常事件的入口地址; 4)调用Main函数。 ———————————————— 版权声明:天亮继续睡 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南