前记:最近蒙社区安惠,偶获YL-KL26Z-V2开发板一枚;一是社区中有人使用AN2295用于KL25出现连接不上的问题,二是受高手(星哥-乌鲁木齐)指教,对AN2295有了初步的认识,故业余时间决定从bootloader入手该开发板。以下是社区中相类似的帖子,此处拿来引用,并与大家分享,望原作者见谅。 原帖地址: 1、打开IAR工程如图所示,需要修改的文件如下: file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg AN2295工程的修改有如下几点: ①首先要改的是bootloader_cfg.h这个文件,默认是选用AN2295_TWR_K60_cfg.h的(包括K53的修改也是直接在这个文件中改的)。但是用于KL26或KL25就需要做如下修改: 定义KINETIS_L 并选用FRDM的配置文件(如果你的平台是tower则改为tower的平台)。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 这样修改后你会发现编译报5个error。这是由于参数检查导致的,你可以选择屏蔽掉报错的部分代码,这部分代码无关紧要。也可以按照我下面的修改方式修改。(备注:此处只是参数检测跟实际烧入到片子中的代码没有关系) ②针对第一部的报错,需要修改kinetis_params.h这个文件。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 经过以上两步操作,再次编译后,你会发现对应的头文件已经从原先的K53变为对应的KL25 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg 到这一步,聪明的你也肯定认为OK了,因为聪明的我也是二话不说烧进去试试。此处我是用IAR直接烧写的,需要做如下设置,否则不能烧写成功。打开工程的option选项,device选项选择Freescale MKL26Z128xxx4。然后就是debug选项,选择CMSIS DAP并选用SWD调试模式。之后点run可以直接将程序烧入KL26了。 file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg 打开飞卡上位机软件(基于FC协议),连接串口得到如下结果。此时,你发现上位机软件可以与arm实现通信。最后发现,KL25及KL26可以通用该基于串口的bootloader。(对于熟悉AN2295的读者,此处直接将app的S19文件偏移地址修改为0x1000就可以连接上了) file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg 到此处,针对YL-KL26Z-V2开发板平台可以实现通信,可能还存在连接不上串口的情况,之前我调试K60 bootloader时也遇到过。解决方法主要有两点,如果你要是按照我上面的方法还是不能实现与上位机通信可以试下下面的方法。 一、降低波特率试试,至于原理我也不知道,之前调试K60时遇到过不支持115200,降低成57600就OK了。小弟也查阅不少资料,但是还是一知半解,算了,还是说不知道比较好点。也望知情大牛、小牛、小菜给指点一二。 二、需要修改main.c中关于串口波特率调整部分。不多说,直接截图。据我所知,前N版的AN2295此处是加了以下判断的,但是新版的确去掉了。之前调试K60时不加这个选项就跪了,具体原因不详。(也许自己修改问题。) file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg (PS:未完待续: 下篇KEIL及IAR下USERAPP的偏移地址修改方法及Xmodem协议替换官方FC协议)
|