<th id="CGWum"></th><address id="CGWum"></address>

      1. 电子资讯网 > 控制/MCU > 正文

        STM32单片的启动过程解析

        2020年11月30日 14:33 ? 次阅读

        一、STM32启动文件详细解析

        STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例

        ;********************(C)COPYRIGHT2011STMicroelectronics********************

        ;*FileName:startup_stm32f10x_hd.s

        ;*Author:MCDApplicationTeam

        ;*Version:V3.5.0

        ;*Date:11-March-2011

        ;*DescripTIon:STM32F10xHighDensityDevicesvectortableforMDK-ARM

        ;*toolchain.

        ;*Thismoduleperforms:

        ;*-SettheiniTIalSP

        ;*-SettheiniTIalPC==Reset_Handler

        ;*-SetthevectortableentrieswiththeexcepTIonsISRaddress

        ;*-Configuretheclocksystemandalsoconfiguretheexternal

        ;*SRAMmountedonSTM3210E-EVALboardtobeusedasdata

        ;*memory(optional,tobeenabledbyuser)

        ;*-Branchesto__mainintheClibrary(whicheventually

        ;*callsmain())。

        ;*AfterResettheCortexM3processorisinThreadmode,

        ;*priorityisPrivileged,andtheStackissettoMain.

        STM32单片的启动过程解析

        ;*《《》》

        ;*******************************************************************************

        ;THEPRESENTFIRMWAREWHICHISFORGUIDANCEONLYAIMSATPROVIDINGCUSTOMERS

        ;WITHCODINGINFORMATIONREGARDINGTHEIRPRODUCTSINORDERFORTHEMTOSAVETIME.

        ;ASARESULT,STMICROELECTRONICSSHALLNOTBEHELDLIABLEFORANYDIRECT,

        ;INDIRECTORCONSEQUENTIALDAMAGESWITHRESPECTTOANYCLAIMSARISINGFROMTHE

        ;CONTENTOFSUCHFIRMWAREAND/ORTHEUSEMADEBYCUSTOMERSOFTHECODING

        ;INFORMATIONCONTAINEDHEREININCONNECTIONWITHTHEIRPRODUCTS.

        ;*******************************************************************************

        ;Amountofmemory(inbytes)allocatedforStack

        ;Tailorthisvaluetoyourapplicationneeds

        ;StackConfiguration;栈定义

        ;StackSize(inBytes)《0x0-0xFFFFFFFF:8》

        ;

        Stack_SizeEQU0x00000400;EQU伪指令,作用是左边的符号名代表右边的表达式

        AREASTACK,NOINIT,READWRITE,ALIGN=3;定义栈段:名称为STACK,未初始化,可读写,ELF的栈段按2^3=8对齐

        Stack_MemSPACEStack_Size;分配一片连续的存储区域并初始化为0,栈空间:0x400个字节

        __initial_sp;栈空间顶地址

        ;HeapConfiguration;堆定义

        ;HeapSize(inBytes)《0x0-0xFFFFFFFF:8》

        ;

        Heap_SizeEQU0x00000200

        AREAHEAP,NOINIT,READWRITE,ALIGN=3

        __heap_base;堆空间起始地址

        Heap_MemSPACEHeap_Size;堆空间:0x200个字节

        __heap_limit;堆空间结束地址

        PRESERVE8;PRESERVE8指令指定当前文件保持堆栈八字节对齐

        THUMB;告诉汇编器下面是32位的Thumb指令,如果需要汇编器将插入位以保证对齐

        ;VectorTableMappedtoAddress0atReset;中断向量表定义

        ;实际上是在CODE区(假设STM32从FLASH启动,则此中断向量表起始地址即为0x8000000)

        AREARESET,DATA,READONLY;定义一块数据段,只可读,段名字是RESET

        EXPORT__Vectors;EXPORT:在程序中声明一个全局的标号__Vectors,该标号可在其他的文件中引用

        下载发烧友APP

        打造属于您的人脉电子圈

        关注电子资讯微信

        有趣有料的资讯及技术干货

        关注发烧友课堂

        锁定最新课程活动及技术直播

        电子资讯观察

        一线报道 · 深度观察 · 最新资讯
        收藏 人收藏
        分享:

        评论

        相关推荐

        STM32单片机固件库建立工程的方法及步骤

        1,新建项目,在新建工程的目录下新建几个文件夹: A,CORE (用来存放启动文件) B...

        发表于 2020-11-30 14:43 ? 2次阅读
        STM32单片机固件库建立工程的方法及步骤

        如何采用STM32单片机读取可变长度数据到内存

        STM32的串口有监测总线是否处于空闲的功能,我们可以使用这个功能,当数据传输完总线变成空闲状态时产...

        发表于 2020-11-30 14:33 ? 4次阅读
        如何采用STM32单片机读取可变长度数据到内存

        如何采用STM32单片机中断向量控制器NVIC来...

        先占优先级的概念等同于51单片机中的中断。假设有两中断先后触发,已经在执行的中断先占优先级如果没有后...

        发表于 2020-11-30 16:17 ? 27次阅读
        如何采用STM32单片机中断向量控制器NVIC来...

        stm32单片机按键控制的用法解析

        1 /* 2 ::按键控制 3 PA8接LED,PE2接按键 4 */ 5 ...

        发表于 2020-11-30 16:14 ? 42次阅读
        stm32单片机按键控制的用法解析

        STM32单片机串口DMA解析

        STM32有两个DMA控制器(DMA2只存在于大容量产品中),DMA1有7个通道,DMA2有5个通道...

        发表于 2020-11-30 15:40 ? 25次阅读
        STM32单片机串口DMA解析

        STM32单片机对TFTLCD的驱动设计

        TFTLCD使用80并口,80 并口有如下一些信号线: CS: TFTLCD 片选信号。 ...

        发表于 2020-11-30 14:42 ? 54次阅读
        STM32单片机对TFTLCD的驱动设计

        STM32单片机半主机模式的应用

        若出现如下编译错误:Error: L6915E: Library reports error: __...

        发表于 2020-11-30 15:43 ? 59次阅读
        STM32单片机半主机模式的应用

        STM32单片机PID算法的原则及应用方法

        一、总体原则 PID调试一般原则 a.在输出不振荡时,增大比例增益P。 b.在输出...

        发表于 2020-11-30 15:31 ? 70次阅读
        STM32单片机PID算法的原则及应用方法

        STM32单片机定时器的时钟源设置

        名为TIMx的有八个,其中TIM1和TIM8挂在APB2总线上,而TIM2-TIM7则挂在APB1总...

        发表于 2020-11-30 15:30 ? 35次阅读
        STM32单片机定时器的时钟源设置

        如何将STM32单片机中的函数调用到入口参数

        STM32—数组作为被调用函数的入口参数时,要两个条件, 1:数组首地址 2:数组长度 ...

        发表于 2020-11-30 15:05 ? 54次阅读
        如何将STM32单片机中的函数调用到入口参数

        STM32F105系列单片机对USB设备电路的设...

        当STM32F105配置为USB设备时, PA9/OTG_FS_VBUS是用来检测presense ...

        发表于 2020-11-30 15:10 ? 85次阅读
        STM32F105系列单片机对USB设备电路的设...

        STM32单片机SysTick系统滴答功能解析

        其实,SysTick能实现的功能,都可以由TIM来实现。SysTick无非就是定时中断的功能,它完全...

        发表于 2020-11-30 14:27 ? 56次阅读
        STM32单片机SysTick系统滴答功能解析

        如何采用STM32单片机来产生PWM输出

        STM32的定时器除了基本定时器TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高...

        发表于 2020-11-30 16:27 ? 217次阅读
        如何采用STM32单片机来产生PWM输出

        如何升级STM32单片机的代码

        bootloader设置: static void check_boot_mode(void)...

        发表于 2020-11-30 15:53 ? 78次阅读
        如何升级STM32单片机的代码

        STM32单片机的PWM输入捕获模式设计

        (TIM_GetITStatus(TIM3,TIM_IT_CC1)==SET)//{ic1=TIM_...

        发表于 2020-11-30 14:50 ? 92次阅读
        STM32单片机的PWM输入捕获模式设计

        STM32单片机的FSMC对TFT的驱动

        开始只是谈到别人对FSMC的理解,注意这里只讨论FSMC控制TFT,也就是在FSMC的NOR\PSR...

        发表于 2020-11-30 14:22 ? 70次阅读
        STM32单片机的FSMC对TFT的驱动

        STM32单片机对NAND Flash的读写以及...

        NAND Flash的容量较大。整片Flash分为若干个块(Block),每个Block分为若干个页...

        发表于 2020-11-30 15:47 ? 466次阅读
        STM32单片机对NAND Flash的读写以及...

        STM32单片机对Systick心跳定时器的设计

        用途: 1.产生操作系统的时钟节拍 2.便于不同处理器之间程序移植 SysTick...

        发表于 2020-11-30 15:44 ? 80次阅读
        STM32单片机对Systick心跳定时器的设计

        如何采用STM32单片机实现IAP功能

        IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运...

        发表于 2020-11-30 15:33 ? 82次阅读
        如何采用STM32单片机实现IAP功能

        STM32单片机的独立看门狗和窗口看门狗的特点及...

        IWDG是一个独立看门狗,具有独立于系统的时钟,与片外看门狗更为相似,使用片内独立的阻容时钟发生电路...

        发表于 2020-11-30 15:28 ? 117次阅读
        STM32单片机的独立看门狗和窗口看门狗的特点及...

        如何在STM32单片机中加入RDP功能

        沿用之前CM3核的STM32F10X系列的加入RDP功能,之后在Segger的Unsecured C...

        发表于 2020-11-30 15:22 ? 87次阅读
        如何在STM32单片机中加入RDP功能

        如何利用STM32单片机串口发送字符串

        最近由于要调试一个SMS发送短信的模块,该模块需要发送一系列AT指令,且需要字符串发送,但是STM3...

        发表于 2020-11-30 16:01 ? 92次阅读
        如何利用STM32单片机串口发送字符串

        STM32单片机中的独立看门狗与窗口看门狗有哪些...

        1.关于看门狗的解释不再说明,窗口看门狗简而言之即只能看某个窗口期即某段时间内才能够喂狗。32的独立...

        发表于 2020-11-30 15:55 ? 76次阅读
        STM32单片机中的独立看门狗与窗口看门狗有哪些...

        如何采用STM32中的控制定时器Tim1实现计数...

        STM32中的高级控制定时器(Tim1)是由一个16位的自动装载计数器组成,它由一个可编程预分频器驱...

        发表于 2020-11-30 15:25 ? 121次阅读
        如何采用STM32中的控制定时器Tim1实现计数...

        如何使用STM32单片机实现DMA的同时发送和接...

        在SPI通信中,可以同时开启发送和接收DMA请求,自动数据的发送和接收,完成数据的交换 基本步...

        发表于 2020-11-30 15:26 ? 111次阅读
        如何使用STM32单片机实现DMA的同时发送和接...

        STM32单片机优先级的定义

        先占优先级也就是抢占优先级,概念等同于51单片机中的中断。假设有两中断先后触发,已经在执行的中断先占...

        发表于 2020-11-30 15:09 ? 87次阅读
        STM32单片机优先级的定义

        如何计算单片机的波特率

        在这个公式上,共有三个变量,其中两个我们是知道的,Fck和Tx/Rx波特率这两个是已知的,USART...

        发表于 2020-11-30 16:15 ? 122次阅读
        如何计算单片机的波特率

        STM32单片机的USART接收数据问题解决方案

        先使用USART中断函数接收数据,判断是否接收到每帧数据的起始标记字符。如果接收到就关闭USART中...

        发表于 2020-11-30 15:36 ? 87次阅读
        STM32单片机的USART接收数据问题解决方案

        如何采用STM32单片机产生PWM

        STM32产生PWM是非常的方便的,要需要简单的设置定时器,即刻产生! (1)使能定时器时钟:...

        发表于 2020-11-30 15:36 ? 134次阅读
        如何采用STM32单片机产生PWM

        如何构建STM32单片机keil的开发环境

        在工程文件下,新建Startup、Headers、User、Libraries、CMSIS、List...

        发表于 2020-11-30 14:52 ? 105次阅读
        如何构建STM32单片机keil的开发环境

        STM32单片机USB速度慢的原因解析

        全速的USB设备,最大速度12Mb/s,但是如果跑的是HID之类慢速设备的协议,那么速度就没有那么快...

        发表于 2020-11-30 15:06 ? 164次阅读
        STM32单片机USB速度慢的原因解析

        STM32单片机的EXIT中断解析

        工程概要说明:定义一个按键(可自己定义),每按键一次,响应中断一次,在中断函数中LED提示灯变化一次...

        发表于 2020-11-30 15:04 ? 118次阅读
        STM32单片机的EXIT中断解析

        STM32单片机GPIO寄存器的功能解析

        对于GPIO端口,每个端口有16个引脚,每个引脚的模式由寄存器的四个位控制,每四位又分为两位控制引脚...

        发表于 2020-11-30 14:54 ? 176次阅读
        STM32单片机GPIO寄存器的功能解析

        STM32单片机对ADS1246芯片的驱动

        ADS1246的SPI时序,这个是需要提一下的,一般来说,SPI协议在上升沿锁存数据,下降沿更新数据...

        发表于 2020-11-30 14:39 ? 111次阅读
        STM32单片机对ADS1246芯片的驱动

        STM32单片机的can总线的配置

        CAN_InitStructure.CAN_TTCM=DISABLE;//禁止时间触发通信模式 ...

        发表于 2020-11-30 14:31 ? 202次阅读
        STM32单片机的can总线的配置

        STM32单片机的SYSTick定时器的设置

        SysTick 是一个24 位的倒计数定时器,当计到0 时,将从RELOAD 寄存器中自动重装载定时...

        发表于 2020-11-30 14:27 ? 97次阅读
        STM32单片机的SYSTick定时器的设置

        STM32单片机FSMC的使用解析

        LCD有如下控制线: CS:Chip Select片选,低电平有效 RS:Registe...

        发表于 2020-11-30 14:17 ? 96次阅读
        STM32单片机FSMC的使用解析

        STM32单片机如何实现规则多通道转换

        DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR...

        发表于 2020-11-30 16:22 ? 135次阅读
        STM32单片机如何实现规则多通道转换

        STM32单片机的断言机制函数assert_pa...

        这个宏定义的作用就是检查参数PERIPH,判断参数PERIPH是否为GPIOX(A.。.G)基址中的...

        发表于 2020-11-30 16:10 ? 119次阅读
        STM32单片机的断言机制函数assert_pa...

        如何采用STM32单片机实现SPI的驱动

        void SPI_cfg(void){ SPI_InitTypeDef SPI_InitStr...

        发表于 2020-11-30 15:56 ? 128次阅读
        如何采用STM32单片机实现SPI的驱动

        STM32单片机对红外接收系统的设计

        红外接收头一般是接收、放大、解调一体头,一般红外信号经接收头解调后,数据“0”和“1”的区别通常体现...

        发表于 2020-11-30 15:32 ? 116次阅读
        STM32单片机对红外接收系统的设计

        STM32单片机的IAP向量问题解决方案

        // 1:复制用户代码中的中断向量表到SRAM首地址 // 2: 开启SRAM的重映射功能,将...

        发表于 2020-11-30 15:24 ? 110次阅读
        STM32单片机的IAP向量问题解决方案

        STM32单片机的ADS1115通过模拟I2C驱...

        收获:对于I2C通信协议的理解更加深刻,对ADS1115也能进行单通道的使用。I2C的开始、发送/读...

        发表于 2020-11-30 16:49 ? 127次阅读
        STM32单片机的ADS1115通过模拟I2C驱...

        STM32单片机SPI的使用原理解析

        GPIO_InitTypeDef GPIO_InitStructure; //配置SPI2管脚...

        发表于 2020-11-30 16:35 ? 104次阅读
        STM32单片机SPI的使用原理解析

        STM32单片机重映射USART设计

        外部中断(EXTI)中与AFIO有关的寄存器是AFIO-EXTICR1、2、3,它们是用来选择EXT...

        发表于 2020-11-30 16:27 ? 79次阅读
        STM32单片机重映射USART设计

        STM32单片机的ADC多通道采样

        这里使用的是3362电位器(10K),即用STM32来测量PB0和GND两端的电压,这样的电路设计比...

        发表于 2020-11-30 16:12 ? 132次阅读
        STM32单片机的ADC多通道采样

        STM32单片机的CPU运行性能的算法测试

        此算法是基于操作系统的,理论上不限于任何操作系统,只要有任务调度就可以。本文将以FreeRTOST为...

        发表于 2020-11-30 16:01 ? 316次阅读
        STM32单片机的CPU运行性能的算法测试

        如何将STM32单片机的JTAG口作为GPIO使...

        针对F4系列,STM32F4库函数中,已经取消了GPIO_*PinRemapConfig()函数,对...

        发表于 2020-11-30 16:43 ? 115次阅读
        如何将STM32单片机的JTAG口作为GPIO使...

        STM32单片机的usb上电和断电函数的定义

        usb_pwr.c 这个文件看文件名就知道跟功耗有关了,有很多的状态:上电、掉电、挂起、恢复。

        发表于 2020-11-30 16:35 ? 106次阅读
        STM32单片机的usb上电和断电函数的定义

        STM32单片机对CAN过滤器的设置方法

        在使用STM32的CAN控制器进行数据收发,当用到位屏蔽模式的时候,就要设置过滤器了,这个关系到是否...

        发表于 2020-11-30 16:25 ? 123次阅读
        STM32单片机对CAN过滤器的设置方法

        如何通过STM32驱动nRF24L01发送数据

        最近在一个项目中用到了nRF24L01这个无线2.4G收发芯片,项目中有主机和分机,默认都是使用数据...

        发表于 2020-11-30 15:53 ? 104次阅读
        如何通过STM32驱动nRF24L01发送数据

        STM32单片机ADC的模拟看门狗的测试

        ADC的模拟看门狗用于检查电压是否越界。他又上下两个边界,可分别在寄存器ADC_HTR和ADC_LT...

        发表于 2020-11-30 16:49 ? 149次阅读
        STM32单片机ADC的模拟看门狗的测试

        STM32单片机对正交编码器的驱动

        STM32正交编码器驱动,引入(突变)带进位的位置环和速度环

        发表于 2020-11-30 16:12 ? 70次阅读
        STM32单片机对正交编码器的驱动

        如何利用STM32单片机发送字符串

        一、STM32有自己的字符发送函数。 void PC_SendChar(uint8_t Dat...

        发表于 2020-11-30 15:26 ? 123次阅读
        如何利用STM32单片机发送字符串

        基于STM32单片机的USB时钟配置设计

        RCC_DeInit();//将外设RCC寄存器重设为缺省值 /*EnableHSE*/ ...

        发表于 2020-11-30 15:20 ? 108次阅读
        基于STM32单片机的USB时钟配置设计

        STM32单片机的低功耗模式待机唤醒设计

        将程序下载到开发板上后,LED灯会不断地亮灭,当按下KEY2键超过3s时,LED灯灭,标志着单片机进...

        发表于 2020-11-30 14:40 ? 117次阅读
        STM32单片机的低功耗模式待机唤醒设计

        STM32的ADC单次转换设计

        //先配置IO口: ADC_InitTypeDef adcInitStruct; ///...

        发表于 2020-11-30 15:40 ? 111次阅读
        STM32的ADC单次转换设计

        STM32的ADC编程方法总结

        这里的ADC转换也来使用DMA---这个也是STM32的ADC转换最常见的方式。 第一步是了解...

        发表于 2020-11-30 15:30 ? 201次阅读
        STM32的ADC编程方法总结

        STM32单片机在KIEL4配置开发中的设置

        开发环境:KIEL4,芯片STM32F103VCT6:釼C3.5 1.配置开发环境。 2....

        发表于 2020-11-30 15:01 ? 79次阅读
        STM32单片机在KIEL4配置开发中的设置

        STM32单片机TIM模块定时器向上溢出的输出比...

        首先有一点需要注意:FWLib固件库目前的最新版应该是V2.0.x,V1.0.x版本固件库中,TIM...

        发表于 2020-11-30 16:20 ? 143次阅读
        STM32单片机TIM模块定时器向上溢出的输出比...

        在keil中仿真stm32单片机

        发表于 2020-11-30 06:54 ? 803次阅读
        在keil中仿真stm32单片机

        STM32串口SPI主从通信源程序

        发表于 2020-11-30 03:08 ? 603次阅读
        STM32串口SPI主从通信源程序

        在keil中仿真stm32单片机

        发表于 2020-11-30 01:20 ? 207次阅读
        在keil中仿真stm32单片机

        电流检测哪种方法好用?

        发表于 2020-11-30 20:37 ? 6346次阅读
        电流检测哪种方法好用?