在**中所有菲利普的芯片都是头8字(4字节为一字)累加和为零作为判断用户程序是否有效的标准,于是就这样写了程序:(我用的是GCC,没有用ADS) _start: B Reset B Reset B Reset B Reset B Reset .long 0x9DDFFFFD LDR PC, [PC, #-0xFF0] B Reset
Reset: ......
在LPC2103,2214,2138等有内部FLASH的片子上跑都很正常,用了LPC2220后,这样就不行了,无法启动程序!!!!, 就这个问题折腾了近一个礼拜,打了不少电话,最后没有办法只好买了一块开发板,把附带的程序反汇编出来看,一句一句的对,最后却得出这样的结果,真是一个大坑呀! 以下是能够启动的代码: _start: LDR PC, Reset LDR PC, Undefine LDR PC, SWI LDR PC, Prefetch LDR PC, DataAbort .long 0xB9205F80 LDR PC, [PC, #-0xFF0] LDR PC, FIQ
Reset: .long SystemReset Undefine: .long SystemReset SWI: .long SystemReset Prefetch: .long SystemReset DataAbort: .long SystemReset FIQ: .long SystemReset
|