本帖最后由 shipeng1989 于 2024-7-21 12:43 编辑
最近在研究TivaC系列芯片TM4C123AH6PM的bootloader串口升级功能,由于application部分之前就有了,所以只需要做好bootloader之后将原来的application工程的link地址放到bootloader的跳转地址就完事了。当我改完了ccs的cmd文件后一编译,意外出现了。编译器报错#10264 DEFAULT memory range overlaps existing memory range FLASH和#10264 DEFAULT memory range overlaps existing memory range SRAM。编译失败。这下我彻底没招了,网上一顿搜索下来有说是工程选项里面配置包含文件重复包含的,结果我查看我的配置并没有这个问题,最后英文资料看了两天也没找到问题的解决办法。最后在TI社区找到了关键结果:https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/393965/default-memory-range-overlaps-existing-memory-range问题的关键在我项目中有使用了TI-RTOS,在TI-RTOS中有定义一个复位向量(resetVecs)加载地址loadAddress,这个地址默认是0。在没有bootloader时是没有问题的,但是有了bootloader后这个地址要改为application的起始地址(我的地址是0x2800),否则就会出现前文出现的编译错误。
|