先贴代码:
mov r1, #0
ldr r0, [r1] /* 读出原来的值备份 */
str r1, [r1] /* 0->[0] */
ldr r2, [r1] /* r2=[0] */
cmp r1, r2 /* r1==r2? 如果相等表示是NAND启动*/
ldr sp, =0x40000000+4096 /*先假设是nor启动*/
moveq sp, #4096 /*nand 启动*/
streq r0, [r1] /*回复原来的值*/
判断nor flah还是nand flash启动的关键是:nor flash只可读、不可写。所以用nor flash启动,0