本帖最后由 FSL_TICS_ZJJ 于 2014-9-10 17:18 编辑
【经验分享】基于AN2295的K53bootloader修改步骤 作者:FSL_TICS_ZJJ, FSL_TICS_ZP 一,经验分享简介 从之前FSL_TICS_ZP的三篇经验分享AN2295 bootloader文档解析中,大家可以了解到bootloader的基本知识以及建立连接的过程。另外,在AN2295的文档中,也讲了些基本的修改方法,但是实际中,还是有些客户在修改的过程中发现了问题,所以这里以K53芯片为例,讲解如何修改AN2295为K53的bootloader并下载调试。 二,K53 bootloader的修改步骤 AN2295的kinetis例程,默认是针对K60的,所以如果要修改为K53,就需要修改相关的一些引用头文件。除了AN2295的例程需要修改之外,再烧录用户程序的时候,还需要修改用户程序的相关flash分配文件,将用户程序重新定向到非bootloader的flash区域。下面分两部分讲解K53bootloader程序的修改以及应用程序的相关修改。 1,K53 bootloader程序修改 AN2295工程的修改有如下几点: (1)文件AN2295_TWR_K60_cfg.h修改 需要屏蔽掉“"#define KINETIS_MODELK60_100MHz”,然后加上“#define KINETIS_MODEL K53_100MHz” ,这个主要用于后续的K53头文件调用。 (2)文件kinetis_params.h修改 添加K53_100MHZ的定义: #define K53_100MHz 0x5310 用于后续K53头件的调用。 (3)文件main.h修改 添加头文件调用: #elif KINETIS_MODEL== K53_100MHz #include "MK53DZ10.h" 上述(1),(2)两点都是为了第三点的K53头文件调用服务。 修改之后,重新编译工程,大家可以发现编译之后bootloader.C调用的是MK53DZ10.h了,这里以IAR工程为例。如图1所示: 图1 K53头文件调用 2,K53应用程序修改 K53应用程序的修改,主要是修改工程中的icf文件,将应用程序重新定义到新的flash地址,并且拷贝中断向量表等。本次以MK53DN512ZCMD10芯片以及IAR工程为例,讲解如何修改IAR工程的ICF文件。通过MK53DN512ZCMD10的用户手册可以知道,该芯片的Pflash有512KB,地址为:0x00000000- 0x0007FFFF。K53的内存分配情况如图2,需要把中断向量表拷贝到0x4000, 然后用户的实际代码从0x4410开始存放。 图2 K53内存分配情况 用户程序的修改就需要修改icf文件,使得中断向量表地址由0x00000000偏移到0x00004000,用户代码地址由0x00000410偏移到0x00004410。修改512KB_Pflash.icf如下: 图 3 512KB_pflash.icf 修改情况 修改好之后,只需要编译生成.srec文件即可。
|