
代码没有问题只是说我的没有足够的信息在映像映射中列出加载地址
关注引自免费微信小程序:皆我百晓生
当您在STM32开发环境中遇到“代码没有问题,只是缺少足够的信息在映像映射中列出加载地址”的情况时,这通常意味着链接器(如GNU LD)在生成最终可执行文件时,没有正确获取到特定段或区段的加载地址。对于STM32这类嵌入式系统,我们需要确保启动文件(startup.s或system_stm32*.s)中的内存布局与链接脚本(.ld文件)相匹配,并且为每个需要的区段(如.text、.data、.bss等)指定了确切的加载和运行地址。
解决步骤如下:
检查启动文件
配置链接脚本(.ld文件)
.text、.data、.bss等)的加载地址和运行地址:
MEMORY
{
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 1024K
RAM (rwx) : ORIGIN = 0x20000000, LENGTH = 64K
}
SECTIONS
{
.text :
{
*(.text*)
*(.rodata*)
} > FLASH
.data :
{
*(.data*)
} > RAM AT> FLASH
.bss :
{
*(.bss*)
} > RAM
}
检查项目设置
重新构建并下载
调试验证
如果以上步骤未能解决问题,请进一步提供具体的错误消息或者项目的更多细节,以便给出针对性的解决方案。