; generated by Component: ARM Compiler 5.06 update 7 (build 960) Tool: ArmCC [4d365d] ; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\flash\obj\bsp.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\bsp.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=9931,870 -I..\..\Libraries\CMSIS\Device\ST\STM32F10x\Include -I..\..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\Libraries\STM32_USB-FS-Device_Driver\inc -I..\..\Libraries\CMSIS\Include -I..\..\User\bsp -I..\..\User\bsp\inc -I..\..\User\app\inc -I..\..\User -IC:\Users\w1619\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include -D__MICROLIB -D__UVISION_VERSION=538 -DSTM32F10X_HD -DUSE_STDPERIPH_DRIVER -DSTM32F10X_HD --omf_browse=.\flash\obj\bsp.crf ..\..\User\bsp\bsp.c] THUMB AREA ||i.bsp_Idle||, CODE, READONLY, ALIGN=1 bsp_Idle PROC ;;;104 */ ;;;105 void bsp_Idle(void) 000000 4770 BX lr ;;;106 { ;;;107 /* --- 喂狗 */ ;;;108 ;;;109 /* --- 让CPU进入休眠,由Systick定时中断唤醒或者其他中断唤醒 */ ;;;110 ;;;111 /* 例如 emWin 图形库,可以插入图形库需要的轮询函数 */ ;;;112 // GUI_Exec(); ;;;113 ;;;114 /* 例如 uIP 协议,可以插入uip轮询函数 */ ;;;115 } ;;;116 ENDP AREA ||i.bsp_Init||, CODE, READONLY, ALIGN=2 bsp_Init PROC ;;;32 */ ;;;33 void bsp_Init(void) 000000 b510 PUSH {r4,lr} ;;;34 { ;;;35 /* ;;;36 由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。 ;;;37 启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。 ;;;38 ;;;39 系统时钟缺省配置为72MHz,如果需要更改,可以修改 system_stm32f103.c 文件 ;;;40 */ ;;;41 ;;;42 /* 优先级分组设置为4 */ ;;;43 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); 000002 f44f7040 MOV r0,#0x300 000006 f7fffffe BL NVIC_PriorityGroupConfig ;;;44 ;;;45 bsp_InitKey(); /* 初始化按键 */ 00000a f7fffffe BL bsp_InitKey ;;;46 ;;;47 bsp_InitTimer(); /* 初始化系统滴答定时器 (此函数会开中断) */ 00000e f7fffffe BL bsp_InitTimer ;;;48 ;;;49 /* 初始化串口驱动 */ ;;;50 USART_Config(); 000012 f7fffffe BL USART_Config ;;;51 /* 配置使用DMA模式 */ ;;;52 USARTx_DMA_Config(); 000016 f7fffffe BL USARTx_DMA_Config ;;;53 USART_DMACmd(DEBUG_USARTx, USART_DMAReq_Rx, ENABLE); 00001a 2201 MOVS r2,#1 00001c 2140 MOVS r1,#0x40 00001e 4807 LDR r0,|L2.60| 000020 f7fffffe BL USART_DMACmd ;;;54 ;;;55 BEEP_InitHard(); /* 配置蜂鸣器GPIO */ 000024 f7fffffe BL BEEP_InitHard ;;;56 ;;;57 bsp_InitI2C(); /* 配置I2C总线 */ 000028 f7fffffe BL bsp_InitI2C ;;;58 bsp_InitDigitalTube(); // 初始化数码管控制端口 00002c f7fffffe BL bsp_InitDigitalTube ;;;59 ;;;60 bsp_Init_Drv8880_Hard(); 000030 f7fffffe BL bsp_Init_Drv8880_Hard ;;;61 bsp_InitStepMoto(); 000034 f7fffffe BL bsp_InitStepMoto ;;;62 } 000038 bd10 POP {r4,pc} ;;;63 ENDP 00003a 0000 DCW 0x0000 |L2.60| DCD 0x40013800 AREA ||i.bsp_RunPer10ms||, CODE, READONLY, ALIGN=1 bsp_RunPer10ms PROC ;;;72 */ ;;;73 void bsp_RunPer10ms(void) 000000 b510 PUSH {r4,lr} ;;;74 { ;;;75 bsp_KeyScan(); /* 每10ms扫描按键一次 */ 000002 f7fffffe BL bsp_KeyScan ;;;76 ;;;77 BEEP_Pro(); /* 蜂鸣器定时处理 */ 000006 f7fffffe BL BEEP_Pro ;;;78 ;;;79 // bsp_FpgaPowerMainLoop(30); // 给FPAGA延迟供电,延迟时间位30*10ms ;;;80 } 00000a bd10 POP {r4,pc} ;;;81 ENDP AREA ||i.bsp_RunPer1ms||, CODE, READONLY, ALIGN=1 bsp_RunPer1ms PROC ;;;90 */ ;;;91 void bsp_RunPer1ms(void) 000000 b510 PUSH {r4,lr} ;;;92 { ;;;93 bsp_DigitalTubeMainLoop(); 000002 f7fffffe BL bsp_DigitalTubeMainLoop ;;;94 } 000006 bd10 POP {r4,pc} ;;;95 ENDP AREA ||.data||, DATA, ALIGN=2 RxCount DCD 0x00000000 TxCount DCD 0x00000000 ;*** Start embedded assembler *** #line 1 "..\\..\\User\\bsp\\bsp.c" AREA ||.rev16_text||, CODE THUMB EXPORT |__asm___5_bsp_c_RxCount____REV16| #line 114 "..\\..\\Libraries\\CMSIS\\Include\\core_cmInstr.h" |__asm___5_bsp_c_RxCount____REV16| PROC #line 115 rev16 r0, r0 bx lr ENDP AREA ||.revsh_text||, CODE THUMB EXPORT |__asm___5_bsp_c_RxCount____REVSH| #line 128 |__asm___5_bsp_c_RxCount____REVSH| PROC #line 129 revsh r0, r0 bx lr ENDP ;*** End embedded assembler ***