⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 am29f800.txt

📁 支持三星原产的S3C24A0开发板
💻 TXT
📖 第 1 页 / 共 4 页
字号:

                  AM29F800_EraseSecotor_Auto PROC
;;;264    int AM29F800_EraseSecotor_Auto(void)
;;;265    {
0009e4  e92d4038          STMFD    sp!,{r3-r5,lr}
;;;266        int i, count;
;;;267    		
;;;268        if(downloadProgramSize/0x10000<1)
0009e8  e51f05f8          LDR      r0,|L1.1016|
0009ec  e5900000          LDR      r0,[r0,#0]  ; downloadProgramSize
0009f0  e3a01001          MOV      r1,#1
0009f4  e1510820          CMP      r1,r0,LSR #16
0009f8  9a00003b          BLS      |L1.2796|
;;;269        {
;;;270    	if(downloadProgramSize<0x4000)
0009fc  e51f060c          LDR      r0,|L1.1016|
000a00  e5900000          LDR      r0,[r0,#0]  ; downloadProgramSize
000a04  e3500c40          CMP      r0,#0x4000
000a08  2a00000a          BCS      |L1.2616|
;;;271    	{
;;;272    	    AM29F800_EraseSector(0x0);
000a0c  e3a00000          MOV      r0,#0
000a10  ebfffffe          BL       AM29F800_EraseSector
;;;273    	    if(!BlankCheck(0x0,0x4000))
000a14  e3a01c40          MOV      r1,#0x4000
000a18  e3a00000          MOV      r0,#0
000a1c  ebfffffe          BL       BlankCheck
000a20  e3500000          CMP      r0,#0
000a24  1a000071          BNE      |L1.3056|
;;;274        	    {
;;;275    	    	Uart_Printf("Blank Check Error!!!\n");
000a28  e24f0f4d          ADR      r0,|L1.2300|
000a2c  ebfffffe          BL       _printf
;;;276        	    	return 0;
000a30  e3a00000          MOV      r0,#0
;;;277               }		
;;;278    	}
;;;279    	else if(downloadProgramSize<0x6000)
;;;280    	{
;;;281    	    AM29F800_EraseSector(0x4000);
;;;282    	    if(!BlankCheck(0x4000,0x2000))
;;;283        	    {
;;;284    	    	Uart_Printf("Blank Check Error!!!\n");
;;;285        	    	return 0;
;;;286               }		
;;;287    	}          	
;;;288    	else if(downloadProgramSize<0x8000)
;;;289    	{
;;;290    	    AM29F800_EraseSector(0x6000);
;;;291    	    if(!BlankCheck(0x6000,0x2000))
;;;292        	    {
;;;293    	    	Uart_Printf("Blank Check Error!!!\n");
;;;294        	    	return 0;
;;;295               }		
;;;296    	}  
;;;297    	else if(downloadProgramSize<0x10000)
;;;298    	{
;;;299    	    AM29F800_EraseSector(0x8000);
;;;300    	    if(!BlankCheck(0x8000,0x8000))
;;;301        	    {
;;;302    	    	Uart_Printf("Blank Check Error!!!\n");
;;;303        	    	return 0;
;;;304               }		
;;;305    	}  
;;;306        }
;;;307        else
;;;308        {
;;;309    	    AM29F800_EraseSector(0x0);
;;;310    	    if(!BlankCheck(0x0,0x4000))
;;;311        	    {
;;;312    	    	Uart_Printf("Blank Check Error!!!\n");
;;;313        	    	return 0;
;;;314               }		
;;;315    	    AM29F800_EraseSector(0x4000);
;;;316    	    if(!BlankCheck(0x4000,0x2000))
;;;317        	    {
;;;318    	    	Uart_Printf("Blank Check Error!!!\n");
;;;319        	    	return 0;
;;;320               }		
;;;321    	    AM29F800_EraseSector(0x6000);
;;;322    	    if(!BlankCheck(0x6000,0x2000))
;;;323        	    {
;;;324    	    	Uart_Printf("Blank Check Error!!!\n");
;;;325        	    	return 0;
;;;326               }		
;;;327    	    AM29F800_EraseSector(0x8000);
;;;328    	    if(!BlankCheck(0x8000,0x8000))
;;;329        	    {
;;;330    	    	Uart_Printf("Blank Check Error!!!\n");
;;;331        	    	return 0;
;;;332               }		  
;;;333               count = downloadProgramSize/0x10000;
;;;334    	    for(i=1; i<=count; i++)
;;;335    	    {
;;;336    	    	AM29F800_EraseSector(i*0x10000);
;;;337    	    	if(!BlankCheck(i*0x10000,0x10000))
;;;338        	    	{
;;;339    	    		Uart_Printf("Blank Check Error!!!\n");
;;;340        	    		return 0;
;;;341               	}	    
;;;342    	    }    
;;;343        }
;;;344    
;;;345        return 1;
;;;346    }
                  |L1.2612|
000a34  e8bd8038          LDMFD    sp!,{r3-r5,pc}
                  |L1.2616|
000a38  e51f0648          LDR      r0,|L1.1016|          ;279
000a3c  e5900000          LDR      r0,[r0,#0]            ;279  ; downloadProgramSize
000a40  e3500c60          CMP      r0,#0x6000            ;279
000a44  2a00000a          BCS      |L1.2676|             ;279
000a48  e3a00c40          MOV      r0,#0x4000            ;281
000a4c  ebfffffe          BL       AM29F800_EraseSector  ;281
000a50  e3a01d80          MOV      r1,#0x2000            ;282
000a54  e3a00c40          MOV      r0,#0x4000            ;282
000a58  ebfffffe          BL       BlankCheck            ;282
000a5c  e3500000          CMP      r0,#0                 ;282
000a60  1a000062          BNE      |L1.3056|             ;282
000a64  e24f0f5c          ADR      r0,|L1.2300|          ;284
000a68  ebfffffe          BL       _printf               ;284
000a6c  e3a00000          MOV      r0,#0                 ;285
000a70  eaffffef          B        |L1.2612|             ;285
                  |L1.2676|
000a74  e51f0684          LDR      r0,|L1.1016|          ;288
000a78  e5900000          LDR      r0,[r0,#0]            ;288  ; downloadProgramSize
000a7c  e3500c80          CMP      r0,#0x8000            ;288
000a80  2a00000a          BCS      |L1.2736|             ;288
000a84  e3a00c60          MOV      r0,#0x6000            ;290
000a88  ebfffffe          BL       AM29F800_EraseSector  ;290
000a8c  e3a01d80          MOV      r1,#0x2000            ;291
000a90  e3a00c60          MOV      r0,#0x6000            ;291
000a94  ebfffffe          BL       BlankCheck            ;291
000a98  e3500000          CMP      r0,#0                 ;291
000a9c  1a000053          BNE      |L1.3056|             ;291
000aa0  e24f0f6b          ADR      r0,|L1.2300|          ;293
000aa4  ebfffffe          BL       _printf               ;293
000aa8  e3a00000          MOV      r0,#0                 ;294
000aac  eaffffe0          B        |L1.2612|             ;294
                  |L1.2736|
000ab0  e51f06c0          LDR      r0,|L1.1016|          ;297
000ab4  e5900000          LDR      r0,[r0,#0]            ;297  ; downloadProgramSize
000ab8  e3500b40          CMP      r0,#0x10000           ;297
000abc  2a00004b          BCS      |L1.3056|             ;297
000ac0  e3a00c80          MOV      r0,#0x8000            ;299
000ac4  ebfffffe          BL       AM29F800_EraseSector  ;299
000ac8  e3a01c80          MOV      r1,#0x8000            ;300
000acc  e3a00c80          MOV      r0,#0x8000            ;300
000ad0  ebfffffe          BL       BlankCheck            ;300
000ad4  e3500000          CMP      r0,#0                 ;300
000ad8  1a000044          BNE      |L1.3056|             ;300
000adc  e24f0f7a          ADR      r0,|L1.2300|          ;302
000ae0  ebfffffe          BL       _printf               ;302
000ae4  e3a00000          MOV      r0,#0                 ;303
000ae8  eaffffd1          B        |L1.2612|             ;303
                  |L1.2796|
000aec  e3a00000          MOV      r0,#0                 ;309
000af0  ebfffffe          BL       AM29F800_EraseSector  ;309
000af4  e3a01c40          MOV      r1,#0x4000            ;310
000af8  e3a00000          MOV      r0,#0                 ;310
000afc  ebfffffe          BL       BlankCheck            ;310
000b00  e3500000          CMP      r0,#0                 ;310
000b04  1a000003          BNE      |L1.2840|             ;310
000b08  e24f0f85          ADR      r0,|L1.2300|          ;312
000b0c  ebfffffe          BL       _printf               ;312
000b10  e3a00000          MOV      r0,#0                 ;313
000b14  eaffffc6          B        |L1.2612|             ;313
                  |L1.2840|
000b18  e3a00c40          MOV      r0,#0x4000            ;315
000b1c  ebfffffe          BL       AM29F800_EraseSector  ;315
000b20  e3a01d80          MOV      r1,#0x2000            ;316
000b24  e3a00c40          MOV      r0,#0x4000            ;316
000b28  ebfffffe          BL       BlankCheck            ;316
000b2c  e3500000          CMP      r0,#0                 ;316
000b30  1a000003          BNE      |L1.2884|             ;316
000b34  e24f0f90          ADR      r0,|L1.2300|          ;318
000b38  ebfffffe          BL       _printf               ;318
000b3c  e3a00000          MOV      r0,#0                 ;319
000b40  eaffffbb          B        |L1.2612|             ;319
                  |L1.2884|
000b44  e3a00c60          MOV      r0,#0x6000            ;321
000b48  ebfffffe          BL       AM29F800_EraseSector  ;321
000b4c  e3a01d80          MOV      r1,#0x2000            ;322
000b50  e3a00c60          MOV      r0,#0x6000            ;322
000b54  ebfffffe          BL       BlankCheck            ;322
000b58  e3500000          CMP      r0,#0                 ;322
000b5c  1a000003          BNE      |L1.2928|             ;322
000b60  e24f0f9b          ADR      r0,|L1.2300|          ;324
000b64  ebfffffe          BL       _printf               ;324
000b68  e3a00000          MOV      r0,#0                 ;325
000b6c  eaffffb0          B        |L1.2612|             ;325
                  |L1.2928|
000b70  e3a00c80          MOV      r0,#0x8000            ;327
000b74  ebfffffe          BL       AM29F800_EraseSector  ;327
000b78  e3a01c80          MOV      r1,#0x8000            ;328
000b7c  e3a00c80          MOV      r0,#0x8000            ;328
000b80  ebfffffe          BL       BlankCheck            ;328
000b84  e3500000          CMP      r0,#0                 ;328
000b88  1a000003          BNE      |L1.2972|             ;328
000b8c  e24f0fa6          ADR      r0,|L1.2300|          ;330
000b90  ebfffffe          BL       _printf               ;330
000b94  e3a00000          MOV      r0,#0                 ;331
000b98  eaffffa5          B        |L1.2612|             ;331
                  |L1.2972|
000b9c  e51f07ac          LDR      r0,|L1.1016|          ;333
000ba0  e5900000          LDR      r0,[r0,#0]            ;333  ; downloadProgramSize
000ba4  e1a05820          MOV      r5,r0,LSR #16         ;333
000ba8  e3a04001          MOV      r4,#1                 ;334
                  |L1.2988|
000bac  e1540005          CMP      r4,r5                 ;334
000bb0  ca00000e          BGT      |L1.3056|             ;334
000bb4  ea000001          B        |L1.3008|             ;334
                  |L1.3000|
000bb8  e2844001          ADD      r4,r4,#1              ;334
000bbc  eafffffa          B        |L1.2988|             ;334
                  |L1.3008|
000bc0  e1a00804          MOV      r0,r4,LSL #16         ;336
000bc4  ebfffffe          BL       AM29F800_EraseSector  ;336
000bc8  e1a00804          MOV      r0,r4,LSL #16         ;337
000bcc  e3a01b40          MOV      r1,#0x10000           ;337
000bd0  ebfffffe          BL       BlankCheck            ;337
000bd4  e3500000          CMP      r0,#0                 ;337
000bd8  1a000003          BNE      |L1.3052|             ;337
000bdc  e24f0fba          ADR      r0,|L1.2300|          ;339
000be0  ebfffffe          BL       _printf               ;339
000be4  e3a00000          MOV      r0,#0                 ;340
000be8  eaffff91          B        |L1.2612|             ;340
                  |L1.3052|
000bec  eafffff1          B        |L1.3000|             ;342
                  |L1.3056|
000bf0  e3a00001          MOV      r0,#1                 ;345
000bf4  eaffff8e          B        |L1.2612|             ;345
                          ENDP



                          AREA ||.constdata||, DATA, READONLY, ALIGN=2

                  ||.constdata$1||
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x30,0x78,0x30,0x2c
                          DCB      0x20,0x30,0x78,0x34
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x20,0x30,0x78,0x36
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x20,0x30,0x78,0x38
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x31,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x32,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x33,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x34,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x0a,0x00
                          DCB      0x00,0x00
                          DCB      0x30,0x78,0x35,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x36,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x37,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x38,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x39,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x61,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x62,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x30,0x78,0x63,0x30
                          DCB      0x30,0x30,0x30,0x2c
                          DCB      0x0a,0x00
                          DCB      0x00,0x00
                          DCB      0x44,0x6f,0x20,0x79
                          DCB      0x6f,0x75,0x20,0x77
                          DCB      0x61,0x6e,0x74,0x20
                          DCB      0x61,0x6e,0x6f,0x74
                          DCB      0x68,0x65,0x72,0x20
                          DCB      0x70,0x72,0x6f,0x67
                          DCB      0x72,0x61,0x6d,0x6d
                          DCB      0x69,0x6e,0x67,0x20
                          DCB      0x77,0x69,0x74,0x68
                          DCB      0x6f,0x75,0x74,0x20
                          DCB      0x61,0x64,0x64,0x69
                          DCB      0x74,0x69,0x6f,0x6e
                          DCB      0x61,0x6c,0x20,0x64
                          DCB      0x6f,0x77,0x6e,0x6c
                          DCB      0x6f,0x61,0x64,0x3f
                          DCB      0x20,0x5b,0x79,0x2f
                          DCB      0x6e,0x5d,0x0a,0x00


                          AREA ||.bss||, NOINIT, ALIGN=2

                  ||nextTargetAddr@InputTargetAddr_0||
                  ||.bss$2||
                          % 4
                  ||nextSrcOffset@InputTargetAddr_1||
                          % 4
                  srcAddress
                          % 4
                  srcOffset
                          % 4
                  targetAddress
                          % 4
                  targetSize
                          % 4


        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -