打印

keil MDK5编译NANO100报错,semihost例程无法通过

[复制链接]
1777|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cyc2009|  楼主 | 2024-4-16 11:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
给位老师好,我的keil环境如下:
在编译NANO100工程时,遇到如下问题:
在retarget.c中找到SH_DoCommand这个函数,发现可能是版本或编译设置的问题,没被定义;
采取直接的方法,将其复制放在void SendChar(int ch)函数上面,编译失败如下:

由于水平有限,上面涉及汇编的关键词,不太理解。
希望各位老师能帮忙看看,如何修改,可以实现调试的时候使用semihost功能?
谢谢~

使用特权

评论回复

相关帖子

沙发
cyc2009|  楼主 | 2024-4-16 11:48 | 只看该作者
不好意思,不知道上面原因,漏了几个图。
环境:

使用特权

评论回复
板凳
cyc2009|  楼主 | 2024-4-16 11:49 | 只看该作者
将其复制放在void SendChar(int ch)函数上面,编译失败如下:


使用特权

评论回复
地板
AProgrammer| | 2024-4-17 09:12 | 只看该作者
我网上搜了下,怀疑下面这个:
源文件未加入项目:确保包含函数定义的源文件已经被正确地添加到Keil项目中,并且被编译。

库文件缺失或未链接:如果SH_DoCommand是某个库中的函数,那么需要确保该库已经被加入到项目中,并且在链接设置中指定了正确的库文件。

使用特权

评论回复
5
minfugan| | 2024-4-17 11:53 | 只看该作者
AProgrammer 发表于 2024-4-17 09:12
我网上搜了下,怀疑下面这个:
源文件未加入项目:确保包含函数定义的源文件已经被正确地添加到Keil项目中 ...


查一下工程选项设置里的C/C++这一项,包含的路径在本地能找到吗

使用特权

评论回复
6
AProgrammer| | 2024-4-18 10:17 | 只看该作者
楼主问题解决后,也发下哈,共同学习

使用特权

评论回复
7
cyc2009|  楼主 | 2024-8-14 20:11 | 只看该作者
AProgrammer 发表于 2024-4-18 10:17
楼主问题解决后,也发下哈,共同学习

把编译器降到V5版本,所有问题解决。

使用特权

评论回复
8
AProgrammer| | 2024-8-15 08:49 | 只看该作者
cyc2009 发表于 2024-8-14 20:11
把编译器降到V5版本,所有问题解决。

从贴图看,你最开始用的就是keil 5.37.0的啊,“降到v5版本”具体是啥版本呢?谢谢

使用特权

评论回复
评论
AProgrammer 2024-8-19 09:15 回复TA
@cyc2009 :谢谢 
cyc2009 2024-8-16 10:29 回复TA
不是keil的,是里面编译的ARM COMPLIER V5 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

56

帖子

0

粉丝