📄 strata32.txt
字号:
000a38 ebfffffe BL Uart_Printf
;;;344 Uart_Printf("Target base address(0x08000000) = 0x%x\n",targetAddress);
000a3c e51f08bc LDR r0,|L1.392|
000a40 e5901000 LDR r1,[r0,#0] ; targetAddress
000a44 e59f01b0 LDR r0,|L1.3068|
000a48 ebfffffe BL Uart_Printf
;;;345 Uart_Printf("Target offset (0x0) = 0x%x\n",targetOffset);
000a4c e51f0650 LDR r0,|L1.1028|
000a50 e5901000 LDR r1,[r0,#0] ; targetOffset
000a54 e59f01a4 LDR r0,|L1.3072|
000a58 ebfffffe BL Uart_Printf
;;;346 Uart_Printf("Target size (0x20000*n) = 0x%x\n",targetSize);
000a5c e51f065c LDR r0,|L1.1032|
000a60 e5901000 LDR r1,[r0,#0] ; targetSize
000a64 e59f0198 LDR r0,|L1.3076|
000a68 ebfffffe BL Uart_Printf
;;;347
;;;348 if ( Strata_CheckID(targetAddress) != 0x00890089 ) // ID number = 0x0089
000a6c e51f08ec LDR r0,|L1.392|
000a70 e5900000 LDR r0,[r0,#0] ; targetAddress
000a74 ebfffffe BL Strata_CheckID
000a78 e240c889 SUB r12,r0,#0x890000
000a7c e25cc089 SUBS r12,r12,#0x89
000a80 0a000009 BEQ |L1.2732|
;;;349 {
;;;350 Uart_Printf("Read ID : 0x%x\n", Strata_CheckID(targetAddress));
000a84 e51f0904 LDR r0,|L1.392|
000a88 e5900000 LDR r0,[r0,#0] ; targetAddress
000a8c ebfffffe BL Strata_CheckID
000a90 e1a05000 MOV r5,r0
000a94 e1a01000 MOV r1,r0
000a98 e59f0168 LDR r0,|L1.3080|
000a9c ebfffffe BL Uart_Printf
;;;351 Uart_Printf("Identification check error !!\n");
000aa0 e59f0164 LDR r0,|L1.3084|
000aa4 ebfffffe BL Uart_Printf
;;;352 return ;
;;;353 }
;;;354
;;;355 if ( Strata_CheckDevice(targetAddress) != 0x00180018 ) // Device number=0x0018
;;;356 {
;;;357 Uart_Printf("Device check error !!\n");
;;;358 return ;
;;;359 }
;;;360
;;;361 #if 1 // lock bit setting test
;;;362 // Strata_SetBlockLock(targetAddress+0x10000); //just test
;;;363 for(i=0;i<10;i++)
;;;364 Uart_Printf("%d block value is %d\n", i, Strata_CheckBlockLock(targetAddress+0x20000*i)&0x00010001);
;;;365 // if ( Strata_CheckBlockLock(targetAddress+0x20000*i) != 0x0 ) // Device number=0x0018
;;;366 // Uart_Printf("%d block is locked !!\n", i);
;;;367 Strata_Unlock(targetAddress);
;;;368 for(i=0;i<10;i++)
;;;369 Uart_Printf("%d block value is %d\n", i, Strata_CheckBlockLock(targetAddress+0x20000*i)&0x00010001);
;;;370 #endif
;;;371 // Strata_Unlock(targetAddress);
;;;372
;;;373 Uart_Printf("\nErase the sector : 0x%x.\n", targetAddress);
;;;374
;;;375 for(i=0;i<targetSize;i+=0x20000)
;;;376 {
;;;377 Strata_EraseSector(targetAddress+targetOffset+i);
;;;378 }
;;;379
;;;380 if(!Strata_BlankCheck(targetAddress+targetOffset,targetSize))
;;;381 {
;;;382 Uart_Printf("Blank Check Error!!!\n");
;;;383 return;
;;;384 }
;;;385
;;;386 }
|L1.2728|
000aa8 e8bd8038 LDMFD sp!,{r3-r5,pc}
|L1.2732|
000aac e51f092c LDR r0,|L1.392| ;355
000ab0 e5900000 LDR r0,[r0,#0] ;355 ; targetAddress
000ab4 ebfffffe BL Strata_CheckDevice ;355
000ab8 e240c960 SUB r12,r0,#0x180000 ;355
000abc e25cc018 SUBS r12,r12,#0x18 ;355
000ac0 0a000002 BEQ |L1.2768| ;355
000ac4 e24f0f8a ADR r0,|L1.2212| ;357
000ac8 ebfffffe BL Uart_Printf ;357
000acc eafffff5 B |L1.2728| ;358
|L1.2768|
000ad0 e3a04000 MOV r4,#0 ;363
|L1.2772|
000ad4 e354000a CMP r4,#0xa ;363
000ad8 aa00000d BGE |L1.2836| ;363
000adc ea000001 B |L1.2792| ;363
|L1.2784|
000ae0 e2844001 ADD r4,r4,#1 ;363
000ae4 eafffffa B |L1.2772| ;363
|L1.2792|
000ae8 e51f1968 LDR r1,|L1.392| ;364
000aec e5911000 LDR r1,[r1,#0] ;364 ; targetAddress
000af0 e0810884 ADD r0,r1,r4,LSL #17 ;364
000af4 ebfffffe BL Strata_CheckBlockLock ;364
000af8 e51f1968 LDR r1,|L1.408| ;364
000afc e0005001 AND r5,r0,r1 ;364
000b00 e1a02005 MOV r2,r5 ;364
000b04 e1a01004 MOV r1,r4 ;364
000b08 e28f0f40 ADR r0,|L1.3088| ;364
000b0c ebfffffe BL Uart_Printf ;364
000b10 eafffff2 B |L1.2784| ;364
|L1.2836|
000b14 e51f0994 LDR r0,|L1.392| ;367
000b18 e5900000 LDR r0,[r0,#0] ;367 ; targetAddress
000b1c ebfffffe BL Strata_Unlock ;367
000b20 e3a04000 MOV r4,#0 ;368
|L1.2852|
000b24 e354000a CMP r4,#0xa ;368
000b28 aa00000d BGE |L1.2916| ;368
000b2c ea000001 B |L1.2872| ;368
|L1.2864|
000b30 e2844001 ADD r4,r4,#1 ;368
000b34 eafffffa B |L1.2852| ;368
|L1.2872|
000b38 e51f19b8 LDR r1,|L1.392| ;369
000b3c e5911000 LDR r1,[r1,#0] ;369 ; targetAddress
000b40 e0810884 ADD r0,r1,r4,LSL #17 ;369
000b44 ebfffffe BL Strata_CheckBlockLock ;369
000b48 e51f19b8 LDR r1,|L1.408| ;369
000b4c e0005001 AND r5,r0,r1 ;369
000b50 e1a02005 MOV r2,r5 ;369
000b54 e1a01004 MOV r1,r4 ;369
000b58 e28f00b0 ADR r0,|L1.3088| ;369
000b5c ebfffffe BL Uart_Printf ;369
000b60 eafffff2 B |L1.2864| ;369
|L1.2916|
000b64 e51f09e4 LDR r0,|L1.392| ;373
000b68 e5901000 LDR r1,[r0,#0] ;373 ; targetAddress
000b6c e24f0fae ADR r0,|L1.2236| ;373
000b70 ebfffffe BL Uart_Printf ;373
000b74 e3a04000 MOV r4,#0 ;375
|L1.2936|
000b78 e51f0778 LDR r0,|L1.1032| ;375
000b7c e5900000 LDR r0,[r0,#0] ;375 ; targetSize
000b80 e1540000 CMP r4,r0 ;375
000b84 2a00000a BCS |L1.2996| ;375
000b88 ea000001 B |L1.2964| ;375
|L1.2956|
000b8c e2844b80 ADD r4,r4,#0x20000 ;375
000b90 eafffff8 B |L1.2936| ;375
|L1.2964|
000b94 e51f1a14 LDR r1,|L1.392| ;377
000b98 e5911000 LDR r1,[r1,#0] ;377 ; targetAddress
000b9c e51f27a0 LDR r2,|L1.1028| ;377
000ba0 e5922000 LDR r2,[r2,#0] ;377 ; targetOffset
000ba4 e0811002 ADD r1,r1,r2 ;377
000ba8 e0810004 ADD r0,r1,r4 ;377
000bac ebfffffe BL Strata_EraseSector ;377
000bb0 eafffff5 B |L1.2956| ;378
|L1.2996|
000bb4 e51f1a34 LDR r1,|L1.392| ;380
000bb8 e5911000 LDR r1,[r1,#0] ;380 ; targetAddress
000bbc e51f27c0 LDR r2,|L1.1028| ;380
000bc0 e5922000 LDR r2,[r2,#0] ;380 ; targetOffset
000bc4 e0810002 ADD r0,r1,r2 ;380
000bc8 e51f17c8 LDR r1,|L1.1032| ;380
000bcc e5911000 LDR r1,[r1,#0] ;380 ; targetSize
000bd0 ebfffffe BL Strata_BlankCheck ;380
000bd4 e3500000 CMP r0,#0 ;380
000bd8 1a000002 BNE |L1.3048| ;380
000bdc e24f0fc3 ADR r0,|L1.2264| ;382
000be0 ebfffffe BL Uart_Printf ;382
000be4 eaffffaf B |L1.2728| ;383
|L1.3048|
000be8 eaffffae B |L1.2728|
|L1.3052|
000bec 00000000 DCD |L1.1340|
|L1.3056|
000bf0 00000000 DCD |L1.1380|
|L1.3060|
000bf4 00000000 DCD |L1.1424|
|L1.3064|
000bf8 00000000 DCD |L1.1496|
|L1.3068|
000bfc 00000000 DCD |L1.1536|
|L1.3072|
000c00 00000000 DCD |L1.1576|
|L1.3076|
000c04 00000000 DCD |L1.1616|
|L1.3080|
000c08 00000000 DCD |L1.1656|
|L1.3084|
000c0c 00000000 DCD |L1.1672|
|L1.3088|
000c10 62206425 DCB "%d b"
000c14 6b636f6c DCB "lock"
000c18 6c617620 DCB " val"
000c1c 69206575 DCB "ue i"
000c20 64252073 DCB "s %d"
000c24 0000000a DCB "\n\0\0\0"
ENDP
AREA ||.constdata||, DATA, READONLY, ALIGN=2
||.constdata$1||
DCB 0x31,0x2e,0x20,0x32
DCB 0x38,0x46,0x31,0x32
DCB 0x38,0x4a,0x33,0x41
DCB 0x20,0x6d,0x75,0x73
DCB 0x74,0x20,0x62,0x65
DCB 0x20,0x6c,0x6f,0x63
DCB 0x61,0x74,0x65,0x64
DCB 0x20,0x61,0x74,0x20
DCB 0x30,0x78,0x30,0x38
DCB 0x30,0x30,0x30,0x30
DCB 0x30,0x30,0x2e,0x0a
DCB 0x20,0x4a,0x31,0x3a
DCB 0x31,0x2d,0x32,0x2c
DCB 0x20,0x4a,0x32,0x3a
DCB 0x32,0x2d,0x33,0x2c
DCB 0x20,0x4a,0x33,0x3a
DCB 0x32,0x2d,0x33,0x2c
DCB 0x20,0x4a,0x34,0x3a
DCB 0x31,0x2d,0x32,0x20
DCB 0x0a,0x00
DCB 0x00,0x00
DCB 0x32,0x2e,0x20,0x41
DCB 0x66,0x74,0x65,0x72
DCB 0x20,0x70,0x72,0x6f
DCB 0x67,0x72,0x61,0x6d
DCB 0x6d,0x69,0x6e,0x67
DCB 0x2c,0x20,0x32,0x38
DCB 0x46,0x31,0x32,0x38
DCB 0x4a,0x33,0x41,0x20
DCB 0x6d,0x61,0x79,0x20
DCB 0x62,0x65,0x20,0x6c
DCB 0x6f,0x63,0x61,0x74
DCB 0x65,0x64,0x20,0x61
DCB 0x74,0x20,0x30,0x78
DCB 0x30,0x2e,0x0a,0x20
DCB 0x4a,0x31,0x3a,0x32
DCB 0x2d,0x33,0x2c,0x20
DCB 0x4a,0x32,0x3a,0x31
DCB 0x2d,0x32,0x2c,0x20
DCB 0x4a,0x33,0x3a,0x31
DCB 0x2d,0x32,0x2c,0x20
DCB 0x4a,0x34,0x3a,0x32
DCB 0x2d,0x33,0x20,0x0a
DCB 0x00
DCB 0x00,0x00,0x00
AREA ||.bss||, NOINIT, ALIGN=2
error_erase
||.bss$2||
% 4
error_program
% 4
srcAddress
% 4
targetOffset
% 4
targetAddress
% 4
targetSize
% 4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -