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

📄 flash.txt

📁 s3c24a0固件测试代码 ? ? ? ? ?啊 
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM C Compiler, ADS1.2 [Build 842]

; commandline [-errors .\err\flash.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
                          CODE32

                          AREA ||.text||, CODE, READONLY

                  DownloadData PROC
;;;94     static int DownloadData(void)
;;;95     {
                  |L1.0|
000000  e92d43f8          STMFD    sp!,{r3-r9,lr}
;;;96         int i,tmp;
;;;97         U16 checkSum=0,dnCS;
000004  e3a06000          MOV      r6,#0
;;;98         U32 fileSize=10;
000008  e3a0500a          MOV      r5,#0xa
;;;99         U8 *downPt;
;;;100    
;;;101        downPt=(U8 *)downloadAddress;
00000c  e59f0174          LDR      r0,|L1.392|
000010  e5908000          LDR      r8,[r0,#0]  ; downloadAddress
;;;102       
;;;103        Uart_Printf("\ndownloadAddress = %x\n",downloadAddress);
000014  e59f016c          LDR      r0,|L1.392|
000018  e5901000          LDR      r1,[r0,#0]  ; downloadAddress
00001c  e28f0f5a          ADR      r0,|L1.396|
000020  ebfffffe          BL       _printf
;;;104    
;;;105        Uart_Printf("Download the plain binary file(.BHC) to be written\n");
000024  e28f0f5e          ADR      r0,|L1.420|
000028  ebfffffe          BL       _printf
;;;106        Uart_Printf("The file format : <n+6>(4)+(n)+CS(2)\n");
00002c  e28f0f69          ADR      r0,|L1.472|
000030  ebfffffe          BL       _printf
;;;107        Uart_Printf("To transmit .BIN file : wkocm2 xxx.BIN /1 /d:1\n");
000034  e28f0f71          ADR      r0,|L1.512|
000038  ebfffffe          BL       _printf
;;;108        Uart_Printf("Download methods : COM:8Bit,NP,1STOP\n");
00003c  e28f0f7b          ADR      r0,|L1.560|
000040  ebfffffe          BL       _printf
;;;109     
;;;110        Uart_Printf("\nSTATUS : ");
000044  e28f0f83          ADR      r0,|L1.600|
000048  ebfffffe          BL       _printf
;;;111        rINTMSK=BIT_ALLMSK;
00004c  e3e00000          MVN      r0,#0
000050  e59f120c          LDR      r1,|L1.612|
000054  e5810008          STR      r0,[r1,#8]
;;;112        
;;;113        tmp=RdURXH0(); //To remove overrun error state.
000058  e2810642          ADD      r0,r1,#0x4200000
00005c  e5d00024          LDRB     r0,[r0,#0x24]
000060  e1a09000          MOV      r9,r0
;;;114    
;;;115        i=0;    
000064  e3a04000          MOV      r4,#0
;;;116        while(i<fileSize)
000068  e1a00000          NOP      
                  |L1.108|
00006c  e1540005          CMP      r4,r5
000070  2a000022          BCS      |L1.256|
;;;117        {
;;;118            while(!(rUTRSTAT0&0x1));
000074  e1a00000          NOP      
                  |L1.120|
000078  e59f01e8          LDR      r0,|L1.616|
00007c  e5900010          LDR      r0,[r0,#0x10]
000080  e3100001          TST      r0,#1
000084  0afffffb          BEQ      |L1.120|
;;;119                *(downPt+i)=RdURXH0();
000088  e59f01d8          LDR      r0,|L1.616|
00008c  e5d00024          LDRB     r0,[r0,#0x24]
000090  e7c80004          STRB     r0,[r8,r4]
;;;120            if(i==3)
000094  e3540003          CMP      r4,#3
000098  1a00000e          BNE      |L1.216|
;;;121            {
;;;122                fileSize=*((U8 *)(downloadAddress+0))+
00009c  e59f00e4          LDR      r0,|L1.392|
0000a0  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
0000a4  e5d00000          LDRB     r0,[r0,#0]
0000a8  e59f10d8          LDR      r1,|L1.392|
0000ac  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
0000b0  e5d11001          LDRB     r1,[r1,#1]
0000b4  e0800401          ADD      r0,r0,r1,LSL #8
0000b8  e59f10c8          LDR      r1,|L1.392|
0000bc  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
0000c0  e5d11002          LDRB     r1,[r1,#2]
0000c4  e0800801          ADD      r0,r0,r1,LSL #16
0000c8  e59f10b8          LDR      r1,|L1.392|
0000cc  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
0000d0  e5d11003          LDRB     r1,[r1,#3]
0000d4  e0805c01          ADD      r5,r0,r1,LSL #24
;;;123                (*((U8 *)(downloadAddress+1))<<8)+
;;;124                (*((U8 *)(downloadAddress+2))<<16)+
;;;125                (*((U8 *)(downloadAddress+3))<<24);
;;;126            }
;;;127        
;;;128            if((i%1000)==0)
                  |L1.216|
0000d8  e1a01004          MOV      r1,r4
0000dc  e3a00ffa          MOV      r0,#0x3e8
0000e0  ebfffffe          BL       __rt_sdiv
0000e4  e3510000          CMP      r1,#0
0000e8  1a000002          BNE      |L1.248|
;;;129                WrUTXH0('#');
0000ec  e3a00023          MOV      r0,#0x23
0000f0  e59f1170          LDR      r1,|L1.616|
0000f4  e5c10020          STRB     r0,[r1,#0x20]
;;;130            i++;
                  |L1.248|
0000f8  e2844001          ADD      r4,r4,#1
;;;131        }
0000fc  eaffffda          B        |L1.108|
;;;132    
;;;133        downloadProgramSize=fileSize-6;
                  |L1.256|
000100  e2450006          SUB      r0,r5,#6
000104  e59f1160          LDR      r1,|L1.620|
000108  e5810000          STR      r0,[r1,#0]  ; downloadProgramSize
;;;134    
;;;135        for(i=4;i<(fileSize-2);i++)
00010c  e3a04004          MOV      r4,#4
                  |L1.272|
000110  e2450002          SUB      r0,r5,#2
000114  e1540000          CMP      r4,r0
000118  2a000008          BCS      |L1.320|
00011c  ea000001          B        |L1.296|
                  |L1.288|
000120  e2844001          ADD      r4,r4,#1
000124  eafffff9          B        |L1.272|
;;;136        {
;;;137            checkSum+=*((U8 *)(i+downloadAddress));
                  |L1.296|
000128  e59f0058          LDR      r0,|L1.392|
00012c  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
000130  e7d40000          LDRB     r0,[r4,r0]
000134  e0800006          ADD      r0,r0,r6
000138  e3c06b40          BIC      r6,r0,#0x10000
;;;138        }
00013c  eafffff7          B        |L1.288|
;;;139    
;;;140        dnCS=*((U8 *)(downloadAddress+fileSize-2))+
                  |L1.320|
000140  e59f0040          LDR      r0,|L1.392|
000144  e5900000          LDR      r0,[r0,#0]  ; downloadAddress
000148  e0800005          ADD      r0,r0,r5
00014c  e5500002          LDRB     r0,[r0,#-2]
000150  e59f1030          LDR      r1,|L1.392|
000154  e5911000          LDR      r1,[r1,#0]  ; downloadAddress
000158  e0811005          ADD      r1,r1,r5
00015c  e5511001          LDRB     r1,[r1,#-1]
000160  e0800401          ADD      r0,r0,r1,LSL #8
000164  e3c07b40          BIC      r7,r0,#0x10000
;;;141              (*( (U8 *)(downloadAddress+fileSize-1) )<<8);
;;;142    
;;;143        if(checkSum!=dnCS)
000168  e1560007          CMP      r6,r7
00016c  0a000049          BEQ      |L1.664|
;;;144        {
;;;145            Uart_Printf("Checksum Error!!! MEM : %x  DN : %x\n",checkSum,dnCS);
000170  e1a02007          MOV      r2,r7
000174  e1a01006          MOV      r1,r6
000178  e28f00f0          ADR      r0,|L1.624|
00017c  ebfffffe          BL       _printf
;;;146            return 0;
000180  e3a00000          MOV      r0,#0
;;;147        }
;;;148    
;;;149        Uart_Printf("\nDownload O.K.\n");
;;;150        return 1;
;;;151    }
                  |L1.388|
000184  e8bd83f8          LDMFD    sp!,{r3-r9,pc}
                  |L1.392|
000188  00000000          DCD      ||.bss$2||
                  |L1.396|
00018c  776f640a          DCB      "\ndow"
000190  616f6c6e          DCB      "nloa"
000194  64644164          DCB      "dAdd"
000198  73736572          DCB      "ress"
00019c  25203d20          DCB      " = %"
0001a0  00000a78          DCB      "x\n\0\0"
                  |L1.420|
0001a4  6e776f44          DCB      "Down"
0001a8  64616f6c          DCB      "load"
0001ac  65687420          DCB      " the"
0001b0  616c7020          DCB      " pla"
0001b4  62206e69          DCB      "in b"
0001b8  72616e69          DCB      "inar"
0001bc  69662079          DCB      "y fi"
0001c0  2e28656c          DCB      "le(."
0001c4  29434842          DCB      "BHC)"
0001c8  206f7420          DCB      " to "
0001cc  77206562          DCB      "be w"
0001d0  74746972          DCB      "ritt"
0001d4  000a6e65          DCB      "en\n\0"
                  |L1.472|
0001d8  20656854          DCB      "The "
0001dc  656c6966          DCB      "file"
0001e0  726f6620          DCB      " for"
0001e4  2074616d          DCB      "mat "
0001e8  6e3c203a          DCB      ": <n"
0001ec  283e362b          DCB      "+6>("
0001f0  282b2934          DCB      "4)+("
0001f4  432b296e          DCB      "n)+C"
0001f8  29322853          DCB      "S(2)"
0001fc  0000000a          DCB      "\n\0\0\0"
                  |L1.512|
000200  74206f54          DCB      "To t"
000204  736e6172          DCB      "rans"
000208  2074696d          DCB      "mit "
00020c  4e49422e          DCB      ".BIN"
000210  6c696620          DCB      " fil"
000214  203a2065          DCB      "e : "
000218  636f6b77          DCB      "wkoc"
00021c  7820326d          DCB      "m2 x"
000220  422e7878          DCB      "xx.B"
000224  2f204e49          DCB      "IN /"
000228  642f2031          DCB      "1 /d"
00022c  000a313a          DCB      ":1\n\0"
                  |L1.560|
000230  6e776f44          DCB      "Down"
000234  64616f6c          DCB      "load"
000238  74656d20          DCB      " met"
00023c  73646f68          DCB      "hods"
000240  43203a20          DCB      " : C"
000244  383a4d4f          DCB      "OM:8"
000248  2c746942          DCB      "Bit,"
00024c  312c504e          DCB      "NP,1"
000250  504f5453          DCB      "STOP"
000254  0000000a          DCB      "\n\0\0\0"
                  |L1.600|
000258  4154530a          DCB      "\nSTA"
00025c  20535554          DCB      "TUS "
000260  0000203a          DCB      ": \0\0"
                  |L1.612|
000264  40200000          DCD      0x40200000
                  |L1.616|
000268  44400000          DCD      0x44400000
                  |L1.620|
00026c  00000004          DCD      ||.bss$2|| + 4
                  |L1.624|
000270  63656843          DCB      "Chec"
000274  6d75736b          DCB      "ksum"
000278  72724520          DCB      " Err"
00027c  2121726f          DCB      "or!!"
000280  454d2021          DCB      "! ME"
000284  203a204d          DCB      "M : "
000288  20207825          DCB      "%x  "
00028c  3a204e44          DCB      "DN :"

⌨️ 快捷键说明

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