在<>,我们所有的例程都采用了一个叫STM32F10x.s的启动文件,里面定义了STM32的堆栈大小以及各种中断的名字及入口函数名称,还有启动相关的汇编代码。STM32F10x.s是MDK提供的启动代码,从其里面的内容看来,它只定义了3个串口,4个定时器。实际上STM32的系列产品有5个串口的型号,也只有有2个串口的型号,定时器也是,做多的有8个定时器。比如,如果你用的STM32F103ZET6,而启动文件用的是STM32F10x.s的话,你可以正常使用串口1~3的中断,而串口4和5的中断,则无法正常使用。又比如,你TIM1~4的中断可以正常使用,而5~8的,则无法使用。
所以STM32F10x.s并不能适用所有的STM32型号,这样,我们就得对不同型号的STM32,选择不同的启动文件。ST给我们提供了3个启动文件,分别适用于不同容量的STM32芯片。他们是:
startup_stm32f10x_ld.s
startup_stm32f10x_md.s
startup_stm32f10x_hd.s
其中,ld.s适用于小容量 产品;md.s适用于中等容量产品;hd适用于大容量产品;这里的容量是指FLASH的大小.判断方法如下:
小容量:FLASH≤32K
中容量:64K≤FLASH≤128K
大容量:256K≤FLASH
我们开发板使用的是STM32F103RBT6,FLASH容量为128K,属于中等容量产品,而STM32F10x.s刚刚好是满足中等容量型号的启动文件,所以我们使用STM32F10x.s是不会有问题的,他相当于startup_stm32f10x_md.s。而如果你的是小容量或者大容量的STM32,则相应的选择startup_stm32f10x_ld.s或startup_stm32f10x_hd.s即可。
关键字:STM32F10x.s 启动文件
引用地址:
关于STM32F10x.s启动文件
推荐阅读最新更新时间:2024-03-16 14:43
stm32 - keil中启动文件的选择和固件库宏定义
● 启动文件的选择 1. Low-density devices (STM32F10nx4 = 16k, STM32F10nx6 = 32k) - startup_stm32f10x_ld_vl.s: 小容量超值型。STM32F100xx系列,闪存16k~32k字节。 - startup_stm32f10x_ld.s: 小容量型。STM32F101xx, STM32F102xx, STM32F103xx系列,闪存16k~32k字节。 2. Medium-density devices (STM32F10nx8 = 64k, STM32F10nxB = 125k) - startup_stm32f10x_md_vl.s: 中
[单片机]
51单片机的启动文件内容
在我们使用kei c51创建一个 51单片机 项目时,会有如下图所示的提示: keil 创建新项目时,提示是否添加启动文件 一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加? 今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!” 启动代码第一段 ▼以下是启动代码原文第一段: $NOMOD51 ;------------------------------------------------------------------------------ ; This file is
[单片机]
stm32启动文件中heap与stack
1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。 (2)堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。分配方式类似于数据结构中的链表。 (3)全局区(静态区)(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统自动释放。 (4)文字常量区:常量字符串就是存放在这里的。 (5)程序代码区:存放函数体的二进制代码。 例如: int a=0; //全局初始化区
[单片机]
关于 keil mdk lpc2100 启动文件的思考
;/*****************************************************************************/ ;/* STARTUP.S: Startup file for Philips LPC2000 */ ;/*****************************************************************************/ ;/* Use Configuration Wizard in Context Menu */ ;/************************
[单片机]