?? bsp.txt
字號:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 919] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\output\bsp.o --depend=.\output\bsp.d --device=DARMSTM --apcs=interwork -O1 -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -IC:\Keil\ARM\INC\ST\STM32F10x --omf_browse=.\output\bsp.crf ..\BSP\bsp.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
fputc PROC
;;;114 PUTCHAR_PROTOTYPE
;;;115 {
000000 b570 PUSH {r4-r6,lr}
000002 4604 MOV r4,r0
;;;116 /* Write a character to the USART */
;;;117 USART_SendData(USART1, (u8) ch);
000004 4dea LDR r5,|L1.944|
000006 b2e1 UXTB r1,r4
000008 4628 MOV r0,r5
00000a f7fff7ff BL USART_SendData
|L1.14|
;;;118
;;;119 /* Loop until the end of transmission */
;;;120 while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET)
00000e 2180 MOVS r1,#0x80
000010 4628 MOV r0,r5
000012 f7fff7ff BL USART_GetFlagStatus
000016 2800 CMP r0,#0
000018 d0f9 BEQ |L1.14|
;;;121 {
;;;122 }
;;;123 return ch;
00001a 4620 MOV r0,r4
;;;124 }
00001c bd70 POP {r4-r6,pc}
;;;125
ENDP
NVIC_Configuration PROC
;;;126 void NVIC_Configuration(void)
;;;127 {
00001e b538 PUSH {r3-r5,lr}
;;;128 NVIC_InitTypeDef NVIC_InitStructure;
;;;129
;;;130 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
000020 2100 MOVS r1,#0
000022 f04ff04f MOV r0,#0x8000000
000026 f7fff7ff BL NVIC_SetVectorTable
;;;131
;;;132 /* Enable the USART1 Interrupt */
;;;133 NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQChannel;
00002a 2026 MOVS r0,#0x26
00002c f88df88d STRB r0,[sp,#0]
;;;134 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
000030 2001 MOVS r0,#1
000032 f88df88d STRB r0,[sp,#1]
;;;135 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 5;
000036 2105 MOVS r1,#5
000038 f88df88d STRB r1,[sp,#2]
;;;136 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
00003c f88df88d STRB r0,[sp,#3]
;;;137
;;;138 NVIC_Init(&NVIC_InitStructure);
000040 4668 MOV r0,sp
000042 f7fff7ff BL NVIC_Init
;;;139
;;;140 USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
000046 4ddb LDR r5,|L1.948|
000048 f240f240 MOV r4,#0x525
00004c 2201 MOVS r2,#1
00004e 4621 MOV r1,r4
000050 4628 MOV r0,r5
000052 f7fff7ff BL USART_ITConfig
;;;141 USART_ClearITPendingBit(USART2,USART_IT_RXNE);
000056 4621 MOV r1,r4
000058 4628 MOV r0,r5
00005a f7fff7ff BL USART_ClearITPendingBit
;;;142 }
00005e bd38 POP {r3-r5,pc}
;;;143
ENDP
UART2_int PROC
;;;146 void UART2_int(void)
;;;147 {
000060 b530 PUSH {r4,r5,lr}
000062 b085 SUB sp,sp,#0x14
;;;148 USART_InitTypeDef USART_InitStructure;
;;;149 GPIO_InitTypeDef GPIO_InitStructure;
;;;150
;;;151 USART_InitStructure.USART_BaudRate = 9600;
000064 f44ff44f MOV r0,#0x2580
000068 9001 STR r0,[sp,#4]
;;;152 USART_InitStructure.USART_WordLength = USART_WordLength_8b;
00006a 2000 MOVS r0,#0
00006c f8adf8ad STRH r0,[sp,#8]
;;;153 USART_InitStructure.USART_StopBits = USART_StopBits_1;
000070 f8adf8ad STRH r0,[sp,#0xa]
;;;154 USART_InitStructure.USART_Parity = USART_Parity_No ;
000074 f8adf8ad STRH r0,[sp,#0xc]
;;;155 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
000078 f8adf8ad STRH r0,[sp,#0x10]
;;;156 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
00007c 200c MOVS r0,#0xc
00007e f8adf8ad STRH r0,[sp,#0xe]
;;;157
;;;158
;;;159 RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
000082 2101 MOVS r1,#1
000084 0448 LSLS r0,r1,#17
000086 f7fff7ff BL RCC_APB1PeriphClockCmd
;;;160
;;;161 /* Configure USARTx_Tx as alternate function push-pull */
;;;162 GPIO_StructInit(&GPIO_InitStructure);
00008a 4668 MOV r0,sp
00008c f7fff7ff BL GPIO_StructInit
;;;163 GPIO_InitStructure.GPIO_Pin = GPIO_UART2TxPin;
000090 2404 MOVS r4,#4
000092 f8adf8ad STRH r4,[sp,#0]
;;;164 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
000096 2003 MOVS r0,#3
000098 f88df88d STRB r0,[sp,#2]
;;;165 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
00009c 2018 MOVS r0,#0x18
00009e f88df88d STRB r0,[sp,#3]
;;;166 GPIO_Init(GPIOA, &GPIO_InitStructure);
0000a2 4dc5 LDR r5,|L1.952|
0000a4 4669 MOV r1,sp
0000a6 4628 MOV r0,r5
0000a8 f7fff7ff BL GPIO_Init
;;;167
;;;168 /* Configure USARTx_Rx as input floating */
;;;169 GPIO_StructInit(&GPIO_InitStructure);
0000ac 4668 MOV r0,sp
0000ae f7fff7ff BL GPIO_StructInit
;;;170 GPIO_InitStructure.GPIO_Pin = GPIO_UART2RxPin;
0000b2 2008 MOVS r0,#8
0000b4 f8adf8ad STRH r0,[sp,#0]
;;;171 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
0000b8 f88df88d STRB r4,[sp,#3]
;;;172 GPIO_Init(GPIOA, &GPIO_InitStructure);
0000bc 4669 MOV r1,sp
0000be 4628 MOV r0,r5
0000c0 f7fff7ff BL GPIO_Init
;;;173
;;;174 USART_Init(USART2,&USART_InitStructure);
0000c4 4cbb LDR r4,|L1.948|
0000c6 a901 ADD r1,sp,#4
0000c8 4620 MOV r0,r4
0000ca f7fff7ff BL USART_Init
;;;175 USART_Cmd(USART2, ENABLE);
0000ce 2101 MOVS r1,#1
0000d0 4620 MOV r0,r4
0000d2 f7fff7ff BL USART_Cmd
;;;176 NVIC_Configuration();
0000d6 f7fff7ff BL NVIC_Configuration
;;;177 //USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
;;;178
;;;179
;;;180 }
0000da b005 ADD sp,sp,#0x14
0000dc bd30 POP {r4,r5,pc}
;;;181 /*
ENDP
GPIO_Configuration PROC
;;;271 void GPIO_Configuration(void)
;;;272 {
0000de b538 PUSH {r3-r5,lr}
;;;273 GPIO_InitTypeDef GPIO_InitStructure;
;;;274
;;;275 /* Configure USARTx_Tx as alternate function push-pull */
;;;276 GPIO_InitStructure.GPIO_Pin = GPIO_TxPin;
0000e0 f44ff44f MOV r0,#0x200
0000e4 f8adf8ad STRH r0,[sp,#0]
;;;277 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
0000e8 2003 MOVS r0,#3
0000ea f88df88d STRB r0,[sp,#2]
;;;278 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
0000ee 2018 MOVS r0,#0x18
0000f0 f88df88d STRB r0,[sp,#3]
;;;279 GPIO_Init(GPIOA, &GPIO_InitStructure);
0000f4 4cb0 LDR r4,|L1.952|
0000f6 4669 MOV r1,sp
0000f8 4620 MOV r0,r4
0000fa f7fff7ff BL GPIO_Init
;;;280
;;;281 /* Configure USARTx_Rx as input floating */
;;;282 GPIO_InitStructure.GPIO_Pin = GPIO_RxPin;
0000fe 1520 ASRS r0,r4,#20
000100 f8adf8ad STRH r0,[sp,#0]
;;;283 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
000104 2004 MOVS r0,#4
000106 f88df88d STRB r0,[sp,#3]
;;;284 GPIO_Init(GPIOA, &GPIO_InitStructure);
00010a 4669 MOV r1,sp
00010c 4620 MOV r0,r4
00010e f7fff7ff BL GPIO_Init
;;;285
;;;286 }
000112 bd38 POP {r3-r5,pc}
;;;287
ENDP
BSP_PB_Init PROC
;;;454 static void BSP_PB_Init (void)
;;;455 {
000114 b538 PUSH {r3-r5,lr}
;;;456 GPIO_InitTypeDef gpio_init;
;;;457
;;;458
;;;459 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
000116 2101 MOVS r1,#1
000118 2004 MOVS r0,#4
00011a f7fff7ff BL RCC_APB2PeriphClockCmd
;;;460 GPIO_StructInit(&gpio_init);
00011e 4668 MOV r0,sp
000120 f7fff7ff BL GPIO_StructInit
;;;461 gpio_init.GPIO_Pin = BSP_GPIOA_PB_KEY1;
000124 2001 MOVS r0,#1
000126 f8adf8ad STRH r0,[sp,#0]
;;;462 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00012a 2404 MOVS r4,#4
00012c f88df88d STRB r4,[sp,#3]
;;;463 GPIO_Init(GPIOD, &gpio_init);
000130 4da2 LDR r5,|L1.956|
000132 4669 MOV r1,sp
000134 4628 MOV r0,r5
000136 f7fff7ff BL GPIO_Init
;;;464
;;;465 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
00013a 2101 MOVS r1,#1
00013c 2008 MOVS r0,#8
00013e f7fff7ff BL RCC_APB2PeriphClockCmd
;;;466 GPIO_StructInit(&gpio_init);
000142 4668 MOV r0,sp
000144 f7fff7ff BL GPIO_StructInit
;;;467 gpio_init.GPIO_Pin = BSP_GPIOB_PB_KEY2;
000148 01e0 LSLS r0,r4,#7
00014a f8adf8ad STRH r0,[sp,#0]
;;;468 gpio_init.GPIO_Mode = GPIO_Mode_IN_FLOATING;
00014e f88df88d STRB r4,[sp,#3]
;;;469 GPIO_Init(GPIOD, &gpio_init);
000152 4669 MOV r1,sp
000154 4628 MOV r0,r5
000156 f7fff7ff BL GPIO_Init
;;;470
;;;471 }
00015a bd38 POP {r3-r5,pc}
;;;472
ENDP
BSP_LED_Init PROC
;;;548 static void BSP_LED_Init (void)
;;;549 {
00015c b508 PUSH {r3,lr}
;;;550 GPIO_InitTypeDef gpio_init;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -