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

ss

7年用户 8762经验值
擅长:电源/新能源 制造/封装 RF/无线
私信 关注
[问答]

N32G457利用rt-thread studio使能at组件的server后,不加入其他代码直接编译报错怎么解决?

N32G457开发板工程
RT-Thread版本4.0.2
利用rt-thread studio使能at组件的server后,不加入其他代码,直接编译,报错。
make -j8 all
linking...
./rt-thread/components/net/at/src/at_server.o: In function `at_server_init':
D:RT-ThreadStudioworkspaceMULTIDebug/../rt-thread/components/net/at/src/at_server.c:638: undefined reference to `__rtatcmdtab_start'
D:RT-ThreadStudioworkspaceMULTIDebug/../rt-thread/components/net/at/src/at_server.c:638: undefined reference to `__rtatcmdtab_end'
collect2.exe: error: ld returned 1 exit status
make: *** [makefile:61: rtthread.elf] Error 1
"make -j8 all" terminated with exit code 2. Build might be incomplete.



可能编译环境是某些地方没设置对。
AT组件配置如下:

出错部分的代码如下:


回帖(1)

ss

2022-3-15 11:00:56
工程中若使用 gcc 工具链,需在链接脚本中添加 AT 服务器命令表对应的 section ,参考如下链接脚本:

/* Constant data goes into FLASH */

.rodata :

{

    ...

    /* section information for RT-thread AT package */

    . = ALIGN(4);

    __rtatcmdtab_start = .;

    KEEP(*(RtAtCmdTab))

    __rtatcmdtab_end = .;

    . = ALIGN(4);

} > CODE
举报

更多回帖

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