nuc501 发表于 2014-2-2 23:56:23

LPC1788 IAP升级问题,为什么会不一致BOOTROM

兄弟们新年好,兄弟不才在使用LPC1788的IAP时候遇到一个小问题,程序是正常的,如果片上仿真,第一次加载并运行IAP程序,就会出现硬件故障,但如果使用MDK的RESET重新在仿真一次,就程序运行正常,于是小弟在汇编仿真查看发现两次的内容不一致,小弟表示疑惑。
如下:
正常的跳转重新在MDK中RESET后在运行的汇编IAP代码
0x1FFF1FF0 F7FFBB1AB.W      0x1FFF1628
0x1FFF1FF4 0000      MOVS   r0,r0
0x1FFF1FF6 0000      MOVS   r0,r0
0x1FFF1FF8 0000      MOVS   r0,r0

不正常的跳转,第一次加载MDK并仿真的IAP代码,程序跳转的时候
0x1FFF1FF0 F7FEBA1AB.W      0x1FFF0428
0x1FFF1FF4 0001      MOVS   r1,r0
0x1FFF1FF6 0100      LSLS   r0,r0,#4
0x1FFF1FF8 0000      MOVS   r0,r0

希望各位遇到过同样问题的兄弟帮忙!谢谢,祝大家新的一年财源广进!老板加薪

lpc1788 发表于 2014-2-3 16:21:30

Please ensure the following bits are set to operate at 120MHz for IAP command:

BOOST =11 in register PBOOST
ROM_LAT =1 in register Matrix_Arb

Note that there is an error in the UM for the description of ROM_LAT.

ROM_LAT bit is set by the boot loader. However, in debug mode, some debuger bypass the bootloader - leaving this bit as 0. This bit should always be set to1 for any operation above 60MHz.
页: [1]
查看完整版本: LPC1788 IAP升级问题,为什么会不一致BOOTROM