【FreeRTOS新手学习笔记】FreeRTOS系统移植示例:IAR+国产芯片Arm0内核

简述

首先不管对RTOS还是FreeRTOS有没有了解,就算什么都不懂,总要让这个系统编译的没有问题,然后跑起来才是重要的。
本文以自己学习FreeRTOS移植为例子,所用环境为IAR 国产芯片,不在FreeRTOS官方支持的芯片列表中。

参考文件以及链接

以下为FreeRTOS内核源码地址:
Github:FreeRTOS Kernel
以下为FreeRTOS工程例子,带了很多支持的Demo.
Github:FreeRTOS
其他资料:
FreeRTOS-内核官网

移植的文件列表

废话不说,直接上拷贝完的工程文件中,所有包含FreeRTOS的部分:
FreeRTOS文件目录

移植步骤

  1. 将kernel(FreeRTOS-Kernel)中include部分全部加入到项目(.c/.h 部分)。

  2. 选择kernel -> portable中,与自己编译工具和内核或芯片一样或具有相关性的文件。第一层目录是环境,第二层目录是内核。

  3. 在FreeRTOS中找到与自己芯片相关的Demo工程,并将FreeRTOSConfig.h拷贝到include文件夹中

  4. 将kernel->MemMang文件中选择一个拷贝到源文件中,本次举例采用heap_4.c。总共可选的heap文件有1/2/3/4/5. 具体差异可查阅源码的MemMang中的ReadMe文件。

  5. 将main函数替换为FreeRTOS中带hook的函数。如需要新增的函数列表为,随便参考一个Demo例子,拷贝如下的几个的定义,不然会报错。

     vApplicationMallocFailedHook
     vApplicationIdleHook
     vApplicationStackOverflowHook
     vApplicationTickHook
    
  6. 设置汇编引用FreeRTOSConfig.h 文件。因为在portasm.s中会引用该文件。

  7. 编译,并解决问题。

  8. 新增任务函数,常规操作,点灯,灭灯。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值