KL46 Bootloader的疑问

2019-03-26 07:57发布

看了Freescale的有关Bootloader文档,AN2295,有些疑问
1,第31页有管ICF文件这么一段描述:
icf.JPG

编辑后ROM开始地址为0x4000,Code Start地址为什么只增加了0x3FF0?(0x4400 - 0x410),而不是增加0x4000呢?2.我现在使用的是MKL46系列CortexM0+ MCU,我修改了ICF配置文件后,启动到I2C初始化的地方就挂了,如果不修改配置文件,程序运行正常。参考KL25 ICF文件配置: icf2.JPG
修改后ROM Start地址增加了0x1000,但是Code Start地址只增加了0x10C0 - 0x410 = 0xCB0,为什么不是0x1000?ROM_Start地址和code_start的地址编辑不是一一对应的吗?我按照一一对应的方式来修改,导致代码编译后不能正常运行,是还有其他需要注意的地方吗?另外文档中有这么一段描述:– The MCU with bigger/equal flash than 64 KB (2048 B flash protection block): In this casethe start of the user application should start on the second protection block plus vector tablesize. The vector table basically should be placed on the start of second protection block.– The MCU with smaller flash than 64KB: In this case the user application should start on0x800 with interrupt vectors and the application follows above the interrupt table.现在使用的MCUflash是大于64KB的,所以用户程序的起始地址应该是第二个保护块加上向量表大小。按照这么描述Flash为256K,共有32个保护块,每个保护块应该为8K。向量表大小是多少呢?3.AN2295介绍的是使用FC Protocol协议的BOOTLOADER,没有在官网上找到pc端软件,能不能给出链接,谢谢!


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。