编译后的错误信息如下: .\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段都是有的。 |
感觉不太像,在Keil的帮助文档里面都搜不到这个__segment_end,不知道这些开发者在哪里找的资料。
问题解决了,编译器设置错了,那个是IAR编译器的宏分支