完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
编译后的错误信息如下:
.ObjectsGD_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. ".ObjectsGD_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段都是有的。 |
|
相关推荐
2个回答
|
|
会不会是相关的头文件没有包含进来?
|
|
|
|
从错误信息和代码中可以看出,问题出在los_init.o这个目标文件中,该文件引用了一个未定义的符号__segment_end。
在Keil5中,__segment_end是一个由编译器生成的符号,表示一个段的结束位置。通常情况下,用户不需要直接使用这个符号,而是由编译器自动处理。 出现这个错误的原因可能是由于编译器设置的问题,或者代码中存在一些错误导致编译器无法正确处理段的结束位置。 为了解决这个问题,可以尝试以下几个步骤: 1. 检查代码中是否存在语法错误或者其他编译错误。确认代码中没有错误后重新编译。 2. 检查编译器设置是否正确。确保选择了正确的目标设备和编译器版本,并且相关的编译器选项、链接脚本等设置正确。 3. 尝试重新生成工程文件或者创建一个新的工程。有时候工程文件某些设置不正确可能会导致这个问题,重新生成或者创建一个新的工程文件可以解决问题。 4. 如果使用了其他库或者外部模块,检查这些库或者模块是否与工程兼容。有时候不兼容的库或者模块也会导致类似的错误。 如果尝试了以上步骤还没有解决问题,建议查看编译器的官方文档或者寻求Keil技术支持的帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1391 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1383 浏览 1 评论
804 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
577 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1423 浏览 2 评论
1774浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
505浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
439浏览 3评论
429浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
405浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-5 13:21 , Processed in 0.905473 second(s), Total 83, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号