本帖最后由 xinjie1023 于 2013-1-13 10:30 编辑
lpc2420/60/70,无内部flash。如果扩展16位的flash后,想利用芯片本身的bootloader功能和IAP功能下载程序和重编程,看了对应手册,不是很明白这个过程实现思路。
一. 我先按自己的理解通过看手册,说一下ISP的流程,有问题希望大家指点下。
(1)这类芯片无片上flash,但是内部有bootloader,按照进入bootloader条件p2.0为低,进入ISP handler command hander 处理
(2)是不是然后pc机先借助
Write to RAM <start address> <number of bytes>
向lpc2460的RAM中写入程序代码,这个程序主要是对外部flash的擦除及写入新数据操作,这个代码主要为了后面第3步实现向外部flash写入实际用户应用代码?
(3)然后利用Go <address> <mode>
执行已写入RAM的“向外部flash写应数据”的程序,使第2步的写flash程序执行,
(4)然后计算机利用串口
Write to RAM <start address> <number of bytes>
在某地址写入的实际应用用户代码,然后利用第2步的更新flash程序将用户代码写入外部flash,从而完成程序的更新?
二.关于手册里的IAP,虽然说了IAP对应的地址,并且举了一个调用IAP的例子,但没看出如何结合在用户代码中来调用。但是根据手册的意思是
(1)必须跳转到利用#define IAP_LOCATION 0x7ffffff1 定义的地址执行
(2)利用Reinvoke ISP指令激活bootload下载功能
(3) 是不是然后类似ISP里面的2--4?
希望有做过的指点一下,谢谢。 |