因为毕设原因第一次接触实时操作系统,在移植时出了不少问题,在此记录帮助同学们少走弯路


前期准备:IAR for MSP430和例程(可以给开发板点灯),freertos源码(GitHub下载,要保证完整,有main和kernal),开发板

首先,拿到源码之后吧kernel所有文件拷贝到...\FreeRTOS-main_2\FreeRTOS-main\FreeRTOS\Source目录下,由于5529是MSP430X系列,所以我们首先要先运行demo

位于...\FreeRTOS-main_2\FreeRTOS-main\FreeRTOS\Demo\MSP430X_MSP430F5438_IAR目录下,如果源码正常,那么可以直接双击rtosdemo.eww就可以直接make成功,如果不成功那就是源码没下完整,注意在此时先不要裁剪文档。运行demo以检测代码完整性。。。

如果成功make,那么进入下一步,裁剪文档,仅仅留下MSP430F5438_IAR相关程序,准备开始转化成5529

我在其中遇到过很多问题,包括不限于出现大量bad instruction,显示栈溢出等问题,在原来的例程里并没有解决,最终还是基于demo完成点灯

下面是具体在5529移植的过程

修改demo选择芯片5529

demo里的RegTest.s43移除掉,因为这个.s43是跟测试例程有关,然后因为5529和5438的差别,我们要修改main.c,所以原来的.s43里的定义也就不适用了,移除后就不会报错了

报错[e16]:segment data_z.........时,参考demo对stack/heap的属性,勾选override default ,将set值设为 160 4 4

修改freertosconfig.h,我标注了重点注意的一些修改处,其他的具体参见FreeRTOS - 免费 RTOS 配置常量和配置选项 - 适用于小型实时嵌入式系统的免费开源 RTOS

测试例程网上有很多,这里贴出对我帮助最大的一个帖子:https://malichao.wordpress.com/2016/01/17/running-freertos-on-launchpad-msp430f5529/comment-page-1/

最终例程成功在开发板运行,成功点灯

总的来说,基于demo出发对这个移植的帮助比参考stm32移植大,因为概括来说,基于demo只需要完成运行demo——配置config.h——运行例程就可完成,能最大程度避免出现未知错误,下面的开发就可以参考相应的基于stm32的freertos资料完成后续任务。

在IAR环境下向MSP430f5529lp移植freertos相关推荐

  1. 痞子衡嵌入式:IAR环境下无法直接下载调试i.MXRT分散链接工程的解决方案(宏文件.mac+双Flashloader)...

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IAR环境下无法直接下载调试i.MXRT分散链接工程的解决方案. 分散链接与加载一直是嵌入式领域比较劝退新手的难题,在恩智浦 i.MXR ...

  2. iar环境下c语言编程,STM8在IAR环境下的C语言开发.doc

    STM8在IAR环境下的C语言开发 STM8单片机在IAR环境下的C语言开发 头文件搜索路径设置 在工程管理窗口按右键,选择option,打开选项设置窗口如下 选择C/C++ compiler选项,然 ...

  3. IAR环境下STM32+IAP方案的实现(转)

    –基于STM32F103ZET6的UART通讯实现 一.什么是IAP,为什么要IAP  IAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x ...

  4. iar环境下c语言编程,c语言_源代码-iar环境配置.pdf

    c语言_源代码-iar环境配置 欢迎光临我的博客:/mikehendry 其实,IAR 编译环境的配置是相当重要的,没配置正确或者不符合自己的习惯的话,使用起来就会很麻烦.下面 我根据网上的经验和资料 ...

  5. LPC1768 IAR环境下使用完整64K内存的方法_整理

    https://blog.csdn.net/tpoem/article/details/98372896 原文有一点错误 这个芯片是NXP公司出的很经典的一款Cortex-M3芯片了 虽然已经过了很多 ...

  6. LPC1768 IAR环境下使用完整64K内存的方法

    这个芯片是NXP公司出的很经典的一款Cortex-M3芯片了 虽然已经过了很多年了,但是依然还有很多地方在用着 这个芯片有一个很不方便的地方 它的64K内存不是连续的! USB和片上以太网MAC各用了 ...

  7. iar环境下c语言编程,在IAR中编译C程序代码用printf调试

    一.新建一个工作区(即.eww) 选择菜单栏上的File-->Save Workspace:命名为:Test 二.新建一个工程(即.ewp) Tool chain选8051 打开"IA ...

  8. IAR环境下中断控制

    首先是中断向量表. 在lpc2xxx_cstartup.s79文件中给出了中断发生后的跳转地址, 以riq中断为例,发生中断后,pc强制为0x18,然后到0x18后需要执行 ldr   pc,[pc, ...

  9. 痞子衡嵌入式:在IAR开发环境下将关键函数重定向到RAM中执行的三种方法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在IAR开发环境下将关键函数重定向到RAM中执行的三种方法. 嵌入式项目里应用程序代码正常是放在 Flash 中执行的,但有时候也需要将 ...

最新文章

  1. 鲜为人知的静态、命令式编程语言——Nimrod
  2. AI造假 vs AI打假 终结“猫鼠游戏”不能只靠技术
  3. 利用单片机快速实现家庭智能控制平台
  4. anaconda自带python_基于anaconda来解决Python安装问题
  5. QT的QStylePainter类的使用
  6. fork/join和线程池_从fork-join /线程池调用的Singelton bean中的访问spring请求范围缓存...
  7. USACO-Section1.4 Barn Repair (贪心算法)
  8. HDU 4255 A Famous Grid 素数+BFS
  9. centos sokit_手把手教你在centos上配置Django项目(超详细步骤)
  10. mvc core2.1 Identity.EntityFramework Core 导航状态栏(六)
  11. delphi中webbrowser的用法
  12. 在线微信编辑器(构思编辑器)——如何让微信公众号文章图文设计更完美
  13. 用C语言解9×9数独 (亲测可用)(思路分析)
  14. IDEA导入插件依赖后Maven报错:java.lang.RuntimeException: Cannot reconnect.
  15. Thinkpad E431 蓝牙连接问题
  16. BLOB图像处理技术
  17. STM32夺命100问,你知道几个?
  18. 计算机及通讯公司转正申请(范文)
  19. win7无法打开设备和打印机解决
  20. Visual Studio Code 如何编写运行 C、C++ 程序?

热门文章

  1. Verilog中generate语句的用法
  2. IntelliJ IDEA 生成注册码源程序
  3. (转载)总结一下SQL语句中引号(')、quotedstr()、('')、format()在SQL语句中的用法
  4. 工业机器人远程监控解决方案
  5. 【Rust 日报】2021-11-26 使用 PyO3 从 Python 调用 Rust
  6. python字符串转日期函数
  7. tomcat端口取值范围
  8. php两个json怎么合并,合并两个json字符串
  9. 语言学与计算机交叉学科,科学网—计算机与信息科学交叉研究领域:X-informatics (转载2篇) - 章成志的博文...
  10. 如何区分生抽与老抽?