嵌入式技术william hill官网
直播中

发生的方式

8年用户 1184经验值
擅长:处理器/DSP
私信 关注
[问答]

用RT-Studio生成nano工程移植at组件缺少libc是怎么回事?

用rt-thread Studio 生成nano 工程 自己移植at组件 但是缺少libc 编译不过,怎么手动添加libc,

2.jpg

应该是gcc没有这个吧,用mdk编译的没问题,

回帖(9)

陈勇

2023-1-31 15:14:04
你的编译工具链的选择是正确的吗?需要使用与rtt源码匹配的编译工具链呀,不然会有各种莫名其妙的问题出现。
举报

发生的方式

2023-1-31 15:14:17
studio 是不是默认的gcc啊,我不知道哪里选择,,我是用studio生成的,移植到mdk上编译是没问题的。
举报

陈勇

2023-1-31 15:14:27
使用组件还是用完整版的 RTT 吧,直接配置即用
举报

王凯

2023-1-31 15:14:36
RT-USING_LIBC的宏定义打开了没。
都用at组件了,建议还是用标准版吧,如果内存不够用,可以适当的裁剪一下,这样会比较方便一些。
举报

杨秀英

2023-1-31 15:14:44
一、建议你直接使用完整版的RT-Thread,方便,易实现;
二、我看过RT-Thread Nano的rtconfig.h文件,其中并没有AT组件;
三、如果你要在RT-Thread Nano中添加AT组件,你可能需要自己添加驱动,适配RT-Thread;这个过程就需要你深入了解AT组件和RT-Thread Nano的代码和运行过程;
举报

发生的方式

2023-1-31 15:15:03
是的,nano 是没有组件的,我想在nano上移植at组件,我移植的at组件在mdk 下是没问题的,studio 上应该用的是gcc编译,然后我不明白为什么不包含libc (只是我的猜测) 使用nano移植at组件的原因是应为使用的平台内存偏小,自己移植的at组件flash 30k就够了,然后使用的mcu平台没有适配到rt-threa的标准版,我技术有限,没去把使用的平台移植rt-thread
举报

杨秀英

2023-1-31 15:15:18
一、硬件不行的话,那就不能使用标准版的RT-Thread;
二、刚才看你说移植at组件(自己没移植过)在MDK上可以,是裸机移植的吗?如果是裸机,直接移植过来也是可以使用的吧(猜测);
三、在网上找找,可以直接裸机移植到MDK上使用的AT组件,这样既可以使用nano版本的,也可以使用AT组件
举报

发生的方式

2023-1-31 15:15:28
移植修改rt_thread标准版的AT组件,一开始是用studio 生成的nano固件,然后到后边编译报错,报错的就是标准版libc的报错,然后我直接用mdk 重新移植了一份,正常使用不报错,sscanf 这个函数,rt_thread 没有重新实现,
举报

杨秀英

2023-1-31 15:15:37
那这样的话,RT-Thread nano使用文件方式自己添加;加上你已经在MDK上移植成功的AT组件,应该能解决你的问题
举报

更多回帖

发帖
×
20
完善资料,
赚取积分