澄滢工作室 https://bbs.21ic.com/?469679 [收藏] [复制] [RSS]

日志

LPCUSBBoot -- LPC214x上使用USB接口实现ISP

已有 1984 次阅读2008-2-15 08:54 |个人分类:NXP ARM|系统分类:ARM| LPC, ARM, USB, Bootloader

LPCUSBBoot是使用LPC214x芯片的USB接口,通过CDC在PC上实现一个串口,进而实现这个串口上的ISP功能,上位机仍旧使用Philips Flash Utility或其兼容程序(Linux下可以使用LPC2K_PGM )。需要定义一个IO脚作为Bootloader使能选择。使用的Bootloader原理和lpc21iap一样。


处理器:LPC214x
开发平台:GNUARM
USBFW:lpcusb
开发中参考过的代码:lpcusbLPC2K_PGM lpc21iap(另外一个LPC214x的USB下载程序,不过由于没有用CDC模拟串口,所以需要特殊的上位机软件)


使用协议:GPLv2,License参考压缩包中的License.txt


使用方法:参考压缩包中的readme.txt
编译后烧写入LPC214x,用户应用程序需要定位在0x00004000的位置,LPCUSBBoot会把处Reset异常以外的其他异常Re-direct到0x00004000之后的位置。


目前开发阶段:Beta版本,基本功能都已经OK


测试代码(Beta版):http://www.SimonQian.com/download/LPCUSBBoot.zip


目前问题:
测试了各个功能,但G命令并不会运行指定位置的程序,只是简单的返回成功代码,因为MagicFlash会发送一段24字节的程序到RAM,并调用G命令执行,但不清楚这端程序的作用,执行后会破坏LPCUSBBoot的RAM空间,程序并没有返回,造成死机。


编程速度:
普通COM串口(设置为Datasheet中12MOSC对应的最高串口时钟38400,串口1为硬件串口):

LPCUSBBoot(COMM速度设置为Flash Magic支持的最高的57600,串口4为模拟串口):


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)