📄 profile.txt
字号:
; generated by ARM C Compiler, ADS1.2 [Build 842]
; commandline [-errors .\err\profile.err -O0 -asm -g+ -cpu 5TEJ -fs -Wd -Ec -I.\include "-IC:\Program Files\ARM\ADSv1_2\INCLUDE"]
CODE32
AREA ||.text||, CODE, READONLY
IsrWatchdog PROC
;;;60 void __irq IsrWatchdog(void)
;;;61 {
|L1.0|
000000 e92d0003 STMFD sp!,{r0,r1}
;;;62 ClearPending(BIT_WDT_BATFLT);
000004 e3a00b40 MOV r0,#0x10000
000008 e59f1160 LDR r1,|L1.368|
00000c e5810000 STR r0,[r1,#0]
000010 e1c10000 BIC r0,r1,r0
000014 e5900010 LDR r0,[r0,#0x10]
000018 e5810010 STR r0,[r1,#0x10]
00001c e1a00001 MOV r0,r1
000020 e5900010 LDR r0,[r0,#0x10]
;;;63 rSUBSRCPND|=BIT_SUB_WDT;
000024 e1a00001 MOV r0,r1
000028 e5900018 LDR r0,[r0,#0x18]
00002c e3800d80 ORR r0,r0,#0x2000
000030 e5810018 STR r0,[r1,#0x18]
;;;64 intCount++;
000034 e59f0138 LDR r0,|L1.372|
000038 e5900000 LDR r0,[r0,#0] ; intCount
00003c e2800001 ADD r0,r0,#1
000040 e59f112c LDR r1,|L1.372|
000044 e5810000 STR r0,[r1,#0] ; intCount
;;;65 }
000048 e8bd0003 LDMFD sp!,{r0,r1}
00004c e25ef004 SUBS pc,lr,#4
ENDP
Timer_InitEx PROC
;;;26 void Timer_InitEx(void)
;;;27 {
000050 e3a00000 MOV r0,#0
;;;28 intCount=0;
000054 e59f1118 LDR r1,|L1.372|
000058 e5810000 STR r0,[r1,#0] ; intCount
;;;29 pISR_WDT_BATFLT=(U32)IsrWatchdog;
00005c e59f0114 LDR r0,|L1.376|
000060 e59f1114 LDR r1,|L1.380|
000064 e5810f60 STR r0,[r1,#0xf60]
;;;30 ClearPending(BIT_WDT_BATFLT);
000068 e3a00b40 MOV r0,#0x10000
00006c e59f10fc LDR r1,|L1.368|
000070 e5810000 STR r0,[r1,#0]
000074 e1c10000 BIC r0,r1,r0
000078 e5900010 LDR r0,[r0,#0x10]
00007c e5810010 STR r0,[r1,#0x10]
000080 e1a00001 MOV r0,r1
000084 e5900010 LDR r0,[r0,#0x10]
;;;31 rSUBSRCPND|=BIT_SUB_WDT;
000088 e1a00001 MOV r0,r1
00008c e5900018 LDR r0,[r0,#0x18]
000090 e3800d80 ORR r0,r0,#0x2000
000094 e5810018 STR r0,[r1,#0x18]
;;;32 rINTMSK&=~(BIT_WDT_BATFLT);
000098 e1a00001 MOV r0,r1
00009c e5900008 LDR r0,[r0,#8]
0000a0 e3c00b40 BIC r0,r0,#0x10000
0000a4 e5810008 STR r0,[r1,#8]
;;;33 rINTSUBMSK&=~(BIT_SUB_WDT);
0000a8 e1a00001 MOV r0,r1
0000ac e590001c LDR r0,[r0,#0x1c]
0000b0 e3c00d80 BIC r0,r0,#0x2000
0000b4 e581001c STR r0,[r1,#0x1c]
;;;34 }
0000b8 e12fff1e BX lr
ENDP
Timer_StartEx PROC
;;;37 void Timer_StartEx(void)
;;;38 {
0000bc e3a02000 MOV r2,#0
;;;39 int divider=0;
;;;40 rWTCON=((PCLK/1000000-1)<<8)|(0<<3)|(1<<2); // 16us
0000c0 e59f00b8 LDR r0,|L1.384|
0000c4 e59f10b8 LDR r1,|L1.388|
0000c8 e5810000 STR r0,[r1,#0]
;;;41 rWTDAT=0xffff;
0000cc e59f00b4 LDR r0,|L1.392|
0000d0 e1c11000 BIC r1,r1,r0
0000d4 e5810004 STR r0,[r1,#4]
;;;42 rWTCNT=0xffff;
0000d8 e1c11000 BIC r1,r1,r0
0000dc e5810008 STR r0,[r1,#8]
;;;43
;;;44 // 1/16/(65+1),interrupt enable,reset disable,watchdog enable
;;;45 rWTCON=((PCLK/1000000-1)<<8)|(0<<3)|(1<<2)|(0<<0)|(1<<5);
0000e0 e59f00a4 LDR r0,|L1.396|
0000e4 e1c11000 BIC r1,r1,r0
0000e8 e5810000 STR r0,[r1,#0]
;;;46 }
0000ec e12fff1e BX lr
ENDP
Timer_StopEx PROC
;;;50 float Timer_StopEx(void)
;;;51 {
0000f0 e92d4030 STMFD sp!,{r4,r5,lr}
0000f4 e24dd014 SUB sp,sp,#0x14
;;;52 int count;
;;;53 rWTCON=((PCLK/1000000-1)<<8);
0000f8 e3a00dc8 MOV r0,#0x3200
0000fc e59f1080 LDR r1,|L1.388|
000100 e5810000 STR r0,[r1,#0]
;;;54 rINTMSK|=BIT_WDT_BATFLT;
000104 e24107fc SUB r0,r1,#0x3f00000
000108 e5900008 LDR r0,[r0,#8]
00010c e3800b40 ORR r0,r0,#0x10000
000110 e24117fc SUB r1,r1,#0x3f00000
000114 e5810008 STR r0,[r1,#8]
;;;55 count=(0xffff-rWTCNT)+(intCount*0xffff);
000118 e28107fc ADD r0,r1,#0x3f00000
00011c e5900008 LDR r0,[r0,#8]
000120 e26000ff RSB r0,r0,#0xff
000124 e2800cff ADD r0,r0,#0xff00
000128 e59f1044 LDR r1,|L1.372|
00012c e5911000 LDR r1,[r1,#0] ; intCount
000130 e0611801 RSB r1,r1,r1,LSL #16
000134 e0804001 ADD r4,r0,r1
;;;56 return ((float)count*(16e-6));
000138 e1a00004 MOV r0,r4
00013c ebfffffe BL _fflt
000140 e1a05000 MOV r5,r0
000144 ebfffffe BL _f2d
000148 e98d0003 STMIB sp,{r0,r1}
00014c e28f003c ADR r0,|L1.400|
000150 e890000c LDMIA r0,{r2,r3}
000154 e59d0004 LDR r0,[sp,#4]
000158 ebfffffe BL _dmul
00015c e58d000c STR r0,[sp,#0xc]
000160 e58d1010 STR r1,[sp,#0x10]
000164 ebfffffe BL _d2f
000168 e28dd014 ADD sp,sp,#0x14
;;;57 }
00016c e8bd8030 LDMFD sp!,{r4,r5,pc}
|L1.368|
000170 40200000 DCD 0x40200000
|L1.372|
000174 00000000 DCD ||.bss$2||
|L1.376|
000178 00000000 DCD IsrWatchdog
|L1.380|
00017c 13fff000 DCD 0x13fff000
|L1.384|
000180 00003204 DCD 0x00003204
|L1.388|
000184 44100000 DCD 0x44100000
|L1.392|
000188 0000ffff DCD 0x0000ffff
|L1.396|
00018c 00003224 DCD 0x00003224
|L1.400|
000190 a0b5ed8d DCFD 0x3ef0c6f7a0b5ed8d ; 16e-6
000194 3ef0c6f7
ENDP
AREA ||.bss||, NOINIT, ALIGN=2
intCount
||.bss$2||
% 4
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -