硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5221|回复: 0
收起左侧

[MDK] MDK4.54不支持的C中嵌套汇编的形式,实际测试包括4.72在内的之后版本开始支持了,4

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107567
QQ
发表于 2015-5-11 10:47:22 | 显示全部楼层 |阅读模式
在升级FreeRTOS到新版的V8.2.0时发现了这个问题,很郁闷.
在FreeRTOS源码的portmacro.h文件里面有这种形式的C里面嵌套汇编:
======================

#ifndef portFORCE_INLINE
    #define portFORCE_INLINE __forceinline
#endif


static portFORCE_INLINE void vPortSetBASEPRI( uint32_t ulBASEPRI )
{
    __asm
    {
        /* Barrier instructions are not used as this function is only used to
        lower the BASEPRI value. */
        msr basepri, ulBASEPRI
    }
}


===============================================================================
在MDK4.54上面会报错:
..\..\FreeRTOS\portable\RVDS\ARM_CM4F\portmacro.h(209): error:  #1113: Inline assembler not permitted when generating Thumb code
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-6 04:32 , Processed in 0.153787 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表