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

📄 flash.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000504  2a000024          BCS      |L1.1436|
;;;178        {
;;;179            while(!(rUTRSTAT0&0x1));
000508  e1a00000          NOP      
                  |L1.1292|
00050c  e51f02ac          LDR      r0,|L1.616|
000510  e5900010          LDR      r0,[r0,#0x10]
000514  e3100001          TST      r0,#1
000518  0afffffb          BEQ      |L1.1292|
;;;180                *(downPt+j)=RdURXH0();
00051c  e51f02bc          LDR      r0,|L1.616|
000520  e5d00024          LDRB     r0,[r0,#0x24]
000524  e7c90006          STRB     r0,[r9,r6]
;;;181    	 j++;		
000528  e2866001          ADD      r6,r6,#1
;;;182            if(i==3)
00052c  e3540003          CMP      r4,#3
000530  1a00000f          BNE      |L1.1396|
;;;183            {
;;;184                fileSize=*((U8 *)(downloadAddress+0))+
000534  e51f03b4          LDR      r0,|L1.392|
000538  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
00053c  e5d00000          LDRB     r0,[r0,#0]
000540  e51f13c0          LDR      r1,|L1.392|
000544  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
000548  e5d11001          LDRB     r1,[r1,#1]
00054c  e0800401          ADD      r0,r0,r1,LSL #8
000550  e51f13d0          LDR      r1,|L1.392|
000554  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
000558  e5d11002          LDRB     r1,[r1,#2]
00055c  e0800801          ADD      r0,r0,r1,LSL #16
000560  e51f13e0          LDR      r1,|L1.392|
000564  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
000568  e5d11003          LDRB     r1,[r1,#3]
00056c  e0805c01          ADD      r5,r0,r1,LSL #24
;;;185                (*((U8 *)(downloadAddress+1))<<8)+
;;;186                (*((U8 *)(downloadAddress+2))<<16)+
;;;187                (*((U8 *)(downloadAddress+3))<<24);
;;;188    	     j = 0;		
000570  e3a06000          MOV      r6,#0
;;;189            }
;;;190        
;;;191            if((i%1000)==0)
                  |L1.1396|
000574  e1a01004          MOV      r1,r4
000578  e3a00ffa          MOV      r0,#0x3e8
00057c  ebfffffe          BL       __rt_sdiv
000580  e3510000          CMP      r1,#0
000584  1a000002          BNE      |L1.1428|
;;;192                WrUTXH0('#');
000588  e3a00023          MOV      r0,#0x23
00058c  e51f132c          LDR      r1,|L1.616|
000590  e5c10020          STRB     r0,[r1,#0x20]
;;;193            i++;
                  |L1.1428|
000594  e2844001          ADD      r4,r4,#1
;;;194        }
000598  eaffffd8          B        |L1.1280|
;;;195    
;;;196        downloadProgramSize=fileSize-6;
                  |L1.1436|
00059c  e2450006          SUB      r0,r5,#6
0005a0  e51f133c          LDR      r1,|L1.620|
0005a4  e5810000          STR      r0,[r1,#0]  ; downloadProgramSize
;;;197    
;;;198        for(i=0;i<(fileSize-2-4);i++)
0005a8  e3a04000          MOV      r4,#0
                  |L1.1452|
0005ac  e2450006          SUB      r0,r5,#6
0005b0  e1540000          CMP      r4,r0
0005b4  2a000008          BCS      |L1.1500|
0005b8  ea000001          B        |L1.1476|
                  |L1.1468|
0005bc  e2844001          ADD      r4,r4,#1
0005c0  eafffff9          B        |L1.1452|
;;;199        {
;;;200            checkSum+=*((U8 *)(i+downloadAddress));
                  |L1.1476|
0005c4  e51f0444          LDR      r0,|L1.392|
0005c8  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
0005cc  e7d40000          LDRB     r0,[r4,r0]
0005d0  e0800007          ADD      r0,r0,r7
0005d4  e3c07b40          BIC      r7,r0,#0x10000
;;;201        }
0005d8  eafffff7          B        |L1.1468|
;;;202    
;;;203        dnCS=*((U8 *)(downloadAddress+fileSize-2-4))+
                  |L1.1500|
0005dc  e51f045c          LDR      r0,|L1.392|
0005e0  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
0005e4  e0800005          ADD      r0,r0,r5
0005e8  e5500006          LDRB     r0,[r0,#-6]
0005ec  e51f146c          LDR      r1,|L1.392|
0005f0  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
0005f4  e0811005          ADD      r1,r1,r5
0005f8  e5511005          LDRB     r1,[r1,#-5]
0005fc  e0800401          ADD      r0,r0,r1,LSL #8
000600  e3c08b40          BIC      r8,r0,#0x10000
;;;204              (*( (U8 *)(downloadAddress+fileSize-1-4) )<<8);
;;;205    
;;;206        if(checkSum!=dnCS)
000604  e1570008          CMP      r7,r8
000608  0a000005          BEQ      |L1.1572|
;;;207        {
;;;208            Uart_Printf("Checksum Error!!! MEM : %x  DN : %x\n",checkSum,dnCS);
00060c  e1a02008          MOV      r2,r8
000610  e1a01007          MOV      r1,r7
000614  e24f0feb          ADR      r0,|L1.624|
000618  ebfffffe          BL       _printf
;;;209            return 0;
00061c  e3a00000          MOV      r0,#0
;;;210        }
;;;211    
;;;212        Uart_Printf("\nDownload O.K.\n");
;;;213        return 1;
;;;214    }
                  |L1.1568|
000620  e8bd87f0          LDMFD    sp!,{r4-r10,pc}
                  |L1.1572|
000624  e24f0fe1          ADR      r0,|L1.680|           ;212
000628  ebfffffe          BL       _printf               ;212
00062c  e3a00001          MOV      r0,#1                 ;213
000630  eafffffa          B        |L1.1568|             ;213
                          ENDP

                  DownloadBinary PROC
;;;216    void DownloadBinary(void)
;;;217    {
000634  e92d40f8          STMFD    sp!,{r3-r7,lr}
;;;218        int i=0, tmp;
000638  e3a04000          MOV      r4,#0
;;;219        char key;
;;;220        U16 checkSum=0,dnCS;
00063c  e3a06000          MOV      r6,#0
;;;221        U32 fileSize=10;
000640  e3a0700a          MOV      r7,#0xa
;;;222        U8 *downPt;
;;;223    
;;;224        Uart_Printf("\n[ Writing Binary Data to Memory]\n\n");
000644  e28f0068          ADR      r0,|L1.1716|
000648  ebfffffe          BL       _printf
;;;225        Uart_Printf("Set Download Address : ");
00064c  e28f0084          ADR      r0,|L1.1752|
000650  ebfffffe          BL       _printf
;;;226        i = Uart_GetIntNum();
000654  ebfffffe          BL       Uart_GetIntNum
000658  e1a04000          MOV      r4,r0
;;;227        Uart_Printf("\n");
00065c  e24f0f94          ADR      r0,|L1.1044|
000660  ebfffffe          BL       _printf
;;;228    
;;;229        downloadAddress=i;
000664  e51f04e4          LDR      r0,|L1.392|
000668  e5804000          STR      r4,[r0,#0]  ; downloadAddress
;;;230        downloadProgramSize=0x0;
00066c  e3a00000          MOV      r0,#0
000670  e51f140c          LDR      r1,|L1.620|
000674  e5810000          STR      r0,[r1,#0]  ; downloadProgramSize
;;;231    
;;;232        //MMU_Init();
;;;233        ChangeRomCacheStatus(RW_NCNB);
000678  e51f0268          LDR      r0,|L1.1048|
00067c  ebfffffe          BL       ChangeRomCacheStatus
;;;234        
;;;235        Uart_Printf("Do you want to download through UART0 from 0x%x? [y/n] : ",downloadAddress);
000680  e51f0500          LDR      r0,|L1.392|
000684  e5901000          LDR      r1,[r0,#0]  ; downloadAddress
000688  e24f0f8f          ADR      r0,|L1.1108|
00068c  ebfffffe          BL       _printf
;;;236        key=Uart_Getch();
000690  ebfffffe          BL       Uart_Getch
000694  e1a05000          MOV      r5,r0
;;;237        Uart_Printf("%c\n",key);
000698  e1a01005          MOV      r1,r5
00069c  e24f0f95          ADR      r0,|L1.1104|
0006a0  ebfffffe          BL       _printf
;;;238        if(key=='y')
0006a4  e3550079          CMP      r5,#0x79
0006a8  1a000000          BNE      |L1.1712|
;;;239        {		
;;;240    	DownloadImage();       
0006ac  ebfffffe          BL       DownloadImage
;;;241        }
;;;242    
;;;243    }
                  |L1.1712|
0006b0  e8bd80f8          LDMFD    sp!,{r3-r7,pc}
                  |L1.1716|
0006b4  57205b0a          DCB      "\n[ W"
0006b8  69746972          DCB      "riti"
0006bc  4220676e          DCB      "ng B"
0006c0  72616e69          DCB      "inar"
0006c4  61442079          DCB      "y Da"
0006c8  74206174          DCB      "ta t"
0006cc  654d206f          DCB      "o Me"
0006d0  79726f6d          DCB      "mory"
0006d4  000a0a5d          DCB      "]\n\n\0"
                  |L1.1752|
0006d8  20746553          DCB      "Set "
0006dc  6e776f44          DCB      "Down"
0006e0  64616f6c          DCB      "load"
0006e4  64644120          DCB      " Add"
0006e8  73736572          DCB      "ress"
0006ec  00203a20          DCB      " : \0"
                          ENDP



                          AREA ||.data||, DATA, ALIGN=2

                  ||.data$0||
                  flashType
                          DCD      ProgramAM29F800
                          DCD      ||.constdata$1||
                          DCD      Program28F256K3_16Bit
                          DCD      ||.constdata$1||+0x1b
                          DCD      0x00000000
                          DCD      0x00000000


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

                  ||.constdata$1||
                          DCB      0x57,0x72,0x69,0x74
                          DCB      0x65,0x20,0x41,0x4d
                          DCB      0x32,0x39,0x4c,0x56
                          DCB      0x38,0x30,0x30,0x42
                          DCB      0x42,0x20,0x78,0x31
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x20,0x00
                          DCB      0x57,0x72,0x69,0x74
                          DCB      0x65,0x20,0x32,0x38
                          DCB      0x46,0x32,0x35,0x36
                          DCB      0x4b,0x33,0x28,0x33
                          DCB      0x32,0x4d,0x42,0x29
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x20,0x00


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

                  downloadAddress
                  ||.bss$2||
                          % 4
                  downloadProgramSize
                          % 4


        END

⌨️ 快捷键说明

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