📄 24a0test.txt
字号:
; generated by ARM C++ Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\24a0test.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
HaltDabort__Fv PROC ; HaltDabort()
;;;244 void HaltDabort(void)
;;;245 {
000000 e92d4010 STMFD sp!,{r4,lr}
;;;246 Uart_Printf("DFSR=0x%x\n",MMU_ReadDFSR());
000004 ebfffffe BL MMU_ReadDFSR
000008 e1a04000 MOV r4,r0
00000c e1a01000 MOV r1,r0
000010 e28f0024 ADR r0,|L1.60|
000014 ebfffffe BL _printf
;;;247 Uart_Printf("FAR=0x%x\n",MMU_ReadFAR());
000018 ebfffffe BL MMU_ReadFAR
00001c e1a04000 MOV r4,r0
000020 e1a01000 MOV r1,r0
000024 e28f001c ADR r0,|L1.72|
000028 ebfffffe BL _printf
;;;248 Uart_Printf("Dabort exception.\n");
00002c e28f0020 ADR r0,|L1.84|
000030 ebfffffe BL _printf
;;;249 while(1);
000034 e1a00000 NOP
|L1.56|
000038 eafffffe B |L1.56|
|L1.60|
00003c 52534644 DCB "DFSR"
000040 2578303d DCB "=0x%"
000044 00000a78 DCB "x\n\0\0"
|L1.72|
000048 3d524146 DCB "FAR="
00004c 78257830 DCB "0x%x"
000050 0000000a DCB "\n\0\0\0"
|L1.84|
000054 6f626144 DCB "Dabo"
000058 65207472 DCB "rt e"
00005c 70656378 DCB "xcep"
000060 6e6f6974 DCB "tion"
000064 00000a2e DCB ".\n\0\0"
;;;250 }
ENDP
HaltPabort__Fv PROC ; HaltPabort()
;;;235 void HaltPabort(void)
;;;236 {
000068 e92d4010 STMFD sp!,{r4,lr}
;;;237 Uart_Printf("IFSR=0x%x\n",MMU_ReadIFSR());
00006c ebfffffe BL MMU_ReadIFSR
000070 e1a04000 MOV r4,r0
000074 e1a01000 MOV r1,r0
000078 e28f0024 ADR r0,|L1.164|
00007c ebfffffe BL _printf
;;;238 Uart_Printf("FAR=0x%x\n",MMU_ReadFAR());
000080 ebfffffe BL MMU_ReadFAR
000084 e1a04000 MOV r4,r0
000088 e1a01000 MOV r1,r0
00008c e24f004c ADR r0,|L1.72|
000090 ebfffffe BL _printf
;;;239 Uart_Printf("Pabort exception.\n");
000094 e28f0014 ADR r0,|L1.176|
000098 ebfffffe BL _printf
;;;240 while(1);
00009c e1a00000 NOP
|L1.160|
0000a0 eafffffe B |L1.160|
|L1.164|
0000a4 52534649 DCB "IFSR"
0000a8 2578303d DCB "=0x%"
0000ac 00000a78 DCB "x\n\0\0"
|L1.176|
0000b0 6f626150 DCB "Pabo"
0000b4 65207472 DCB "rt e"
0000b8 70656378 DCB "xcep"
0000bc 6e6f6974 DCB "tion"
0000c0 00000a2e DCB ".\n\0\0"
;;;241 }
ENDP
HaltSwi__Fv PROC ; HaltSwi()
;;;228 void HaltSwi(void)
;;;229 {
0000c4 e92d4008 STMFD sp!,{r3,lr}
;;;230 Uart_Printf("SWI exception.\n");
0000c8 e28f0008 ADR r0,|L1.216|
0000cc ebfffffe BL _printf
;;;231 while(1);
0000d0 e1a00000 NOP
|L1.212|
0000d4 eafffffe B |L1.212|
|L1.216|
0000d8 20495753 DCB "SWI "
0000dc 65637865 DCB "exce"
0000e0 6f697470 DCB "ptio"
0000e4 000a2e6e DCB "n.\n\0"
;;;232 }
ENDP
HaltUndef__Fv PROC ; HaltUndef()
;;;221 void HaltUndef(void)
;;;222 {
0000e8 e92d4008 STMFD sp!,{r3,lr}
;;;223 Uart_Printf("Undefined instruction exception.\n");
0000ec e28f0008 ADR r0,|L1.252|
0000f0 ebfffffe BL _printf
;;;224 while(1);
0000f4 e1a00000 NOP
|L1.248|
0000f8 eafffffe B |L1.248|
|L1.252|
0000fc 65646e55 DCB "Unde"
000100 656e6966 DCB "fine"
000104 6e692064 DCB "d in"
000108 75727473 DCB "stru"
00010c 6f697463 DCB "ctio"
000110 7865206e DCB "n ex"
000114 74706563 DCB "cept"
000118 2e6e6f69 DCB "ion."
|L1.284|
00011c 0000000a DCB "\n\0\0\0"
;;;225 }
ENDP
Isr_Init__Fv PROC ; Isr_Init()
;;;209 void Isr_Init(void)
;;;210 {
000120 e59f0200 LDR r0,|L1.808|
;;;211 pISR_UNDEF = (unsigned)HaltUndef;
000124 e59f1200 LDR r1,|L1.812|
000128 e5810f04 STR r0,[r1,#0xf04]
;;;212 pISR_SWI = (unsigned)HaltSwi;
00012c e59f01fc LDR r0,|L1.816|
000130 e5810f08 STR r0,[r1,#0xf08]
;;;213 pISR_PABORT = (unsigned)HaltPabort;
000134 e59f01f8 LDR r0,|L1.820|
000138 e5810f0c STR r0,[r1,#0xf0c]
;;;214 pISR_DABORT = (unsigned)HaltDabort;
00013c e59f01f4 LDR r0,|L1.824|
000140 e5810f10 STR r0,[r1,#0xf10]
;;;215
;;;216 rINTMOD = 0x0; //All=IRQ mode
000144 e3a00000 MOV r0,#0
000148 e59f11ec LDR r1,|L1.828|
00014c e5810004 STR r0,[r1,#4]
;;;217 rINTMSK = BIT_ALLMSK; //All interrupt is masked.
000150 e3e00000 MVN r0,#0
000154 e0011000 AND r1,r1,r0
000158 e5810008 STR r0,[r1,#8]
;;;218 rINTSUBMSK = BIT_SUB_ALLMSK; //All sub-interrupt is masked.
00015c e3e004e0 MVN r0,#0xe0000000
000160 e1c11440 BIC r1,r1,r0,ASR #8
000164 e581001c STR r0,[r1,#0x1c]
;;;219 }
000168 e12fff1e BX lr
ENDP
main PROC
;;;122 #endif //(ADS10 && USE_MAIN)
;;;123 { //main start
00016c e92d4010 STMFD sp!,{r4,lr}
;;;124 int i;
;;;125
;;;126 MMU_Init();
000170 ebfffffe BL MMU_Init
;;;127
;;;128 #if (ADS10 && !USE_MAIN)
;;;129 __rt_lib_init(); //for ADS 1.0
;;;130 #endif
;;;131
;;;132 rPRIORITY1 = 0x01; //Bus priority: rotating
000174 e3a00001 MOV r0,#1
000178 e59f11c0 LDR r1,|L1.832|
00017c e5810004 STR r0,[r1,#4]
;;;133
;;;134 //To make margin
;;;135 PreChangeSdramParameter();
000180 ebfffffe BL PreChangeSdramParameter
;;;136 PreChangeSromParameter(3);//0:bank0, 1:bank1, 2:bank2, 3:all banks
000184 e3a00003 MOV r0,#3
000188 ebfffffe BL PreChangeSromParameter
;;;137
;;;138 //(0,0)=1:1:1, (0,1)=1:1:2, (1,0)=1:2:2 (1,1)=1:2:4, (2,0)=1:4:5, (2,1)=1:4:8
;;;139 ChangeClockDivider(1,1);
00018c e3a01001 MOV r1,#1
000190 e3a00001 MOV r0,#1
000194 ebfffffe BL ChangeClockDivider
;;;140
;;;141 //(76,4,1)=84Mhz, (93,4,1)=101Mhz, (54,1,1)=124Mhz, (68,4,0)=152Mhz
;;;142 //(93,4,0)=202Mhz, (47,1,0)=220Mhz, (72,2,0)=240Mhz, (79,2,0)=261Mhz
;;;143 ChangeMPllValue(60,2,0);// FCLK=204MHz
000198 e3a02000 MOV r2,#0
00019c e3a01002 MOV r1,#2
0001a0 e3a0003c MOV r0,#0x3c
0001a4 ebfffffe BL ChangeMPllValue
;;;144 ChangeSdramParameter(HCLK);
0001a8 e59f0194 LDR r0,|L1.836|
0001ac ebfffffe BL ChangeSdramParameter
;;;145 //if hclk 50mhz, then hclk=50000000,
;;;146 //port => 1:SDRAM Xp Port, 2:SDRAM Xd Port, 3: both ports
;;;147
;;;148 ChangeSromParameter(HCLK, 3);//0:bank0, 1:bank1, 2:bank2, 3:all banks
0001b0 e3a01003 MOV r1,#3
0001b4 e59f0188 LDR r0,|L1.836|
0001b8 ebfffffe BL ChangeSromParameter
;;;149
;;;150 Port_Init();
0001bc ebfffffe BL Port_Init
;;;151 Led_Display(0xf);//all on
0001c0 e3a0000f MOV r0,#0xf
0001c4 ebfffffe BL Led_Display
;;;152 Isr_Init();
0001c8 ebfffffe BL Isr_Init__Fv
;;;153
;;;154 Uart_Init(0,115200);
0001cc e59f1174 LDR r1,|L1.840|
0001d0 e3a00000 MOV r0,#0
0001d4 ebfffffe BL Uart_Init
;;;155 Uart_Select(0);
0001d8 e3a00000 MOV r0,#0
0001dc ebfffffe BL Uart_Select
;;;156 Delay(1); //calibrate Delay()
0001e0 e3a00001 MOV r0,#1
0001e4 ebfffffe BL Delay
;;;157
;;;158 // Alive key check
;;;159 if( (SRAMKey_Sleep0==0xaaaa5555) && (SRAMKey_Sleep1==0x5555aaaa) )//Sleep mode wake-up
0001e8 e59f015c LDR r0,|L1.844|
0001ec e5900080 LDR r0,[r0,#0x80]
0001f0 e59f1158 LDR r1,|L1.848|
0001f4 e1500001 CMP r0,r1
0001f8 1a000005 BNE |L1.532|
0001fc e59f0148 LDR r0,|L1.844|
000200 e59000bc LDR r0,[r0,#0xbc]
000204 e1a01861 MOV r1,r1,ROR #16
000208 e1500001 CMP r0,r1
00020c 1a000000 BNE |L1.532|
;;;160 Test_SleepMode();
000210 ebfffffe BL Test_SleepMode
;;;161 if( rALIVECON & ~0x3 )
|L1.532|
000214 e59f0130 LDR r0,|L1.844|
000218 e5900044 LDR r0,[r0,#0x44]
00021c e3d00003 BICS r0,r0,#3
000220 0a000016 BEQ |L1.640|
;;;162 {
;;;163 if( rALIVECON & 1<<4 )
000224 e59f0120 LDR r0,|L1.844|
000228 e5900044 LDR r0,[r0,#0x44]
00022c e3100010 TST r0,#0x10
000230 0a000001 BEQ |L1.572|
;;;164 Test_WarmReset();
000234 ebfffffe BL Test_WarmReset
000238 ea000010 B |L1.640|
;;;165 else if( rALIVECON & 1<<5 )
|L1.572|
00023c e59f0108 LDR r0,|L1.844|
000240 e5900044 LDR r0,[r0,#0x44]
000244 e3100020 TST r0,#0x20
000248 0a000001 BEQ |L1.596|
;;;166 Test_WDTReset();
00024c ebfffffe BL Test_WDTReset
000250 ea00000a B |L1.640|
;;;167 else if( rALIVECON & 1<<6 )
|L1.596|
000254 e59f00f0 LDR r0,|L1.844|
000258 e5900044 LDR r0,[r0,#0x44]
00025c e3100040 TST r0,#0x40
000260 0a000001 BEQ |L1.620|
;;;168 Test_SoftReset();
000264 ebfffffe BL Test_SoftReset
000268 ea000004 B |L1.640|
;;;169 else if( rALIVECON & 1<<7 )
|L1.620|
00026c e59f00d8 LDR r0,|L1.844|
000270 e5900044 LDR r0,[r0,#0x44]
000274 e3100080 TST r0,#0x80
000278 0a000000 BEQ |L1.640|
;;;170 Test_BattFault();
00027c ebfffffe BL Test_BattFault
;;;171 }
;;;172
;;;173 //Turn on LCD. All test will be done while the LCD is turned on.
;;;174 Test_Lcd_8Bit_240320_On();
|L1.640|
000280 ebfffffe BL Test_Lcd_8Bit_240320_On
;;;175 //SetCAMClockDivider(1);
;;;176 //Init_Sccb_Port();
;;;177 //Init_Camera_Module_YCbCr_VGA();
;;;178
;;;179 //Uart_Printf("configuration : %x\n", rP1BANKCFG);
;;;180
;;;181 while(1)
000284 e1a00000 NOP
|L1.648|
000288 e1a00000 NOP
;;;182 {
;;;183 i = 0;
00028c e3a04000 MOV r4,#0
;;;184 Uart_Printf("\n\nSMDK24A0 Test Program Ver 0.1(20040201) FCLK = %d Hz\n\n", FCLK);
000290 e59f10bc LDR r1,|L1.852|
000294 e28f00bc ADR r0,|L1.856|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -