📄 main.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.0 [Build 951] for uVision
; commandline ArmCC [--thumb --debug -c --asm --interleave -o.\output\main.o --feedback=.\output\Testat45db161.fed --device=DARMST --apcs=interwork -O0 -Id:\Keil\ARM\INC\ST\71x src\app\main.c]
THUMB
AREA ||.text.7||, CODE, READONLY, ALIGN=2
Interrupts_init PROC
;;;290
;;;291 EIC->IVR = ( u32 )IRQ_UART0_RXD;
000000 489e LDR r0,|L1.636|
000002 499f LDR r1,|L1.640|
000004 6188 STR r0,[r1,#0x18]
;;;292 EIC->SIR[UART0_IRQChannel] = ( 8 | ( ( u32 )IRQ_UART0_RXD << 16 ) );
000006 0401 LSLS r1,r0,#16
000008 2008 MOVS r0,#8
00000a 4301 ORRS r1,r1,r0
00000c 489c LDR r0,|L1.640|
00000e 3060 ADDS r0,r0,#0x60
000010 6241 STR r1,[r0,#0x24]
;;;293 EIC_IRQChannelConfig( UART0_IRQChannel, ENABLE );
000012 46c0 MOV r8,r8
000014 2001 MOVS r0,#1
000016 2801 CMP r0,#1
000018 d108 BNE |L1.44|
00001a 4899 LDR r0,|L1.640|
00001c 6a01 LDR r1,[r0,#0x20]
00001e 2209 MOVS r2,#9
000020 2001 MOVS r0,#1
000022 4090 LSLS r0,r0,r2
000024 4301 ORRS r1,r1,r0
000026 4896 LDR r0,|L1.640|
000028 6201 STR r1,[r0,#0x20]
00002a e007 B |L1.60|
|L1.44|
00002c 4894 LDR r0,|L1.640|
00002e 6a01 LDR r1,[r0,#0x20]
000030 2209 MOVS r2,#9
000032 2001 MOVS r0,#1
000034 4090 LSLS r0,r0,r2
000036 4381 BICS r1,r1,r0
000038 4891 LDR r0,|L1.640|
00003a 6201 STR r1,[r0,#0x20]
|L1.60|
00003c 46c0 MOV r8,r8
;;;294 }
00003e 4770 BX lr
ENDP
LED_A_flash PROC
;;;298 void LED_A_flash (void) __task //for test
;;;299 {
000040 b510 PUSH {r4,lr}
000042 4b90 LDR r3,|L1.644|
000044 449d ADD sp,sp,r3
;;;300 //u8 i;
;;;301 //u16 page;
;;;302 u8 cmd;
;;;303 u8 array1[10]={0,0,0,0,0,0,0,0,0,0};
000046 4890 LDR r0,|L1.648|
000048 4468 ADD r0,r0,sp
00004a 2100 MOVS r1,#0
00004c 000a MOVS r2,r1
00004e 000b MOVS r3,r1
000050 c00e STM r0!,{r1-r3}
;;;304 u8 array2[10]={10,9,8,7,6,5,4,3,2,1};
000052 3818 SUBS r0,r0,#0x18
000054 a18d ADR r1,|L1.652|
000056 c91c LDM r1!,{r2-r4}
000058 c01c STM r0!,{r2-r4}
;;;305
;;;306 u8 RData[3160];
;;;307 memset(RData ,0, 3160);
00005a 498b LDR r1,|L1.648|
00005c 390c SUBS r1,r1,#0xc
00005e 4668 MOV r0,sp
000060 f7ff fffe BL __aeabi_memclr4
;;;308 for(;;)
000064 46c0 MOV r8,r8
;;;309 {
;;;310 while ( query_rxdbuf_received_byte( UART_232 ) ) //查询接收缓冲区收到的字节数
|L1.102|
000066 e0a2 B |L1.430|
;;;311 // page=j;
;;;312 {
;;;313 cmd = read_byte_from_UARTbuf( UART_232, 0 ); // 从接收缓冲区读取一个字节,不丢弃
|L1.104|
000068 2100 MOVS r1,#0
00006a 0008 MOVS r0,r1
00006c f7ff fffe BL read_byte_from_UARTbuf
000070 0004 MOVS r4,r0
;;;314 Discard_nbyte_rxdbuf( UART_232, 1 ); //从接收缓冲区丢弃1个字节
000072 2101 MOVS r1,#1
000074 2000 MOVS r0,#0
000076 f7ff fffe BL Discard_nbyte_rxdbuf
;;;315
;;;316 if(cmd == 0x50) //读写绝对地址数据
00007a 2c50 CMP r4,#0x50
00007c d118 BNE |L1.176|
;;;317 {
;;;318
;;;319 WriteDataToFlash(ADDR,array2,10);
00007e 220a MOVS r2,#0xa
000080 4985 LDR r1,|L1.664|
000082 4469 ADD r1,r1,sp
000084 4885 LDR r0,|L1.668|
000086 f7ff fffe BL WriteDataToFlash
;;;320 os_dly_wait(3);
00008a 2003 MOVS r0,#3
00008c f7ff fffe BL os_dly_wait
;;;321 ReadDataFromFlash(ADDR, array1, 10);
000090 220a MOVS r2,#0xa
000092 497d LDR r1,|L1.648|
000094 4469 ADD r1,r1,sp
000096 4881 LDR r0,|L1.668|
000098 f7ff fffe BL ReadDataFromFlash
;;;322 os_dly_wait(3);
00009c 2003 MOVS r0,#3
00009e f7ff fffe BL os_dly_wait
;;;323 UART_send_mbytes( UART_232, array1, 10 ); //向RS232通道发送array1数据
0000a2 220a MOVS r2,#0xa
0000a4 4978 LDR r1,|L1.648|
0000a6 4469 ADD r1,r1,sp
0000a8 2000 MOVS r0,#0
0000aa f7ff fffe BL UART_send_mbytes
0000ae e07a B |L1.422|
;;;324 }
;;;325 else if(cmd == 0x60) //读写相对地址数据
|L1.176|
0000b0 2c60 CMP r4,#0x60
0000b2 d11a BNE |L1.234|
;;;326 {
;;;327
;;;328 WriteMultiByteToMainMemory (9, 0, array2,10);
0000b4 4a78 LDR r2,|L1.664|
0000b6 446a ADD r2,r2,sp
0000b8 2100 MOVS r1,#0
0000ba 2009 MOVS r0,#9
0000bc 230a MOVS r3,#0xa
0000be f7ff fffe BL WriteMultiByteToMainMemory
;;;329 os_dly_wait(3);
0000c2 2003 MOVS r0,#3
0000c4 f7ff fffe BL os_dly_wait
;;;330 ReadMultiByteFromMainMemory(9, 0, array1,10);
0000c8 4a6f LDR r2,|L1.648|
0000ca 446a ADD r2,r2,sp
0000cc 2100 MOVS r1,#0
0000ce 2009 MOVS r0,#9
0000d0 230a MOVS r3,#0xa
0000d2 f7ff fffe BL ReadMultiByteFromMainMemory
;;;331 os_dly_wait(3);
0000d6 2003 MOVS r0,#3
0000d8 f7ff fffe BL os_dly_wait
;;;332 UART_send_mbytes( UART_232, array1, 10 ); //向RS232通道发送array1数据
0000dc 220a MOVS r2,#0xa
0000de 496a LDR r1,|L1.648|
0000e0 4469 ADD r1,r1,sp
0000e2 2000 MOVS r0,#0
0000e4 f7ff fffe BL UART_send_mbytes
0000e8 e05d B |L1.422|
;;;333 }
;;;334 else if(cmd == 0x70) //页读写
|L1.234|
0000ea 2c70 CMP r4,#0x70
0000ec d115 BNE |L1.282|
;;;335 {
;;;336 WritePageData( CODE1_PAGE_NUMBER, Code1, CODE1_LENGTH ); //写code1数组
0000ee 4a6c LDR r2,|L1.672|
0000f0 496c LDR r1,|L1.676|
0000f2 2001 MOVS r0,#1
0000f4 f7ff fffe BL WritePageData
;;;337 os_dly_wait(100);
0000f8 2064 MOVS r0,#0x64
0000fa f7ff fffe BL os_dly_wait
;;;338 ReadPageData( CODE1_PAGE_NUMBER, CODE1_LENGTH, RData); //读回数据
0000fe 466a MOV r2,sp
000100 4967 LDR r1,|L1.672|
000102 2001 MOVS r0,#1
000104 f7ff fffe BL ReadPageData
;;;339 os_dly_wait(100);
000108 2064 MOVS r0,#0x64
00010a f7ff fffe BL os_dly_wait
;;;340 UART_send_mbytes( UART_232, RData, CODE1_LENGTH ); //向RS232通道发送RData数据
00010e 4a64 LDR r2,|L1.672|
000110 4669 MOV r1,sp
000112 2000 MOVS r0,#0
000114 f7ff fffe BL UART_send_mbytes
000118 e045 B |L1.422|
;;;341 }
;;;342
;;;343 else if(cmd == 0x80) //页读写
|L1.282|
00011a 2c80 CMP r4,#0x80
00011c d11a BNE |L1.340|
;;;344 {
;;;345 WritePageData( CODE2_PAGE_NUMBER, Code2, CODE2_LENGTH ); //写code2数组
00011e 22c5 MOVS r2,#0xc5
000120 0112 LSLS r2,r2,#4
000122 4961 LDR r1,|L1.680|
000124 2003 MOVS r0,#3
000126 f7ff fffe BL WritePageData
;;;346 os_dly_wait(300);
00012a 20ff MOVS r0,#0xff
00012c 302d ADDS r0,r0,#0x2d
00012e f7ff fffe BL os_dly_wait
;;;347 ReadPageData( CODE2_PAGE_NUMBER, CODE2_LENGTH, RData); //读回数据
000132 466a MOV r2,sp
000134 21c5 MOVS r1,#0xc5
000136 0109 LSLS r1,r1,#4
000138 2003 MOVS r0,#3
00013a f7ff fffe BL ReadPageData
;;;348 os_dly_wait(300);
00013e 20ff MOVS r0,#0xff
000140 302d ADDS r0,r0,#0x2d
000142 f7ff fffe BL os_dly_wait
;;;349 UART_send_mbytes( UART_232, RData, CODE2_LENGTH ); //向RS232通道发送RData数据
000146 22c5 MOVS r2,#0xc5
000148 0112 LSLS r2,r2,#4
00014a 4669 MOV r1,sp
00014c 2000 MOVS r0,#0
00014e f7ff fffe BL UART_send_mbytes
000152 e028 B |L1.422|
;;;350
;;;351 }
;;;352
;;;353 else if(cmd == 0x90) //刷除测试
|L1.340|
000154 2c90 CMP r4,#0x90
000156 d115 BNE |L1.388|
;;;354 {
;;;355 ErasePage(2);
000158 2002 MOVS r0,#2
00015a f7ff fffe BL ErasePage
;;;356 os_dly_wait(10);
00015e 200a MOVS r0,#0xa
000160 f7ff fffe BL os_dly_wait
;;;357 ReadPageData( 2, 528, RData); //读回数据
000164 466a MOV r2,sp
000166 2121 MOVS r1,#0x21
000168 0109 LSLS r1,r1,#4
00016a 2002 MOVS r0,#2
00016c f7ff fffe BL ReadPageData
;;;358 os_dly_wait(20);
000170 2014 MOVS r0,#0x14
000172 f7ff fffe BL os_dly_wait
;;;359 UART_send_mbytes( UART_232, RData, 528 ); //向RS232通道发送528个数据
000176 2221 MOVS r2,#0x21
000178 0112 LSLS r2,r2,#4
00017a 4669 MOV r1,sp
00017c 2000 MOVS r0,#0
00017e f7ff fffe BL UART_send_mbytes
000182 e010 B |L1.422|
;;;360 }
;;;361 else if(cmd == 0x40) //
|L1.388|
000184 2c40 CMP r4,#0x40
000186 d10e BNE |L1.422|
;;;362 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -