📄 main.txt
字号:
; generated by ARM C/C++ Compiler with , RVCT4.0 [Build 524] for uVision
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Obj\main.o --depend=.\Obj\main.d --device=DARMSTM --apcs=interwork -O3 -I..\..\include -I..\..\..\FWLib\library\inc -I..\..\..\USBLib\library\inc -I..\..\Config -I..\..\GUI\Core -I..\..\GUI\Font -I..\..\GUI\ConvertColor -I..\..\GUI\AntiAlias -I..\..\GUI\ConvertMono -I..\..\GUI\JPEG -I..\..\GUI\MemDev -I..\..\GUI\MultiLayer -I..\..\GUI\Widget -I..\..\GUI\WM -IC:\Keil\ARM\INC\ST\STM32F10x ..\..\source\main.c]
THUMB
AREA ||i.CheckBitmapFilesStatus||, CODE, READONLY, ALIGN=2
CheckBitmapFilesStatus PROC
;;;557 *******************************************************************************/
;;;558 void CheckBitmapFilesStatus(void)
000000 b510 PUSH {r4,lr}
;;;559 {
;;;560 /* Checks if the Bitmap files are loaded */
;;;561 if(CheckBitmapFiles() != 0)
000002 f7fffffe BL CheckBitmapFiles
000006 2800 CMP r0,#0
000008 d033 BEQ |L1.114|
;;;562 {
;;;563 /* Set the LCD Back Color */
;;;564 LCD_SetBackColor(Blue);
00000a 201f MOVS r0,#0x1f
00000c f7fffffe BL LCD_SetBackColor
;;;565
;;;566 /* Set the LCD Text Color */
;;;567 LCD_SetTextColor(White);
000010 f64f70ff MOV r0,#0xffff
000014 f7fffffe BL LCD_SetTextColor
;;;568 LCD_DisplayStringLine(Line0, " Warning ");
000018 a116 ADR r1,|L1.116|
00001a 2000 MOVS r0,#0
00001c f7fffffe BL LCD_DisplayStringLine
;;;569 LCD_DisplayStringLine(Line1, "No loaded Bitmap ");
000020 a11a ADR r1,|L1.140|
000022 2018 MOVS r0,#0x18
000024 f7fffffe BL LCD_DisplayStringLine
;;;570 LCD_DisplayStringLine(Line2, "files. Demo can't be");
000028 a11e ADR r1,|L1.164|
00002a 2030 MOVS r0,#0x30
00002c f7fffffe BL LCD_DisplayStringLine
;;;571 LCD_DisplayStringLine(Line3, "executed. ");
000030 a122 ADR r1,|L1.188|
000032 2048 MOVS r0,#0x48
000034 f7fffffe BL LCD_DisplayStringLine
;;;572 LCD_DisplayStringLine(Line4, "Please be sure that ");
000038 a126 ADR r1,|L1.212|
00003a 2060 MOVS r0,#0x60
00003c f7fffffe BL LCD_DisplayStringLine
;;;573 LCD_DisplayStringLine(Line5, "all files are ");
000040 a12a ADR r1,|L1.236|
000042 2078 MOVS r0,#0x78
000044 f7fffffe BL LCD_DisplayStringLine
;;;574 LCD_DisplayStringLine(Line6, "correctly programmed");
000048 a12e ADR r1,|L1.260|
00004a 2090 MOVS r0,#0x90
00004c f7fffffe BL LCD_DisplayStringLine
;;;575 LCD_DisplayStringLine(Line7, "in the NOR FLASH and");
000050 a132 ADR r1,|L1.284|
000052 20a8 MOVS r0,#0xa8
000054 f7fffffe BL LCD_DisplayStringLine
;;;576 LCD_DisplayStringLine(Line8, "restart the Demo. ");
000058 a136 ADR r1,|L1.308|
00005a 20c0 MOVS r0,#0xc0
00005c f7fffffe BL LCD_DisplayStringLine
;;;577 LCD_DisplayStringLine(Line9, " ");
000060 a13a ADR r1,|L1.332|
000062 20d8 MOVS r0,#0xd8
000064 f7fffffe BL LCD_DisplayStringLine
;;;578
;;;579 /* Deinitializes the NVIC */
;;;580 NVIC_DeInit();
000068 f7fffffe BL NVIC_DeInit
;;;581
;;;582 /* Deinitializes the RCC */
;;;583 RCC_DeInit();
00006c f7fffffe BL RCC_DeInit
|L1.112|
;;;584
;;;585 /* Demo Can't Start */
;;;586 while(1)
000070 e7fe B |L1.112|
|L1.114|
;;;587 {
;;;588 }
;;;589 }
;;;590 }
000072 bd10 POP {r4,pc}
;;;591
ENDP
|L1.116|
000074 2020202020205761726e696e672020202020202000 DCB " Warning ",0
000089 00 DCB 0
00008a 00 DCB 0
00008b 00 DCB 0
|L1.140|
00008c 4e6f206c6f61646564204269746d61702020202000 DCB "No loaded Bitmap ",0
0000a1 00 DCB 0
0000a2 00 DCB 0
0000a3 00 DCB 0
|L1.164|
0000a4 66696c65732e2044656d6f2063616e277420626500 DCB "files. Demo can't be",0
0000b9 00 DCB 0
0000ba 00 DCB 0
0000bb 00 DCB 0
|L1.188|
0000bc 65786563757465642e202020202020202020202000 DCB "executed. ",0
0000d1 00 DCB 0
0000d2 00 DCB 0
0000d3 00 DCB 0
|L1.212|
0000d4 506c65617365206265207375726520746861742000 DCB "Please be sure that ",0
0000e9 00 DCB 0
0000ea 00 DCB 0
0000eb 00 DCB 0
|L1.236|
0000ec 616c6c2066696c6573206172652020202020202000 DCB "all files are ",0
000101 00 DCB 0
000102 00 DCB 0
000103 00 DCB 0
|L1.260|
000104 636f72726563746c792070726f6772616d6d656400 DCB "correctly programmed",0
000119 00 DCB 0
00011a 00 DCB 0
00011b 00 DCB 0
|L1.284|
00011c 696e20746865204e4f5220464c41534820616e6400 DCB "in the NOR FLASH and",0
000131 00 DCB 0
000132 00 DCB 0
000133 00 DCB 0
|L1.308|
000134 72657374617274207468652044656d6f2e20202000 DCB "restart the Demo. ",0
000149 00 DCB 0
00014a 00 DCB 0
00014b 00 DCB 0
|L1.332|
00014c 202020202020202020202020202020202020202000 DCB " ",0
000161 00 DCB 0
000162 00 DCB 0
000163 00 DCB 0
AREA ||i.Decrement_TimingDelay||, CODE, READONLY, ALIGN=2
Decrement_TimingDelay PROC
;;;447 *******************************************************************************/
;;;448 void Decrement_TimingDelay(void)
000000 4803 LDR r0,|L2.16|
;;;449 {
;;;450 if (TimingDelay != 0x00)
000002 6841 LDR r1,[r0,#4] ; TimingDelay
000004 2900 CMP r1,#0
000006 d002 BEQ |L2.14|
;;;451 {
;;;452 TimingDelay--;
000008 6841 LDR r1,[r0,#4] ; TimingDelay
00000a 1e49 SUBS r1,r1,#1
00000c 6041 STR r1,[r0,#4] ; TimingDelay
|L2.14|
;;;453 }
;;;454 }
00000e 4770 BX lr
;;;455
ENDP
|L2.16|
DCD ||.data||
AREA ||i.Delay||, CODE, READONLY, ALIGN=2
Delay PROC
;;;397 *******************************************************************************/
;;;398 void Delay(u32 nCount)
000000 b510 PUSH {r4,lr}
;;;399 {
;;;400 TimingDelay = nCount;
000002 4c04 LDR r4,|L3.20|
000004 6060 STR r0,[r4,#4] ; TimingDelay
;;;401
;;;402 /* Enable the SysTick Counter */
;;;403 SysTick_CounterCmd(SysTick_Counter_Enable);
000006 2001 MOVS r0,#1
000008 f7fffffe BL SysTick_CounterCmd
|L3.12|
;;;404
;;;405 while(TimingDelay != 0)
00000c 6860 LDR r0,[r4,#4] ; TimingDelay
00000e 2800 CMP r0,#0
000010 d1fc BNE |L3.12|
;;;406 {
;;;407 }
;;;408
;;;409 /* Disable the SysTick Counter */
;;;410 // SysTick_CounterCmd(SysTick_Counter_Disable);
;;;411
;;;412 /* Clear the SysTick Counter */
;;;413 // SysTick_CounterCmd(SysTick_Counter_Clear);
;;;414 }
000012 bd10 POP {r4,pc}
;;;415
ENDP
|L3.20|
DCD ||.data||
AREA ||i.DelayJoyStick||, CODE, READONLY, ALIGN=2
DelayJoyStick PROC
;;;423 *******************************************************************************/
;;;424 u32 DelayJoyStick(u32 nTime)
000000 b570 PUSH {r4-r6,lr}
;;;425 {
000002 4606 MOV r6,r0
;;;426 vu32 keystate = 0;
000004 2400 MOVS r4,#0
;;;427
;;;428 /* Enable the SysTick Counter */
;;;429 SysTick_CounterCmd(SysTick_Counter_Enable);
000006 2001 MOVS r0,#1
000008 f7fffffe BL SysTick_CounterCmd
;;;430
;;;431 TimingDelay = nTime;
00000c 4d08 LDR r5,|L4.48|
00000e 606e STR r6,[r5,#4] ; TimingDelay
;;;432
;;;433 while((TimingDelay != 0) && (keystate != RIGHT) && (keystate != LEFT) && (keystate != SEL))
000010 e003 B |L4.26|
;;;434 {
;;;435 keystate = ReadKey();
000012 bf00 NOP
|L4.20|
000014 f7fffffe BL ReadKey
000018 4604 MOV r4,r0
|L4.26|
00001a 6868 LDR r0,[r5,#4] ;433 ; TimingDelay
00001c b128 CBZ r0,|L4.42|
00001e 2c02 CMP r4,#2 ;433
000020 d003 BEQ |L4.42|
000022 2c03 CMP r4,#3 ;433
000024 d001 BEQ |L4.42|
000026 2c01 CMP r4,#1 ;433
000028 d1f4 BNE |L4.20|
|L4.42|
;;;436 }
;;;437
;;;438 return keystate;
00002a 4620 MOV r0,r4
;;;439 }
00002c bd70 POP {r4-r6,pc}
;;;440
ENDP
00002e 0000 DCW 0x0000
|L4.48|
DCD ||.data||
AREA ||i.Demo_Init||, CODE, READONLY, ALIGN=2
Demo_Init PROC
;;;76 *******************************************************************************/
;;;77 void Demo_Init(void)
000000 b570 PUSH {r4-r6,lr}
;;;78 {
;;;79 /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/
;;;80 /* RCC system reset(for debug purpose) */
;;;81 RCC_DeInit();
000002 f7fffffe BL RCC_DeInit
;;;82
;;;83 /* Enable HSE */
;;;84 RCC_HSEConfig(RCC_HSE_ON);
000006 f44f3580 MOV r5,#0x10000
00000a 4628 MOV r0,r5
00000c f7fffffe BL RCC_HSEConfig
;;;85
;;;86 /* Wait till HSE is ready */
;;;87 HSEStartUpStatus = RCC_WaitForHSEStartUp();
000010 f7fffffe BL RCC_WaitForHSEStartUp
000014 4c2f LDR r4,|L5.212|
000016 7020 STRB r0,[r4,#0]
;;;88
;;;89 if(HSEStartUpStatus == SUCCESS)
000018 7820 LDRB r0,[r4,#0] ; HSEStartUpStatus
00001a 2801 CMP r0,#1
00001c d122 BNE |L5.100|
;;;90 {
;;;91 /* Enable Prefetch Buffer */
;;;92 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
00001e 2010 MOVS r0,#0x10
000020 f7fffffe BL FLASH_PrefetchBufferCmd
;;;93
;;;94 /* Flash 2 wait state */
;;;95 FLASH_SetLatency(FLASH_Latency_2);
000024 2002 MOVS r0,#2
000026 f7fffffe BL FLASH_SetLatency
;;;96
;;;97 /* HCLK = SYSCLK */
;;;98 RCC_HCLKConfig(RCC_SYSCLK_Div1);
00002a 2000 MOVS r0,#0
00002c f7fffffe BL RCC_HCLKConfig
;;;99
;;;100 /* PCLK2 = HCLK */
;;;101 RCC_PCLK2Config(RCC_HCLK_Div1);
000030 2000 MOVS r0,#0
000032 f7fffffe BL RCC_PCLK2Config
;;;102
;;;103 /* PCLK1 = HCLK/2 */
;;;104 RCC_PCLK1Config(RCC_HCLK_Div2);
000036 11a8 ASRS r0,r5,#6
000038 f7fffffe BL RCC_PCLK1Config
;;;105
;;;106 /* PLLCLK = 8MHz * 9 = 72 MHz */
;;;107 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
00003c f44f11e0 MOV r1,#0x1c0000
000040 4628 MOV r0,r5
000042 f7fffffe BL RCC_PLLConfig
;;;108
;;;109 /* Enable PLL */
;;;110 RCC_PLLCmd(ENABLE);
000046 2001 MOVS r0,#1
000048 f7fffffe BL RCC_PLLCmd
|L5.76|
;;;111
;;;112 /* Wait till PLL is ready */
;;;113 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
00004c 2039 MOVS r0,#0x39
00004e f7fffffe BL RCC_GetFlagStatus
000052 2800 CMP r0,#0
000054 d0fa BEQ |L5.76|
;;;114 {
;;;115 }
;;;116
;;;117 /* Select PLL as system clock source */
;;;118 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
000056 2002 MOVS r0,#2
000058 f7fffffe BL RCC_SYSCLKConfig
|L5.92|
;;;119
;;;120 /* Wait till PLL is used as system clock source */
;;;121 while(RCC_GetSYSCLKSource() != 0x08)
00005c f7fffffe BL RCC_GetSYSCLKSource
000060 2808 CMP r0,#8
000062 d1fb BNE |L5.92|
|L5.100|
;;;122 {
;;;123 }
;;;124 }
;;;125
;;;126 /* Enable GPIOA, GPIOB, GPIOC, GPIOD, GPIOE, GPIOF, GPIOG and AFIO clocks */
;;;127 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |RCC_APB2Periph_GPIOC
000064 2101 MOVS r1,#1
000066 f24010fd MOV r0,#0x1fd
00006a f7fffffe BL RCC_APB2PeriphClockCmd
;;;128 | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE | RCC_APB2Periph_GPIOF | RCC_APB2Periph_GPIOG
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -