【经验分享】基于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修改 添加头文件调用: #elifKINETIS_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文件即可。 三,结果测试 本次测试是在TWR-K53N512平台上进行,结合塔式梯度板以及串口板,实物练连接如图4所示。该例程测试需要分两部分。第一部分,利用bootloader程序以及上位机win_hc08sprg.exe下载用户应用程序到K53中;第二部分,测试应用程序是否正常工程。 图4 实物连接 1:下载应用程序 (1)配置上位机 打开串口,选择好S19应用程序,选择好波特率为9600,如图5所示。 图5上位机配置 (2)建立和K53的连接 点击图5的connect,同时按下板子的reset按键,出现图5情况即说明已经成功连接。 图6 建立连接 (3)擦除应用程序区域 点击erase按钮, 如图7所示,为擦除用户应用程序区域。 图7 擦除用户flash (4)下载用户程序 点击program按钮,即下载用户程序,结果如图8所示 图8 下载用户程序 2:用户应用程序功能测试 本次用户程序的例程是helloworld,功能即通过串口发送hello world!!,测试结果如图9所示。 图9 用户程序功能测试 四,附件 附件给出相关的bootloader修改工程以及应用测试程序的icf文件。
|