stm32启动文件

原创 2015年11月18日 21:16:06
这是学习FreeRTOS的第一个自己移植的demo

之前任务切换不成功,在别的例子上看到stm32f107的启动文件应该是 startup_stm32f10x_md.s而不是 startup_stm32f10x_cl.s,换成正确的启动文件,就可以切换任务了

但是stm32f107文件对应的启动文件就是startup_stm32f10x_cl.s!!!通过对比知道还要将系统时钟的中断 SysTick_Handler入口改为FreeRTOS的与硬件相关的文件port.c中去,

在port.c中对应就是xPortSysTickHandler了,所以将SysTick_Handler换成立马就可以实现任务切换了!


FreeRTOS的移植不仅仅只是将FreeRTOS的文件拷贝过来就算完事了,主要是涉及软件正常跑起来所需要的硬件相关的地方要对应起来,这里就是FreeRTOS所涉及到的硬件是

void xPortPendSVHandler( void );
void xPortSysTickHandler( void );
void vPortSVCHandler( void );

三个中断才能运行,因为利用vTaskDelay延时实现阻塞切换任务,是利用系统时钟来计时,计时就需要硬件的系统时钟中断计数来支持了,之前就是没配置正确系统时钟的中断,所以我说当系统时钟中断发生了,但是不能正确的跳转到FreeRTOS中的中断处理,任务就没法切换了!


移植的关键是正确配置软件跑起来所需要的硬件资源!比如这次FreeRTOS任务切换所需要的硬件系统时钟的中断。


在移植过程中,将FreeRTOSV8.0换成V7.3,在换的过程中,觉得不要像网上的移植文档那样,将文件都集中在include和source两个文件夹中,打乱了FreeRTOS原本的文件结构,这样做不利于后期FreeRTOS的版本升级,后期升级肯定要对比文件的,文件结构不同就不利于对比!其他比如驱动库、文件系统、lwip等其他软件包也是同样的道理。

STM32启动文件总结

一、ARM控制器一些启动简介         ARM7/ARM9内核的控制器在复位后,CPU会从存储空间的绝对地址0x000000取出第一条指令,执行复位中断服务程序的方式启动,即固定了复位后的起始...
  • E_ROAD_BY_U
  • E_ROAD_BY_U
  • 2016年08月29日 21:30
  • 1982

STM32启动文件深度解析

STM32启动过程全面解析,包括启动过程的介绍、启动代码的陈列以及深入解析。相对于ARM上一代的主流ARM7/ARM9内核架构,新一代Cortex内核架构的 启动方式有了比较大的变化。ARM7/ARM...
  • weicao1990
  • weicao1990
  • 2015年07月16日 16:41
  • 1545

keil 的stm32启动文件分析

;* 文件名          : startup_stm32f10x_hd.s ;* 库版本         : V3.5.0 ;* 说明:             此文件为STM32F10x高密度...
  • badagougou
  • badagougou
  • 2016年02月22日 14:13
  • 1281

STM32 卡在启动文件 B .处

1    程序卡在                B       .处                                                    ENDP ...
  • zhengyanan815
  • zhengyanan815
  • 2017年08月21日 15:30
  • 395

STM32 - Keil中启动文件的选择和固件库宏定义

STM32 - Keil中启动文件的选择和固件库宏定义 ● 启动文件的选择 1. Low-density devices (STM32F10nx4 = 16k, STM32F10nx6 = 32k...
  • u013385925
  • u013385925
  • 2016年04月15日 23:23
  • 1372

IAR + STM32固件库 启动文件startup_stm32f10x_hd.s功用及注释

startup_stm32f10x_hd.s文件模块功能: 设置初始堆栈指针; 用ISR异常处理程序地址来设置向量表条目; 配置系统时钟,配置安装在STM3210E-EVAL板子上被用作数据内存外部s...
  • guozhongwei1
  • guozhongwei1
  • 2015年12月08日 21:51
  • 3981

STM32的启动文件的选择(由容量大小决定)

给STM32写程序时,我们需要在工程文件中加入厂家提供的启动文件(这里以STMf10x系列为例),里面包含的是启动代码,启动代码是一段和硬件相关的汇编代码。是必不可少的!这代码主要作用如下:    ...
  • m0_37697335
  • m0_37697335
  • 2017年10月03日 20:06
  • 96

STM32启动文件

main函数之前究竟发生了什么:http://blog.csdn.net/norains/article/details/6052029 STM32启动代码概述:http://www.worlduc...
  • u013794647
  • u013794647
  • 2016年04月27日 14:48
  • 180

STM32F4XX启动文件分析

STM32F4XX启动文件分析
  • u013904227
  • u013904227
  • 2016年04月16日 15:56
  • 1922

STM32的CM3文件夹中的文件说明

1,Cortex-M3内核及其设备文件(core_cm3.h + core_cm3.c),        访问Cortex-M3内核及其设备:NVIC,SysTick等;       访问Co...
  • chenbang110
  • chenbang110
  • 2012年07月16日 10:37
  • 659
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:stm32启动文件
举报原因:
原因补充:

(最多只允许输入30个字)