久芯网

Keil5提示__segment_end未定义

avatar 灰泥鳅 提问时间: 2023-08-27 08:30:02 / 未解决

编译后的错误信息如下:

.\Objects\GD_LiteOSTest.axf: Error: L6218E: Undefined symbol __segment_end (referred from los_init.o).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\Objects\GD_LiteOSTest.axf" - 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed:  00:00:01

问题代码在这里:
  #pragma segment="HEAP"
  #define LOS_HEAP_MEM_BEGIN    (__segment_end("HEAP"))
  #define LOS_HEAP_MEM_END      BOARD_SRAM_END_ADDR

目前使用的芯片是M23内核的,换M3内核的是可以正常编译的。查了下map和s文件,HEAP段都是有的。
3个回答
  • avatar 老牛洋车
    回答时间: 2023-08-27 08:47:36

    会不会是相关的头文件没有包含进来?

  • avatar 灰泥鳅
    回答时间: 2023-08-27 09:16:21
    老牛洋车 发表于 2021-7-24 08:01
    会不会是相关的头文件没有包含进来?

    感觉不太像,在Keil的帮助文档里面都搜不到这个__segment_end,不知道这些开发者在哪里找的资料。

  • avatar 灰泥鳅
    回答时间: 2023-08-27 09:39:58
    老牛洋车 发表于 2021-7-24 08:01
    会不会是相关的头文件没有包含进来?

    问题解决了,编译器设置错了,那个是IAR编译器的宏分支

会员中心 微信客服
客服
回到顶部