wjjontheway 发表于 2018-7-15 23:32:25

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

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工具中,打算用该工具试试看能否导出成功,这样子就可以离线编译和调试了。

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 重复定义了。
突然发现这个错误也是一开始在线编译的时候出现的错误。 在线编译下 - 输入_RTE_ 宏,编译通过生成bin文件下载到板子上可运行。

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

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


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等.

jakecumt 发表于 2018-7-19 10:17:54

好像是只写到rom里面去啦没有下载道flash里面 ,看看设置吧,

zhjb1 发表于 2018-7-19 12:47:12

好像我在ARMMbed中下载了许多工程,多数在Keil下的能正常离线编译通过,有不少IAR的离线编译报错,要么lib找不到,要么IAR下少什么东西。

zhdzhd-174422 发表于 2018-7-19 13:38:19

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

x5y4z3 发表于 2018-7-20 02:34:41

这个还真是没捣鼓过,不过 ST 与 Keil 合作密切,估计应该都是支持的,可以看看新版本是否有解决些问题。

wjjontheway 发表于 2018-7-20 09:04:34

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

您好,想请教下从Mbed Compile在线导出工程到Keil上离线编译后,烧写到Nucleo板子上,但是每次断电后,板子上的bin文件没有了,程序也不运行了。这是什么原因呢?
页: [1] 2
查看完整版本: 从Mbed到出Nucleo-rtos-basic到Keil 5,编译问题