您的位置 首页 ADAS

如安在STM32单片机上移植FreeRTOS

如何在STM32单片机上移植FreeRTOS-首先在网上看到大部分移植FreeRTOS 都是选择修改他的启动文件,我个人感觉这样不是很好,毕竟是汇编,当你采用不同的芯片型号时,又要修改不同的xx.S文件,所以我选择修改FreeRTOSconfig.h文件。

首先在网上看到大部分移植FreeRTOS 都是挑选修正他的发动文件,我个人感觉这样不是很好,毕竟是汇编,当你选用不同的芯片型号时,又要修正不同的xx.S文件,所以我挑选修正FreeRTOSconfig.h文件。

1. 下载STM32官方源码:我的是根据V3.5的官方库(有工程模板的能够不必)。

2. 树立好一个MDK的工程,我这儿选用的是野火的工 程。

3. 在工程模板目录下新建一个FreeRTOS文件夹,在FreeRTOS文件夹在建一个includewen文件夹(寄存.h文件,便利办理)。

(1)从FreeRTOS7.0.2 的源文件中找到 crouTIne.c, TImers.c,list.c, queue.c, tasks.c这五个源文件,方位为: FreeRTOS7.0.2-》Source;复制文件至FreeRTOS文件夹下。

(2)从FreeRTOS7.0.2的源文件中找到heap_2.c文件,方位Source-》portable-》MemMang-》heap_2.c,复制至FreeRTOS文件夹。

(3)复制.h文件到指定文件夹(。./FreeRTOS/include文件夹)中: 1. 复制FreeRTOS7.0.2的源代码下的include文件夹里的悉数.h文件至新树立的include文件夹里,方位: :FreeRTOSv7.0.2-》Source-》include

(4)从FreeRTOS7.0.2的源文件中找到portmacro.h文件复制至新树立的include文件夹里,文件方位 :FreeRTOSv7.0.2-》Source-》portable-》RVDS-》ARM_CM3 -》portmacro.h

(5)由于我运用的是Keil-MDK作为开发工具,运用的是STM32F103VET6为方针芯片,所以需求从FreeRTOS7.0.2的源文件中找到匹配我这个开发工具与方针芯片的config.h的配置文件。这个文件在Demo文件夹中,把这个配置文件复制到include文件夹内,配置文件方位在CORTEX_STM32F103_Keil文件夹下: FreeRTOSv7.0.2-》Demo-》CORTEX_STM32F103_Keil-》FreeRTOSConfig.h

4. 在工程中增加各体系文件(这儿就不必我说了吧),配上一张图

5. 设置好途径,

6. 接下来便是修正文件了

7. 1. 在FreeRTOS的demo文件夹中复制对应的FreeRTOSConfig.h文件后,需求参加一行: #define configUSE_MUTEXES 1

在FreeRTOSConfig.h文件中界说如下几行,这姿态就不必改规范的发动文件了!(不必百度的办法)这儿选用重定向的办法。

#definevPortSVCHandlerSVC_Handler#definexPortPendSVHandlerPendSV_Handler#definexPortSysTIckHandlerSysTIck_Handler12345

stm32fxxx_it.c 中需求删去默许的3个中止空函数,便是上面define的3个空函数。由于FreeRTOS的port.c中界说了它需求的这3个中止函数。也便是SysTick_Handler、PendSV_Handler、SVC_Handler这三个函数。

在编译一下就好了,完结移植了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/346167.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部