📄 pwr_c.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 805]
; commandline [-errors .\err\pwr_c.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
compare2 PROC
;;;185 int compare2(const void *a,const void *b)
;;;186 {
|L1.0|
000000 e1a02000 MOV r2,r0
;;;187 if(*(int *)a>*(int *)b)
000004 e5920000 LDR r0,[r2,#0]
000008 e5913000 LDR r3,[r1,#0]
00000c e1500003 CMP r0,r3
000010 da000001 BLE |L1.28|
;;;188 return -1;
000014 e3e00000 MVN r0,#0
;;;189 else if(*(int *)a==*(int *)b)
;;;190 return 0;
;;;191 else
;;;192 return 1;
;;;193 }
|L1.24|
000018 e12fff1e BX lr
|L1.28|
00001c e5920000 LDR r0,[r2,#0] ;189
000020 e5913000 LDR r3,[r1,#0] ;189
000024 e1500003 CMP r0,r3 ;189
000028 1a000001 BNE |L1.52| ;189
00002c e3a00000 MOV r0,#0 ;190
000030 eafffff8 B |L1.24| ;190
|L1.52|
000034 e3a00001 MOV r0,#1 ;192
000038 eafffff6 B |L1.24| ;192
ENDP
compare1 PROC
;;;175 int compare1(const void *a,const void *b)
;;;176 {
00003c e1a02000 MOV r2,r0
;;;177 if(*(int *)a>*(int *)b)
000040 e5920000 LDR r0,[r2,#0]
000044 e5913000 LDR r3,[r1,#0]
000048 e1500003 CMP r0,r3
00004c da000001 BLE |L1.88|
;;;178 return 1;
000050 e3a00001 MOV r0,#1
;;;179 else if(*(int *)a==*(int *)b)
;;;180 return 0;
;;;181 else
;;;182 return -1;
;;;183 }
|L1.84|
000054 e12fff1e BX lr
|L1.88|
000058 e5920000 LDR r0,[r2,#0] ;179
00005c e5913000 LDR r3,[r1,#0] ;179
000060 e1500003 CMP r0,r3 ;179
000064 1a000001 BNE |L1.112| ;179
000068 e3a00000 MOV r0,#0 ;180
00006c eafffff8 B |L1.84| ;180
|L1.112|
000070 e3e00000 MVN r0,#0 ;182
000074 eafffff6 B |L1.84| ;182
ENDP
PWR_IsrDma2 PROC
;;;275 void __irq PWR_IsrDma2(void)
;;;276 {
000078 e92d500f STMFD sp!,{r0-r3,r12,lr}
;;;277 rINTSUBMSK=rINTSUBMSK|(BIT_SUB_DMA2);
00007c e59f007c LDR r0,|L1.256|
000080 e590001c LDR r0,[r0,#0x1c]
000084 e3800680 ORR r0,r0,#0x8000000
000088 e59f1070 LDR r1,|L1.256|
00008c e581001c STR r0,[r1,#0x1c]
;;;278 rINTMSK=rINTMSK|(BIT_DMA);
000090 e1a00001 MOV r0,r1
000094 e5900008 LDR r0,[r0,#8]
000098 e3800940 ORR r0,r0,#0x100000
00009c e5810008 STR r0,[r1,#8]
;;;279 ClearPending(BIT_DMA);
0000a0 e3a00940 MOV r0,#0x100000
0000a4 e1c11000 BIC r1,r1,r0
0000a8 e5810000 STR r0,[r1,#0]
0000ac e1c10000 BIC r0,r1,r0
0000b0 e5900010 LDR r0,[r0,#0x10]
0000b4 e5810010 STR r0,[r1,#0x10]
0000b8 e1a00001 MOV r0,r1
0000bc e5900010 LDR r0,[r0,#0x10]
;;;280 rSUBSRCPND=BIT_SUB_DMA0;
0000c0 e3a00780 MOV r0,#0x2000000
0000c4 e1c11000 BIC r1,r1,r0
0000c8 e5810018 STR r0,[r1,#0x18]
;;;281
;;;282 Uart_Printf("#");
0000cc e28f0030 ADR r0,|L1.260|
0000d0 ebfffffe BL _printf
;;;283
;;;284 rINTMSK=rINTMSK&~(BIT_DMA);
0000d4 e59f0024 LDR r0,|L1.256|
0000d8 e5900008 LDR r0,[r0,#8]
0000dc e3c00940 BIC r0,r0,#0x100000
0000e0 e59f1018 LDR r1,|L1.256|
0000e4 e5810008 STR r0,[r1,#8]
;;;285 rINTSUBMSK=rINTSUBMSK&~(BIT_SUB_DMA2);
0000e8 e1a00001 MOV r0,r1
0000ec e590001c LDR r0,[r0,#0x1c]
0000f0 e3c00680 BIC r0,r0,#0x8000000
0000f4 e581001c STR r0,[r1,#0x1c]
;;;286 }
0000f8 e8bd500f LDMFD sp!,{r0-r3,r12,lr}
0000fc e25ef004 SUBS pc,lr,#4
|L1.256|
000100 40200000 DCD 0x40200000
|L1.260|
000104 00000023 DCB "#\0\0\0"
ENDP
PWR_StartIIS PROC
;;;288 void PWR_StartIIS(void)
;;;289 {
000108 e92d4008 STMFD sp!,{r3,lr}
;;;290 Uart_Printf("IIS(DMA2) is running(CDCLK=16.9Mhz,LRCK=44.1Khz).\n");
00010c e28f00e4 ADR r0,|L1.504|
000110 ebfffffe BL _printf
;;;291
;;;292 pISR_DMA=(unsigned)PWR_IsrDma2;
000114 e59f0110 LDR r0,|L1.556|
000118 e59f1110 LDR r1,|L1.560|
00011c e5810f70 STR r0,[r1,#0xf70]
;;;293 //Clear interrupt pending
;;;294 ClearPending(BIT_DMA);
000120 e3a00940 MOV r0,#0x100000
000124 e51f102c LDR r1,|L1.256|
000128 e5810000 STR r0,[r1,#0]
00012c e1c10000 BIC r0,r1,r0
000130 e5900010 LDR r0,[r0,#0x10]
000134 e5810010 STR r0,[r1,#0x10]
000138 e1a00001 MOV r0,r1
00013c e5900010 LDR r0,[r0,#0x10]
;;;295 rSUBSRCPND=BIT_SUB_DMA2;
000140 e3a00680 MOV r0,#0x8000000
000144 e1c11000 BIC r1,r1,r0
000148 e5810018 STR r0,[r1,#0x18]
;;;296 //Unmask interrupt
;;;297 rINTMSK=rINTMSK&~(BIT_DMA);
00014c e1c10000 BIC r0,r1,r0
000150 e5900008 LDR r0,[r0,#8]
000154 e3c00940 BIC r0,r0,#0x100000
000158 e5810008 STR r0,[r1,#8]
;;;298 rINTSUBMSK=rINTSUBMSK&~(BIT_SUB_DMA2);
00015c e1a00001 MOV r0,r1
000160 e590001c LDR r0,[r0,#0x1c]
000164 e3c00680 BIC r0,r0,#0x8000000
000168 e581001c STR r0,[r1,#0x1c]
;;;299
;;;300 rDISRC2=(U32)buf3;
00016c e59f00c0 LDR r0,|L1.564|
000170 e2811840 ADD r1,r1,#0x400000
000174 e5810000 STR r0,[r1,#0]
;;;301 rDISRCC2=(0<<1)|(0<<0);//src=AHB,increment
000178 e3a00000 MOV r0,#0
00017c e1c11000 BIC r1,r1,r0
000180 e5810004 STR r0,[r1,#4]
;;;302 rDIDST2=((U32) IISFIFO);
000184 e59f00ac LDR r0,|L1.568|
000188 e0011000 AND r1,r1,r0
00018c e5810008 STR r0,[r1,#8]
;;;303 rDIDSTC2=(1<<1)|(1<<0); //APB,fix
000190 e3a00003 MOV r0,#3
000194 e1c11000 BIC r1,r1,r0
000198 e581000c STR r0,[r1,#0xc]
;;;304 rDCON2=(1<<31)|(0<<30)|(1<<29)|(0<<28)|(0<<27)|(1<<24)|(1<<23)|(0<<22)|(1<<20)|(4096);
00019c e59f0098 LDR r0,|L1.572|
0001a0 e1c11000 BIC r1,r1,r0
0001a4 e5810010 STR r0,[r1,#0x10]
;;;305 //handshake, sync PCLK, TC int, single tx, single service, I2SSDO, I2S request,
;;;306 //auto-reload, half-word,
;;;307 rDMASKTRIG2=(1<<1)|(0); //DMA2 channel on, no-sw trigger
0001a8 e3a00002 MOV r0,#2
0001ac e1c11000 BIC r1,r1,r0
0001b0 e5810020 STR r0,[r1,#0x20]
;;;308
;;;309 rIISPSR=(2<<5)|(2<<0); //IIS_LRCK=44.1Khz @384fs,PCLK=50Mhz.
0001b4 e3a00042 MOV r0,#0x42
0001b8 e2811641 ADD r1,r1,#0x4100000
0001bc e5810008 STR r0,[r1,#8]
;;;310 rIISCON=(1<<5)|(1<<2)|(1<<1);
0001c0 e3a00026 MOV r0,#0x26
0001c4 e1c11000 BIC r1,r1,r0
0001c8 e5810000 STR r0,[r1,#0]
;;;311 //Tx DMA enable,Rx idle,prescaler enable
;;;312 rIISMOD=(2<<6)|(1<<3)|(1<<2)|(1<<0);
0001cc e3a0008d MOV r0,#0x8d
0001d0 e1c11000 BIC r1,r1,r0
0001d4 e5810004 STR r0,[r1,#4]
;;;313 //Master,Tx,L-ch=low,iis,16bit ch.,CDCLK=384fs,IISCLK=32fs
;;;314 rIISFCON=(1<<15)|(1<<13); //Tx DMA,Tx FIFO enable
0001d8 e3a00ca0 MOV r0,#0xa000
0001dc e1c11000 BIC r1,r1,r0
0001e0 e581000c STR r0,[r1,#0xc]
;;;315 rIISCON |=0x1;
0001e4 e1c10000 BIC r0,r1,r0
0001e8 e5900000 LDR r0,[r0,#0]
0001ec e3800001 ORR r0,r0,#1
0001f0 e5810000 STR r0,[r1,#0]
;;;316 }
0001f4 e8bd8008 LDMFD sp!,{r3,pc}
|L1.504|
0001f8 28534949 DCB "IIS("
0001fc 32414d44 DCB "DMA2"
000200 73692029 DCB ") is"
000204 6e757220 DCB " run"
000208 676e696e DCB "ning"
00020c 43444328 DCB "(CDC"
000210 313d4b4c DCB "LK=1"
000214 4d392e36 DCB "6.9M"
000218 4c2c7a68 DCB "hz,L"
00021c 3d4b4352 DCB "RCK="
000220 312e3434 DCB "44.1"
000224 297a684b DCB "Khz)"
000228 00000a2e DCB ".\n\0\0"
|L1.556|
00022c 00000000 DCD PWR_IsrDma2
|L1.560|
000230 13fff000 DCD 0x13fff000
|L1.564|
000234 00042004 DCD ||.bss$2|| + 270340
|L1.568|
000238 44700010 DCD 0x44700010
|L1.572|
00023c a1901000 DCD 0xa1901000
ENDP
PWR_Lcd_Tft_16Bit_240320_On PROC
;;;201 void PWR_Lcd_Tft_16Bit_240320_On(void)
;;;202 {
000240 e92d4008 STMFD sp!,{r3,lr}
;;;203
;;;204 int i,j,k;
;;;205 LcdBGInit(MODE_PAR_16BIT565_240320);
000244 e59f00a0 LDR r0,|L1.748|
000248 ebfffffe BL LcdBGInit
;;;206 LcdEnvidOnOff(1);
00024c e3a00001 MOV r0,#1
000250 ebfffffe BL LcdEnvidOnOff
;;;207
;;;208 GlibRectangle(0,0,239,319,0x07e0);
000254 e3a03e7e MOV r3,#0x7e0
000258 e58d3000 STR r3,[sp,#0]
00025c e59f308c LDR r3,|L1.752|
000260 e3a020ef MOV r2,#0xef
000264 e3a01000 MOV r1,#0
000268 e3a00000 MOV r0,#0
00026c ebfffffe BL GlibRectangle
;;;209 GlibFilledRectangle(0,0,20,20,65535);
000270 e59f307c LDR r3,|L1.756|
000274 e58d3000 STR r3,[sp,#0]
000278 e3a03014 MOV r3,#0x14
00027c e3a02014 MOV r2,#0x14
000280 e3a01000 MOV r1,#0
000284 e3a00000 MOV r0,#0
000288 ebfffffe BL GlibFilledRectangle
;;;210 GlibRectangle(220,300,239,319,65535);
00028c e59f3060 LDR r3,|L1.756|
000290 e58d3000 STR r3,[sp,#0]
000294 e59f3054 LDR r3,|L1.752|
000298 e3a020ef MOV r2,#0xef
00029c e3a01f4b MOV r1,#0x12c
0002a0 e3a000dc MOV r0,#0xdc
0002a4 ebfffffe BL GlibRectangle
;;;211 GlibLine(0,0,239,319,0x1f);
0002a8 e3a0301f MOV r3,#0x1f
0002ac e58d3000 STR r3,[sp,#0]
0002b0 e2833f48 ADD r3,r3,#0x120
0002b4 e3a020ef MOV r2,#0xef
0002b8 e3a01000 MOV r1,#0
0002bc e3a00000 MOV r0,#0
0002c0 ebfffffe BL GlibLine
;;;212 GlibLine(239,0,0,319,0xf800);
0002c4 e3a03cf8 MOV r3,#0xf800
0002c8 e58d3000 STR r3,[sp,#0]
0002cc e59f301c LDR r3,|L1.752|
0002d0 e3a02000 MOV r2,#0
0002d4 e3a01000 MOV r1,#0
0002d8 e3a000ef MOV r0,#0xef
0002dc ebfffffe BL GlibLine
;;;213 Uart_Printf("TFT 64K color mode test.\n");
0002e0 e28f0010 ADR r0,|L1.760|
0002e4 ebfffffe BL _printf
;;;214 }
0002e8 e8bd8008 LDMFD sp!,{r3,pc}
|L1.748|
0002ec 00002205 DCD 0x00002205
|L1.752|
0002f0 0000013f DCD 0x0000013f
|L1.756|
0002f4 0000ffff DCD 0x0000ffff
|L1.760|
0002f8 20544654 DCB "TFT "
0002fc 204b3436 DCB "64K "
000300 6f6c6f63 DCB "colo"
000304 6f6d2072 DCB "r mo"
000308 74206564 DCB "de t"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -