|||
LPCUSBBoot是使用LPC214x芯片的USB接口,通过CDC在PC上实现一个串口,进而实现这个串口上的ISP功能,上位机仍旧使用Philips Flash Utility或其兼容程序(Linux下可以使用LPC2K_PGM )。需要定义一个IO脚作为Bootloader使能选择。使用的Bootloader原理和lpc21iap一样。
处理器:LPC214x
开发平台:GNUARM
USBFW:lpcusb
开发中参考过的代码:lpcusb,LPC2K_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为模拟串口):