1、 前言
1.1 FreeRTOS操作系统的移植,自己在移植过程中遇到的一些问题。将它记录下来,希望对读者有帮助。大家共同成长
1.2 FreeRTOS有官方的源码,但是太过于庞大不适合我们用。
2、准备
从FreeRTOS官方下载一份源码,到本地。
说明:FreeRTOS官方源码地址:https://www.freertos.org/a00111.html
下载FreeRTOS源码的版本,图片来自FreeRTOS官方的页面

3、先展示一下结果,移植完的代码目录结果,编译无错误无警告。
3.1 代码结果目录

3.2 编译无错误无警告

4、现在我们正式开始移植
1、在本地IAR工程新建一个FreeRTOS,由于我这里写的有误RTOS

本地下载FreeRTOS关于源码

2、移植source中的文件夹,将官方源码中source目录源码全部移植到我们建立的IAR工程FreeRTOS文件中。

3、在本地IAR工程中RTOS中portable进行裁剪,只保留以下两个文件夹。
IAR:IAR软件启动的文件
MemMang:内存管理的源代码

4、在IAR软件中新建两个组,并添加文件。这两个组FreeRTOS_CORE和FreeRTOS_PORTABLE
4.1 FreeRTOS_CORE组

4.2 FreeRTOS_PORTABLE
由于我是用的stm32f4xx的系列在移植FreeRTOS源码选择CM4F相关的文件。

memMangs是内存管理中,我选择heap_4.c,至于其他几个没有细看了。

5、在IAR软件添加头文件

6、开始编译。
1、FreeRTOSConfig.h 找不到。

这是因为缺少FreeRTOSConfig.h文件,我们也可以自己创建,这不是明智的选择。我们选择从官网源码中寻找。

它是FreeRTOS的配置文件,一般都是操作裁剪,配置通过此文件完成。通过宏实现的。
2、重复定义

这是由于 port.c 中与 stm32f4xx_it.c ,都有关于三个函数 SVC_Handler PendSV_Handler SysTick_Handler定义,所有我们屏蔽 stm32f4xx_it.c的三个。
3、 hook相关的函数

修改前

修改后的
这些报错的函数末尾都是以 hook结尾的,这是因为freertosconfig.h 开始了这些函数。我们关闭就可以了 configUSE_IDLE_HOOK configUSE_TICK_HOOK configUSE_MALLOC_FAILED_HOOK configCHECK_FOR_STACK_OVERFLOW 将他们设置为0

修改之后再次编译,发现没有报错。

注:
1、若有侵权,请联系作者删除。
2、欢迎各位点评,在评论区留言。
3、期待你的点赞,是对作者最大的鼓励

IAR软件移植FreeRTOS操作系统软件相关推荐

  1. 在做嵌入式开发的时候难免手抖,IAR软件窗口恢复操作

  2. 转发:stm32 移植 freertos

    原链接:http://www.51hei.com/bbs/dpj-106526-1.html 看到一篇stm32移植freertos的文章,讲述的最完整. 前言: 由于之前听过太多人抱怨移植FreeR ...

  3. FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS

     上一次,我们简单的测试了FreeRTOS的基于IAR EWARMv6.4和STM32F103VET6平台的Demo,对其有了一个基本认识.接下来我们开始自己移植FreeRTOS的过程. 1.创建 ...

  4. 正版软件 |Windows 10 家庭版操作系统软件 终身授权

    正版Windows 10 家庭版操作系统,一款非常适合家庭用户的操作系统,它综合了多个功能和特性,提供更好的用户体验和更高的可靠性,是完美地适应于家庭和教育高校等各种使用场景. Windows 10 ...

  5. Cortex M33处理器下移植FreeRTOS V10.2.0的操作记录

    1.前言 本文记录了本人使用Keil V5.28向Cortex M33处理器下的一款MCU进行FreeRTOS V10.2.0的移植操作,过程中描述如存在不当或错误之处欢迎指正. 2.FreeRTOS ...

  6. 【正版软件】Windows 11/10 专业工作站版操作系统软件 终身使用,支持迁移。

    使用人群:数据科学家.CAD 专业人员.研究人员.媒体制作团队.平面设计师和动画师 Windows 11/10 专业工作站版操作系统软件,专为具有高级工作负载和数据需求的人设计. Windows 11 ...

  7. stm32f429igt6跑linux,TouchGFX在STM32F429IGT6上的移植(FreeRTOS版本)

    TouchGFX在STM32F429IGT6上的移植(FreeRTOS版本) TouchGFX在STM32F429IGT6上的移植(FreeRTOS版本) 目录 一.移植环境 二.应用框架 三.Tou ...

  8. GD32F407 移植FreeRTOS+Lwip

    文章目录 移植过程 移植FreeRTOS 源码拷贝 FreeRTOSConfig.h 注意事项 移植LWIP 源码拷贝与编译 初始化 移植过程 freeRTOS V10.4.5 下载 https:// ...

  9. IAR中移植UCOS II系统以及sourceInsight 使用

    ucos 学习笔记 1 sourceInsight 使用 CSDN参考链接 新建工程 第一步:project中new project 第二步:在高亮部分输入工程的地址,工程文件夹与IAR工程文件夹放在 ...

  10. 操作系统软件层次结构及硬件资源管理能力设计

    先阅读计算机硬件结构历史简介: https://blog.csdn.net/starcraft501/article/details/100806378 操作系统层次结构 操作系统软件可以分为两部分: ...

最新文章

  1. 长春8中2021年高考 成绩查询,长春八中2018高考喜报成绩、本科重本上线人数情况...
  2. 手把手教你入门和实践特征工程 的全方位万字笔记,附代码下载
  3. T-SQL 实用函数总结
  4. 目前网络时间服务有哪几种协议?
  5. 关联规则mlxtend的应用
  6. 若依启动sentinel教程
  7. 双击背面截图_如何通过点击iPhone背面快速截图,只需一个简单设置
  8. 团队作业第六次-团队Github实战训练
  9. oracle优化方法,九大Oracle性能优化基本方法详解
  10. ADNI影像数据解析及下载
  11. eplan p8详细安装步骤文库_EPLAN_P8_2.1.6 安装步骤
  12. 应届生比老员工更吃香?为什么大厂都在抢应届生
  13. ubuntu 下使用unixbench 这种benchmark 工具测试系统性能
  14. 大数据发展前景及发展战略分析
  15. 什么是网易企业邮箱客户端专有协议?
  16. python中fun函数求1+2…+n_功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函 数中由键盘输入n值,并输出运算结果。请编写fun 函数...
  17. Python读取中文路径时的处理
  18. 周转时间,平均周转时间,带权周转时间
  19. 获取手机屏幕上点击位置的坐标
  20. duet二重奏hp_《二重奏》Duet

热门文章

  1. ReactNative配合node.js实现的公司通讯录管理app
  2. java IO流:字节流、字符流
  3. 手机CAD如何快速看图下载?
  4. android autolayout教程,Android中AutoLayout的使用
  5. LaTeX数学符号大全
  6. python调用arcpy函数_AGS Python开发-ArcPy开发基础
  7. 韩顺平--Java坦克大战
  8. Chrome谷歌浏览器登入指引
  9. 如何在HTML中输入英语音标符号,电脑上如何输入国际音标?
  10. sob攻略超详细攻略_【五一四天旅游攻略】凤凰古城和长沙旅游攻略,超详细!可以参考...