你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

从Mbed到出Nucleo-rtos-basic到Keil 5,编译问题

[复制链接]
wjjontheway 提问时间:2018-7-15 23:32 /
IDE:Keil uVison 5.18
板子:NUCLEO-F401RE
想从Mbed Online Complier导出基于Mbed OS的例子看看,编译的时候出现:mbed-os/features/nanostack/sal-stack-nanostack/source/nsconfig.h(48): error:  #5: cannot open source input file "configs/nanostack_full.cfg": No such file or directory

不知道有没有大师遇到过类似的问题。
最开始导出的是一个Nucleo-blink-led的实验,在Keil 5上编译通过后没有问题 ,通过ST_link下载到板子后可以执行。
打算再看看Mbed CLI工具中,打算用该工具试试看能否导出成功,这样子就可以离线编译和调试了。
收藏 1 评论12 发布时间:2018-7-15 23:32

举报

12个回答
wjjontheway 回答时间:2018-7-17 11:07:54

Mbed CLI 导出工程

本帖最后由 wjjontheway 于 2018-7-17 13:58 编辑

昨天晚上又搞了好久,安装了Mbed CLI, 可以导出工程。回家把截图放上来。
wjjontheway 回答时间:2018-7-17 11:29:15
导出mbed-os-example-blink时也会遇到帖子最开始的问题。在Stackv Overflow上搜到了解决办法,把Mbed OS(5.9.2)下E:\Mbed\ARMmbed-mbed-os-5.9.2\features\nanostack\sal-stack-nanostack\source\configs文件夹复制到工程的相关目录下。在Keil 下编译很耗时,但是又出现了错误:
错误类型和http://github.com/ARMmbed/mbed-os/issues/7422描述的类似。
Error: Symbol __user_perthread_libspace multiply defined (by /build/mbed-os.lib/rtos/TARGET_CORTEX/rtx5/RTX/Source/rtx_lib.xxxx.o and /build/mbed-os.lib/rtos/TARGET_CORTEX/mbed_boot.xxxx.o).
Error: Not enough information to list the image map.
Info: Unable to download. Fix the reported errors...
说__uesr_perthread_libspace 重复定义了。
突然发现这个错误也是一开始在线编译的时候出现的错误。 在线编译下[Compile] - [Compile macros]输入_RTE_ 宏,编译通过生成bin文件下载到板子上可运行。

既然在线编译时可以定义宏,想到在Keil中也能定义,因此在Keil中也增加_RTE_宏,又是漫长的编译过程。。。。。总算编译通过了。

通过ST-link可以直接下载到开发板运行。


42682722-55b89d18-86c6-11e8-900f-b5aba65b53f3.png
wjjontheway 回答时间:2018-7-17 13:35:45

Nucleo断电后bin文件没有了

本帖最后由 wjjontheway 于 2018-7-17 13:57 编辑

下载到Nucleo 板子后,每次断电再上电,之前下载到板子上的bin文件就不见了。用STM32 ST-Link Utility烧写也不管用。
xmshao 回答时间:2018-7-17 16:48:00
实在觉得折腾的话,就用现存的ST官方那么多现存的例程,还有免费编译工具trueStudio等.

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

jakecumt 回答时间:2018-7-19 10:17:54
好像是只写到rom里面去啦没有下载道flash里面 ,看看设置吧,

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

zhjb1 回答时间:2018-7-19 12:47:12
好像我在ARMMbed中下载了许多工程,多数在Keil下的能正常离线编译通过,有不少IAR的离线编译报错,要么lib找不到,要么IAR下少什么东西。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

zhdzhd 回答时间:2018-7-19 13:38:19
搜索一下提示错误的文件或文件目录,可以试着创建一下目录或复制相关的文件到相应的目录,或者在IDE中导入相关文件的路径,看看能不能通过,一般编译提示的错误都是有路可寻的。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

x5y4z3 回答时间:2018-7-20 02:34:41
这个还真是没捣鼓过,不过 ST 与 Keil 合作密切,估计应该都是支持的,可以看看新版本是否有解决些问题。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wjjontheway 回答时间:2018-7-20 09:04:34
zhjb1 发表于 2018-7-19 12:47
好像我在ARMMbed中下载了许多工程,多数在Keil下的能正常离线编译通过,有不少IAR的离线编译报错,要么lib ...

您好,想请教下从Mbed Compile在线导出工程到Keil上离线编译后,烧写到Nucleo板子上,但是每次断电后,板子上的bin文件没有了,程序也不运行了。这是什么原因呢?
zhjb1 回答时间:2018-7-20 15:03:08
在ARMMbed在线编译的bin下载的文档可以采用拷贝的方式或拖拽的方式扔到NUCLEO开发板接USB口生成的盘中,直接运行。断电后,再看盘符里,bin是看不见了,但不影响运行。试试看

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

单片机爱好者 回答时间:2019-10-22 11:05:19
导出的keil 5工程错误好多呀,,,头疼,有没有导出来最新 mbed os5的工程,共享一下,谢谢~~~
单片机爱好者 回答时间:2019-10-22 11:59:42
遇到同样问题,导出的不能编译。。。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版