【FreeRTOS】IAR的FreeRTOSConfig.h中在添加头文件的问题

1、今天在\FreeRTOSConfig.h中添加个头文件,总是在头文件的函数定义处报错:

        Error[40]: Bad instruction

2、百度了半天也没有找到问题

3、原来是这个原因:       

        

IAR的Freertos中需加上一个portasm.s的驱动文件,而该文件需要调用

                #include <FreeRTOSConfig.h>

而若在该头文件中添加其他头文件,就会被汇编编译器一块识别了;但是汇编编译器识别不了C源码,所以报错!!

3、添加 头文件正确的位置:

所以FreeRTOSConfig.h中也标注了这个地方,头文件应该都放在这个宏定义里!!!

放到这里后,就不报错了~

心累

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: IAR移植FreeRTOS的过程可以分为以下几个步骤。首先,从FreeRTOS官方网站下载源码,并复制FreeRTOSConfig.h文件到待移植的工程目录。然后,将source目录下的源码文件全部移植到新建的IAR工程FreeRTOS文件夹。接下来,在IAR工程对portable文件夹进行裁剪,只保留IAR启动文件和内存管理的源代码。在IAR软件新建两个组,并添加文件,分别是FreeRTOS_CORE和FreeRTOS_PORTABLE,其FreeRTOS_PORTABLE选择与目标芯片相匹配的文件。添加头文件后,进行编译。在编译过程可能会遇到一些问题。比如找不到FreeRTOSConfig.h文件,可以从官方源码寻找并复制到工程目录。另外,可能会出现重复定义的问题,可以屏蔽stm32f4xx_it.c与port.c重复定义的函数。还有一些与hook相关的函数的报错,可以将configUSE_IDLE_HOOK、configUSE_TICK_HOOK、configUSE_MALLOC_FAILED_HOOK、configCHECK_FOR_STACK_OVERFLOW这些宏设置为0来关闭这些函数的定义。以上是在IAR移植FreeRTOS的大致过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [基于IAR平台FreeRTOS移植](https://blog.csdn.net/weixin_30411997/article/details/97783792)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [IAR软件移植FreeRTOS操作系统软件](https://blog.csdn.net/qq_41929416/article/details/120188581)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值