问题起因
想借nxp官网的bootloader例程学习下bootloader,编译时报Out of allocation space in segment ROM at address 0xFFFC86错误。
解决过程
查看其对应手册发现有两种编译选项
分别对应项目的两个后缀为.prm的配置文件
刚开始选的是FLASH-P报的错,选FLASH-R后再编译就不报错了,然后对比了bootloader-rewritable.prm和bootloader-persistent.prm文件。
bootloader-persistent.prm中
bootloader-rewritable.prm中
然后将bootloader-persistent.prm文件中0xFFF000改成0xFFE000解决了Out of allocation space in segment ROM at address 0xFFFC86报错。
FlASH-P和FLASH-R(名字根据不同的工程名字不固定)
通过了解后,大致理解为.prm文件是脚本文件,当得到一个空白的板子时,通过FLASH-P(bootloader-persistent.prm)的方式将代码固化在板子中,在后面进行程序烧录时选FLASH-R,先将代码烧录到RAM中,通过某个拷贝函数将代码固化在flash里面。这种方式的好处是,拷贝的方式让程序下载过程更安全稳定.