基于ISP模式的NXP系列单片机烧录过程分析论文_胡晓林

(安徽省消防电子工程技术研究中心 蚌埠依爱消防电子有限责任公司 安徽蚌埠 233000)

摘要:针对NXP系列单片机,在生产过程中需要添加产品序列号的问题,对LPC1788单片机在ISP模式下烧录过程进行了分析,并通过编写上位机软件,实现了在烧写过程中添加产品序列号的功能,本文详细介绍了LPC1788单片机程序烧录过程,以及数据采集过程。

关键词:ISP(在系统编程);烧录;采集

LPC17XX系列单片机提供多种程序烧录方案,引导代码可以通过对空片进行初始编程、对事先已编程的芯片进行擦除和再编程,或者通过运行系统中的应用程序对Flash存储器进行编程。本文主要介绍通过引导加载器软件和UART0串口对片上Flash存储器进行编程或再编程的方法,既ISP在系统编程。通过本文的一些经验描述,希望为以后进行相关软件编写的人员提供一些参考建议,以减少工作量。

1、数据获取

想要分析出软件烧录过程,必须想办法获取烧录过程中收、发数据信息,这里提供一种简单的方法获取数据,我们可以通过portmon串口监视或ComSpyApp监视软件进行COM口数据监视,烧程序软件为Magic Flash。这样,整个烧录过程就在我们掌握之中了。如下图1所示:

图1 串口监视软件

2、协议分析

获取了数据后,这里我们就需要对获取的数据进行分析,由于串口监视的数据量比较大,大概有100多万行的指令,这样分析起来就比较困难。我们可以查看LPC17XX系列单片机datasheet,NXP公司提供了自己的通讯协议规范,我们可以通过提供的指令操作进行相应的数据分析,例如主机发送一个同步字符“?”(0X3F)并等待响应,这时单片机会给主机返回一个同步字符“?”,同时还向主机发送一个ASCII字符串“Synchronized<CR><LF>”作为响应,如此类推,我们按照datasheet上给我们的指令表,并结合自己获取的监控数据,就可以翻译出相应的信息。软件流程图如下图2所示:

由于手册有些地方介绍不是很详细,这里给大家分享一点自己的经验:

1、所有ISP命令都已单个ASCII字符串形式发送,发送完的数据都应以回车(CR)和/或换行(LF)控制字符作为结束符,这点手册上是有提及的。

2、通过监控数据进行分析,可以看到写进Flash的的地址由高到低,因此写入的程序也应从尾部到首端。

3、每次发送写512字节到RAM后会进行检验,校验方式为求和校验,校验和为UU编码过程之前512字节数据校验和。

4、其中UU编码原则为3个字节变为4个字节,但512字节不够配对,因此每512个字节应补一个字节变为513个字节。便于UU编码后成为684个字节发送,但实际发送写RAM字节数为UU编码前512个字节,这点比较重要,为监控数据分析得来。实际上一次可以发送更多数据,UU编码中有简单介绍,这里我只按照监控数据的512个字节数据来处理。

5、程序用软件烧进去但液晶不能正常工作,用监控数据和原Hex文件比对,发现一处异常,原Hex文件第28到33个字节处数据正常转码过后数据应该是60 60 60 60 60 60 60 60,而实际为60 28 38 32 5F 5E 5C 60,于是将自己程序的这个地址数据按照监控数据改变后,烧录正常,程序烧录完成后,液晶工作,不太清楚原因。

图2 烧录过程流程图

6、编程结束校验部分暂未验证,只是提供作为参考。

下图3为烧录过程界面:

图3 软件界面

3、UU编码

当我们进一步分析获取数据时,会发现一个奇怪现象,获取的数据中会出现很多0X60这一数据,我们可能会误以为这就是NXP公司提供的相应指令数据,只需要翻译就可以继续进行下面的处理,实际上不然,NXP公司为了加强出现在读写时的安全性,采用了UU编码的形式对数据就行加密,这就给我们的破解工作带来了一定困难,这里我们需要了解相应的UU编码知识对其破解,简单的说UU编码算法就是将3个字节二进制数据转换成4字节可打印的ASCII字符集,发送器在发送20个UU编码行之后发送检验和,任何UU编码行的长度都不应超过61个字符(字节),也就是可以保持45个数据字节,接收器应当将该校验和与接收数据的校验和进行比较,如果匹配,接收器相应“OK<CR><LF>”,并等待下一次发送,如果不匹配,接收器响应“RESEND<CR><LF>”作为响应,并重新发送字节。下图三为具体实现过程

4. 结束语

通过调试分析,NXP系列单片机ISP模式烧录程序相对还是比较复杂,需要结合数据手册进行分析,对数据的采集分析也至关重要,本文没有介绍校验功能解析过程,读者可参考写入功能进行完善。

论文作者:胡晓林

论文发表刊物:《电力设备》2018年第2期

论文发表时间:2018/5/28

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于ISP模式的NXP系列单片机烧录过程分析论文_胡晓林
下载Doc文档

猜你喜欢