yanyanmolly 发表于 2018-10-26 11:01:21

(已解决)Undefined symbol __set_PRIMASK问题

本帖最后由 yanyanmolly 于 2018-10-26 14:24 编辑

在用cubemx移植freemodbus的时候遇到了开关中断函数问题,我用的stm32f407的板子在开关中断里我用的函数是
#define ENTER_CRITICAL_SECTION( )   __set_PRIMASK(1);
#define EXIT_CRITICAL_SECTION( )    __set_PRIMASK(0);
但是编译出错,错误提示是
FLASH1\FLASH1.axf: Error: L6218E: Undefined symbol __set_PRIMASK (referred from mb.o).

我跟踪错误发现提示cmsis_armcc.h里面

__STATIC_INLINE uint32_t __get_CONTROL(void)
{
register uint32_t __regControl         __ASM("control");
return(__regControl);
}

这句话提示 unkown type name '__STATIC_INLINE '之前看过一个帖子
https://www.stmcu.org.cn/module/f ... ewthread&tid=613467

里面说是缺少宏定义 想问是这个问题么 如果是宏定义怎么定义呢

yanyanmolly 发表于 2018-10-26 14:19:23

找到问题了,不是那个地方的事
在宏定义里面就是那个keil里面c/c++那加了个宏定义 __GNUC__ 就好了

baiyongbin2009 发表于 2018-10-26 12:37:09

在这个文件里面加上f4的头文件试试,应该只是此文件没有检索到。

yanyanmolly 发表于 2018-10-26 13:55:46

baiyongbin2009 发表于 2018-10-26 12:37
在这个文件里面加上f4的头文件试试,应该只是此文件没有检索到。

我加了 不管用呢

乖乖妮 发表于 2018-10-26 15:20:35

楼主怎么解决的?可以分享吗?
页: [1]
查看完整版本: (已解决)Undefined symbol __set_PRIMASK问题