电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

使用开源软件加速LPC2000下载

115半导体技术日益发展,微控制器里集成的Flash ROM 容量也越来越大。这为我们设计大规模、复杂的嵌入式系统提供了便利,但通过波特率较低的异步串行接口进行下载时,越来越长的下载时间却让人很难忍受。本文介绍了一款可使NXP LPC2000系列ARM控制器工作在最高下载波特率的开源软件,并与NXP的下载工具LPC2000 Flash Utility进行了对比测试。
在使用14.7456MHz晶振时,NXP LPC213X系列最高可以支持230400bps的下载波特率。因为采用了微软串口控件,NXP的下载工具LPC2000 Flash Utility最高只能在115200波特率下工作。在下载较大规模的程序时,往往需要漫长的等待。向大家推荐另一款下载工具——lpc21isp。它是一款跨Windows、Linux、MacOS X平台的开源软件。其最新版源代码可以在以下网址获得(需要免费注册):
http://tech.groups.yahoo.com/group/lpc21isp/
下载后使用你喜欢的编译器编译就可以。Windows用户可以直接下载我编译的版本version 1.47
zip5844
下面以Windows环境讲解该软件用法,其它系统类似。
得到.exe文件后把它存放到任意目录(本文假设为C:\ISP)。点击开始菜单,运行,输入cmd,确定,即可以进入命令行模式。进入C:\ISP目录,键入lpc21isp,回车,就可以看到如下图所示的提示信息。

lpc21isp的命令格式为:
lpc21isp [参数(可选)] 文件名 串口号 波特率 晶振频率(kHz)
例子:
lpc21isp -wipe test.hex com1 230400 147456
参数说明:
-bin
提供的文件是二进制(.bin)格式
-hex
提供的文件是Intel Hex(.hex)格式(默认)
-term
下载完成后进入终端模式
-termonly
不下载程序,直接进入终端模式
-localecho
本地回显(仅终端模式下)
-detectonly
仅读取器件型号及Boot Loader版本号(仅适用于NXP/Philips ARM)
-debug
调试模式,使用过程中将在屏幕显示一系列的调试信息
-wipe
下载前擦除整个器件(适用于已加密的器件,也可以加快整个下载过程)
-control
使用RS232接口的DTR、RTS信号控制器件的启动过程。(DTR 接 Reset,RTS 接 EnableBootLoader,详细电路图可以参照NXP/Philips的应用笔记 Application Note:AN10302
Using the Philips LPC2000 Flash utility with the Keil MCB2100 and IAR LPC210x Kickstart evaluation boards 第5页)
-logfile
把终端输出记录到文件lpc21isp.log(仅终端模式下)
-ADARM
下载到 Analog Devices ARM微控制器 ADUC70xx
-PHILIPSARM
下载到 NXP/Philips LPC2000 系列(默认)

下面是使用LPC2138,14.7456MHz晶振时,使用两款不同工具在最快下载速度下,下载486KB数据的比较:
所用工具        工作波特率    下载时间    下载速度
lpc21isp        230400位/秒    50秒        9.72千字节/秒
LPC2000 Flash Utility    15200位/秒    92秒        5.28千字节/秒

可以看出,下载速度有明显的提高。
需要注意的是,并不是所有情况下都可以使用230400bps的波特率。对于LPC213x系列,其用户手册中提供了如下的表格:
ISP波特率                9600 19200 38400 57600 115200 230400
外部晶振频率
10.0000                       +        +        +
11.0592                       +        +                      +
12.2880                       +        +        +
14.7456                       +        +        +            +            +            +
15.3600                       +
18.4320                       +        +                      +
19.6608                       +        +        +
24.5760                       +        +        +
25.0000                       +        +        +

对于其它器件,请参照其用户手册。
软件就介绍到这里,嫌每次输入指令麻烦的朋友,可以使用记事本输入指令,如:
C:\ISP\lpc21isp.exe -control -wipe D:\test\test.hex com1 230400 147456
保存为.bat批处理文件,下载程序,只需双击该批处理文件就可以了。15

博主
y53@21cn.com
y × y = y square
y_square
点击跳转