STM32F10x.s 启动文件分析
FreeRTOS的源代码里,采用了自编写的启动文件,而不是用的官方的启动文件(也就是以前创建工程时必须要添加的一个.s汇编文件,文件名格式大概是startup_stm32f10x_hd.s),但其内容基本只是对这个启动文件进行简单的编辑而已,主要是自定义了中断处理函数(比如TIM2_Handle())的名称而已。关于这个文件的分析可以先学习Cortex-M3权威手册(有中文版的),大概200多页。看完这个手册可以对CM3内核有很清楚的认识,对分析操作系统的底层是很有帮助也是必要的!
IMPORT xPortPendSVHandler
IMPORT xPortSysTickHandler
IMPORT vPortSVCHandler
IMPORT vUARTInterruptHandler
IMPORT vTimer2IntHandler
__Vectors DCD __initial_sp ; Top of Stack
DCD Reset_Handler ; Reset Handler
DCD NMI_Handler ; NMI Handler
DCD HardFault_Handler ; Hard Fault Handler
DCD MemManage_Handler ; MPU Fault Handler
DCD BusFault_Handler ; Bus Fault Handler
DCD UsageFault_Handler ; Usage Fault Handler
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved
DCD 0 ; Reserved

这篇博客分析了FreeRTOS在STM32F103上的启动文件STM32F10x.s,指出其自定义中断处理函数如vPortSVCHandler,vPortUARTInterruptHandler。内容涉及中断向量表的设置、中断处理函数的定义以及CM3内核的中断优先级分组。博主建议参考Cortex-M3权威手册以深入理解STM32F10x的中断系统和FreeRTOS的底层工作原理。
最低0.47元/天 解锁文章
3148

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



