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

📄 flash.txt

📁 SMDK2442所有设备的驱动测试程序。运行monitor程序
💻 TXT
📖 第 1 页 / 共 2 页
字号:
000288  3a204e44          DCB      "DN :"
00028c  0a782520          DCB      " %x\n"
000290  00000000          DCB      "\0\0\0\0"
                  |L1.660|
000294  e28f0008          ADR      r0,|L1.676|           ;149
000298  ebfffffe          BL       Uart_Printf           ;149
00029c  e3a00001          MOV      r0,#1                 ;150
0002a0  eaffffb7          B        |L1.388|              ;150
                  |L1.676|
0002a4  776f440a          DCB      "\nDow"               ;150
0002a8  616f6c6e          DCB      "nloa"                ;150
0002ac  2e4f2064          DCB      "d O."                ;150
0002b0  000a2e4b          DCB      "K.\n\0"              ;150
                          ENDP

                  ProgramFlash PROC
;;;46     void ProgramFlash(void)
;;;47     {
0002b4  e92d4070          STMFD    sp!,{r4-r6,lr}
;;;48         int i=0,whichFlash;
0002b8  e3a04000          MOV      r4,#0
;;;49         char key;
;;;50     
;;;51         Uart_Printf("\n[ NOR Flash Memory Writer Ver 0.1 ]\n\n");
0002bc  e28f00fc          ADR      r0,|L1.960|
0002c0  ebfffffe          BL       Uart_Printf
;;;52         Uart_Printf("The program buffer : 0x31000000 ~ 0x31ff0000\n");
0002c4  e28f0f47          ADR      r0,|L1.1000|
0002c8  ebfffffe          BL       Uart_Printf
;;;53         
;;;54         downloadAddress=0x31000000;
0002cc  e3a005c4          MOV      r0,#0x31000000
0002d0  e51f1150          LDR      r1,|L1.392|
0002d4  e5810000          STR      r0,[r1,#0]  ; downloadAddress
;;;55         downloadProgramSize=0x0;
0002d8  e3a00000          MOV      r0,#0
0002dc  e51f107c          LDR      r1,|L1.616|
0002e0  e5810000          STR      r0,[r1,#0]  ; downloadProgramSize
;;;56     
;;;57         //MMU_Init();
;;;58         ChangeRomCacheStatus(RW_NCNB);
0002e4  e59f012c          LDR      r0,|L1.1048|
0002e8  ebfffffe          BL       ChangeRomCacheStatus
;;;59         
;;;60         while(1)
0002ec  e1a00000          NOP      
                  |L1.752|
0002f0  e1a00000          NOP      
;;;61         {   //display menu
;;;62             Uart_Printf("%c : %s",'a'+i,flashType[i][1]);
0002f4  e59f0120          LDR      r0,|L1.1052|
0002f8  e0800184          ADD      r0,r0,r4,LSL #3
0002fc  e2841061          ADD      r1,r4,#0x61
000300  e5902004          LDR      r2,[r0,#4]
000304  e28f0f45          ADR      r0,|L1.1056|
000308  ebfffffe          BL       Uart_Printf
;;;63             i++;
00030c  e2844001          ADD      r4,r4,#1
;;;64             if((int)(flashType[i][0])==0)
000310  e59f0104          LDR      r0,|L1.1052|
000314  e7900184          LDR      r0,[r0,r4,LSL #3]
000318  e3500000          CMP      r0,#0
00031c  1a000002          BNE      |L1.812|
;;;65             {
;;;66                 Uart_Printf("\n");
000320  e28f00ec          ADR      r0,|L1.1044|
000324  ebfffffe          BL       Uart_Printf
;;;67                 break;
000328  ea000004          B        |L1.832|
;;;68             }
;;;69             if((i%4)==0) 
                  |L1.812|
00032c  e3140003          TST      r4,#3
000330  1a000001          BNE      |L1.828|
;;;70                 Uart_Printf("\n");
000334  e28f00d8          ADR      r0,|L1.1044|
000338  ebfffffe          BL       Uart_Printf
;;;71         }
                  |L1.828|
00033c  eaffffeb          B        |L1.752|
;;;72     
;;;73         Uart_Printf("Select the type of a flash memory ? ");
                  |L1.832|
000340  e28f00e0          ADR      r0,|L1.1064|
000344  ebfffffe          BL       Uart_Printf
;;;74         whichFlash=Uart_Getch()-'a';
000348  ebfffffe          BL       Uart_Getch
00034c  e2405061          SUB      r5,r0,#0x61
;;;75         Uart_Printf("%c\n",(whichFlash+'a'));
000350  e2851061          ADD      r1,r5,#0x61
000354  e28f00f4          ADR      r0,|L1.1104|
000358  ebfffffe          BL       Uart_Printf
;;;76         //Uart_Printf("\n");
;;;77     
;;;78         if( i<0 || (i>=(sizeof(flashType)/8)) )
00035c  e3540000          CMP      r4,#0
000360  ba000001          BLT      |L1.876|
000364  e3540004          CMP      r4,#4
000368  3a000000          BCC      |L1.880|
;;;79             return;
;;;80     
;;;81         Uart_Printf("Do you want to download through UART0 from 0x%x? [y/n] : ",downloadAddress);
;;;82         key=Uart_Getch();
;;;83         Uart_Printf("%c\n",key);
;;;84         if(key=='y')
;;;85         {
;;;86             if(!DownloadData())
;;;87                 return;
;;;88         }
;;;89     
;;;90         ( (void (*)(void))(flashType[whichFlash][0]) )();
;;;91     }
                  |L1.876|
00036c  e8bd8070          LDMFD    sp!,{r4-r6,pc}
                  |L1.880|
000370  e51f01f0          LDR      r0,|L1.392|           ;81
000374  e5901000          LDR      r1,[r0,#0]            ;81  ; downloadAddress
000378  e28f00d4          ADR      r0,|L1.1108|          ;81
00037c  ebfffffe          BL       Uart_Printf           ;81
000380  ebfffffe          BL       Uart_Getch            ;82
000384  e1a06000          MOV      r6,r0                 ;82
000388  e1a01006          MOV      r1,r6                 ;83
00038c  e28f00bc          ADR      r0,|L1.1104|          ;83
000390  ebfffffe          BL       Uart_Printf           ;83
000394  e3560079          CMP      r6,#0x79              ;84
000398  1a000003          BNE      |L1.940|              ;84
00039c  ebfffffe          BL       DownloadData          ;86
0003a0  e3500000          CMP      r0,#0                 ;86
0003a4  1a000000          BNE      |L1.940|              ;86
0003a8  eaffffef          B        |L1.876|              ;87
                  |L1.940|
0003ac  e59f1068          LDR      r1,|L1.1052|          ;90
0003b0  e7910185          LDR      r0,[r1,r5,LSL #3]     ;90
0003b4  e1a0e00f          MOV      lr,pc                 ;90
0003b8  e1a0f000          MOV      pc,r0                 ;90
0003bc  eaffffea          B        |L1.876|
                  |L1.960|
0003c0  4e205b0a          DCB      "\n[ N"
0003c4  4620524f          DCB      "OR F"
0003c8  6873616c          DCB      "lash"
0003cc  6d654d20          DCB      " Mem"
0003d0  2079726f          DCB      "ory "
0003d4  74697257          DCB      "Writ"
0003d8  56207265          DCB      "er V"
0003dc  30207265          DCB      "er 0"
0003e0  5d20312e          DCB      ".1 ]"
0003e4  00000a0a          DCB      "\n\n\0\0"
                  |L1.1000|
0003e8  20656854          DCB      "The "
0003ec  676f7270          DCB      "prog"
0003f0  206d6172          DCB      "ram "
0003f4  66667562          DCB      "buff"
0003f8  3a207265          DCB      "er :"
0003fc  33783020          DCB      " 0x3"
000400  30303031          DCB      "1000"
000404  20303030          DCB      "000 "
000408  7830207e          DCB      "~ 0x"
00040c  66663133          DCB      "31ff"
000410  30303030          DCB      "0000"
                  |L1.1044|
000414  0000000a          DCB      "\n\0\0\0"
                  |L1.1048|
000418  00000c12          DCD      0x00000c12
                  |L1.1052|
00041c  00000000          DCD      flashType
                  |L1.1056|
000420  3a206325          DCB      "%c :"
000424  00732520          DCB      " %s\0"
                  |L1.1064|
000428  656c6553          DCB      "Sele"
00042c  74207463          DCB      "ct t"
000430  74206568          DCB      "he t"
000434  20657079          DCB      "ype "
000438  6120666f          DCB      "of a"
00043c  616c6620          DCB      " fla"
000440  6d206873          DCB      "sh m"
000444  726f6d65          DCB      "emor"
000448  203f2079          DCB      "y ? "
00044c  00000000          DCB      "\0\0\0\0"
                  |L1.1104|
000450  000a6325          DCB      "%c\n\0"
                  |L1.1108|
000454  79206f44          DCB      "Do y"
000458  7720756f          DCB      "ou w"
00045c  20746e61          DCB      "ant "
000460  64206f74          DCB      "to d"
000464  6c6e776f          DCB      "ownl"
000468  2064616f          DCB      "oad "
00046c  6f726874          DCB      "thro"
000470  20686775          DCB      "ugh "
000474  54524155          DCB      "UART"
000478  72662030          DCB      "0 fr"
00047c  30206d6f          DCB      "om 0"
000480  3f782578          DCB      "x%x?"
000484  2f795b20          DCB      " [y/"
000488  3a205d6e          DCB      "n] :"
00048c  00000020          DCB      " \0\0\0"
                          ENDP



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

                  ||.data$0||
                  flashType
                          DCD      ProgramAM29F800
                          DCD      ||.constdata$1||
                          DCD      Program28F128J3A
                          DCD      ||.constdata$1||+0x15
                          DCD      Erase28F128J3A
                          DCD      ||.constdata$1||+0x2a
                          DCD      0x00000000
                          DCD      0x00000000


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

                  ||.constdata$1||
                          DCB      0x41,0x4d,0x32,0x39
                          DCB      0x4c,0x56,0x38,0x30
                          DCB      0x30,0x42,0x42,0x20
                          DCB      0x78,0x31,0x20,0x20
                          DCB      0x20,0x20,0x20,0x20
                          DCB      0x00
                          DCB      0x32,0x38,0x46,0x31
                          DCB      0x32,0x38,0x4a,0x33
                          DCB      0x41,0x28,0x31,0x36
                          DCB      0x4d,0x42,0x29,0x20
                          DCB      0x78,0x32,0x20,0x20
                          DCB      0x00
                          DCB      0x45,0x72,0x61,0x73
                          DCB      0x65,0x20,0x32,0x38
                          DCB      0x46,0x31,0x32,0x38
                          DCB      0x4a,0x33,0x41,0x09
                          DCB      0x00


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

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


        END

⌨️ 快捷键说明

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