セクター0から7をPrepareして、Eraseコマンドで全消去しています。
pc_eraseAll
0x1000006A B5F8 PUSH {r3-r7,lr}
0x1000006C 4C45 LDR r4,[pc,#276] ; @0x10000184 =8
0x1000006E 2032 MOVS r0,#0x32 ; Prepare Sector for Erase
0x10000070 444C ADD r4,r4,r9
0x10000072 2500 MOVS r5,#0x00 ; Start Sector
0x10000074 2607 MOVS r6,#0x07 ; End Sector
0x10000076 4622 MOV r2,r4
0x10000078 C261 STM r2!,{r0,r5-r6}
0x1000007A 4621 MOV r1,r4
0x1000007C 3114 ADDS r1,r1,#0x14
0x1000007E 4F42 LDR r7,[pc,#264] ; @0x10000188 =0x1fff1ff1
0x10000080 4620 MOV r0,r4
0x10000082 9100 STR r1,[sp,#0x00]
0x10000084 47B8 BLX r7 ; Call IAP Command
0x10000086 6960 LDR r0,[r4,#0x14]
0x10000088 2800 CMP r0,#0x00
0x1000008A D10C BNE 0x100000A6
0x1000008C 2034 MOVS r0,#0x34 ; Erase Sector
0x1000008E 4621 MOV r1,r4
0x10000090 C161 STM r1!,{r0,r5-r6}
0x10000092 483A LDR r0,[pc,#232] ; @0x1000017C =4
0x10000094 4448 ADD r0,r0,r9
0x10000096 6800 LDR r0,[r0,#0x00]
0x10000098 60E0 STR r0,[r4,#0x0C] ; CCLK in kHz
0x1000009A 4620 MOV r0,r4
0x1000009C 9900 LDR r1,[sp,#0x00]
0x1000009E 47B8 BLX r7 ; Call IAP Command
0x100000A0 6960 LDR r0,[r4,#0x14]
0x100000A2 2800 CMP r0,#0x00
0x100000A4 D000 BEQ 0x100000A8
0x100000A6 2001 MOVS r0,#0x01
0x100000A8 BDF8 POP {r3-r7,pc}
(2013/9/6)
---
0 件のコメント:
コメントを投稿