硬汉嵌入式论坛

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

[RTOS] Undefined symbol ISB (referred from os_core.o).

[复制链接]

24

主题

70

回帖

142

积分

初级会员

积分
142
发表于 2020-4-16 22:47:55 | 显示全部楼层 |阅读模式
使用STM32CubeMX工程生成的CMSIS及STM32H7xx_HAL_Driver,编译ucosiii时出现如下错误提示,请问是什么原因?
../Software/uCOS-III/Source/os_core.c(522): warning: implicit declaration of function 'ISB' is invalid in C99 [-Wimplicit-function-declaration]

../Software/uCOS-III/Ports\os_cpu.h(109): note: expanded from macro 'OS_TASK_SW_SYNC'
#define  OS_TASK_SW_SYNC()          ISB()


linking...
.\output\output.axf: Error: L6218E: Undefined symbol ISB (referred from os_core.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\output\output.axf" - 1 Error(s), 1 Warning(s).



STM32CubeMX使用的是MDK V5.27
KEIL使用的是AC6
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2020-4-17 00:03:32 | 显示全部楼层
为H7配套的uCOS-III模板也是可以用于MDK AC6的,提供个模板
http://www.armbbs.cn/forum.php?m ... 3592&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2020-4-17 09:01:27 | 显示全部楼层
模板本身没有问题,我现在用STM32CubeMX(MDK V5.27)产生的STM32H7xx_HAL_Driver及CMSIS,然后用AC6编译,始终出现这个错误
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2020-4-17 09:04:09 | 显示全部楼层
eric2013 发表于 2020-4-17 00:03
为H7配套的uCOS-III模板也是可以用于MDK AC6的,提供个模板
http://www.armbbs.cn/forum.php?mod=viewthre ...

模板本身编译没问题,我现在使用STM32CubeMX(MDK V5.27)产生的CMSIS及STM32H7xx_HAL_Driver,然后项目用AC6编译,始终出现这个错误提示
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2020-4-17 10:13:49 | 显示全部楼层
utyang 发表于 2020-4-17 09:04
模板本身编译没问题,我现在使用STM32CubeMX(MDK V5.27)产生的CMSIS及STM32H7xx_HAL_Driver,然后项目 ...

肯定无法通过啊,因为是这么写的

#define  OS_TASK_SW_SYNC()          __ISB()
回复

使用道具 举报

24

主题

70

回帖

142

积分

初级会员

积分
142
 楼主| 发表于 2020-4-17 11:02:04 | 显示全部楼层
eric2013 发表于 2020-4-17 10:13
肯定无法通过啊,因为是这么写的

#define  OS_TASK_SW_SYNC()          __ISB()

不好意思,第一个贴有点问题,代码就是#define  OS_TASK_SW_SYNC()          __ISB(),这样也编译不过的
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2020-4-17 11:13:07 | 显示全部楼层
utyang 发表于 2020-4-17 11:02
不好意思,第一个贴有点问题,代码就是#define  OS_TASK_SW_SYNC()          __ISB(),这样也编译不过的

剩下自己对比下吧,应该没啥难度了。
回复

使用道具 举报

3

主题

110

回帖

119

积分

初级会员

积分
119
发表于 2021-12-28 12:27:05 | 显示全部楼层
ac6就是armclang了,在keil安装包的pack里面有cmsis,里面有个cmsis_armclang.h,定义了__ISB() 为builtin_arm_isb(0xf),在os_cpu.h里面把__ISB改成它,可以通过编译,用的GD32F105,板子还没回,不知道烧录之后怎么样。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 22:43 , Processed in 0.213020 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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