⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bsp.txt

📁 stm32 ucos 精简移殖版本 不需作任何修改直接便可运行。包含串口 定时器
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; 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 + -