📄 main.txt
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 902] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o..\obj\main.o --depend=..\obj\main.d --device=DARMSTM -I..\..\LAB2 -I..\..\library\src -IC:\Keil\ARM\INC\ST\STM32F10x -DVECT_TAB_RAM --omf_browse=..\obj\main.crf main.c]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
Buffercmp PROC
;;;209 TestStatus Buffercmp(uc32* pBuffer, u32* pBuffer1, u16 BufferLength)
;;;210 {
000000 b510 PUSH {r4,lr}
000002 4603 MOV r3,r0
;;;211 while(BufferLength--)
000004 e007 B |L1.22|
|L1.6|
;;;212 {
;;;213 if(*pBuffer != *pBuffer1)
000006 6818 LDR r0,[r3,#0]
000008 680c LDR r4,[r1,#0]
00000a 42a0 CMP r0,r4
00000c d001 BEQ |L1.18|
;;;214 {
;;;215 return FAILED;
00000e 2000 MOVS r0,#0
|L1.16|
;;;216 }
;;;217
;;;218 pBuffer++;
;;;219 pBuffer1++;
;;;220 }
;;;221
;;;222 return PASSED;
;;;223 }
000010 bd10 POP {r4,pc}
|L1.18|
000012 1d1b ADDS r3,r3,#4
000014 1d09 ADDS r1,r1,#4
|L1.22|
000016 0010 MOVS r0,r2
000018 f1a2f1a2 SUB r4,r2,#1
00001c b2a2 UXTH r2,r4
00001e d1f2 BNE |L1.6|
000020 2001 MOVS r0,#1
000022 e7f5 B |L1.16|
ENDP
NVIC_Configuration PROC
;;;167 void NVIC_Configuration(void)
;;;168 {
000024 b510 PUSH {r4,lr}
;;;169 #ifdef VECT_TAB_RAM
;;;170 /* Set the Vector Table base location at 0x20000000 */
;;;171 NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
000026 2100 MOVS r1,#0
000028 f04ff04f MOV r0,#0x20000000
00002c f7fff7ff BL NVIC_SetVectorTable
;;;172 #else /* VECT_TAB_FLASH */
;;;173 /* Set the Vector Table base location at 0x08000000 */
;;;174 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
;;;175 #endif
;;;176 }
000030 bd10 POP {r4,pc}
ENDP
RCC_Configuration PROC
;;;126 void RCC_Configuration(void)
;;;127 {
000032 b510 PUSH {r4,lr}
;;;128 /* RCC system reset(for debug purpose) */
;;;129 RCC_DeInit();
000034 f7fff7ff BL RCC_DeInit
;;;130
;;;131 /* Enable HSE */
;;;132 RCC_HSEConfig(RCC_HSE_ON);
000038 f44ff44f MOV r0,#0x10000
00003c f7fff7ff BL RCC_HSEConfig
;;;133
;;;134 /* Wait till HSE is ready */
;;;135 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET)
000040 bf00 NOP
|L1.66|
000042 2031 MOVS r0,#0x31
000044 f7fff7ff BL RCC_GetFlagStatus
000048 2800 CMP r0,#0
00004a d0fa BEQ |L1.66|
;;;136 {
;;;137 }
;;;138
;;;139 /* HCLK = SYSCLK */
;;;140 RCC_HCLKConfig(RCC_SYSCLK_Div1);
00004c 2000 MOVS r0,#0
00004e f7fff7ff BL RCC_HCLKConfig
;;;141
;;;142 /* PCLK2 = HCLK */
;;;143 RCC_PCLK2Config(RCC_HCLK_Div1);
000052 2000 MOVS r0,#0
000054 f7fff7ff BL RCC_PCLK2Config
;;;144
;;;145 /* PCLK1 = HCLK */
;;;146 RCC_PCLK1Config(RCC_HCLK_Div1);
000058 2000 MOVS r0,#0
00005a f7fff7ff BL RCC_PCLK1Config
;;;147
;;;148 /* Select HSE as system clock source */
;;;149 RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);
00005e 2001 MOVS r0,#1
000060 f7fff7ff BL RCC_SYSCLKConfig
;;;150
;;;151 /* Wait till HSE is used as system clock source */
;;;152 while(RCC_GetSYSCLKSource() != 0x04)
000064 bf00 NOP
|L1.102|
000066 f7fff7ff BL RCC_GetSYSCLKSource
00006a 2804 CMP r0,#4
00006c d1fb BNE |L1.102|
;;;153 {
;;;154 }
;;;155
;;;156 /* DMA clock enable */
;;;157 RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA, ENABLE);
00006e 2101 MOVS r1,#1
000070 4608 MOV r0,r1
000072 f7fff7ff BL RCC_AHBPeriphClockCmd
;;;158 }
000076 bd10 POP {r4,pc}
ENDP
main PROC
;;;60 int main(void)
;;;61 {
000078 b510 PUSH {r4,lr}
;;;62 int i=0;
00007a 2400 MOVS r4,#0
;;;63 #ifdef DEBUG
;;;64 debug();
;;;65 #endif
;;;66
;;;67 /* System Clocks Configuration ---------------------------------------------*/
;;;68 RCC_Configuration();
00007c f7fff7ff BL RCC_Configuration
;;;69
;;;70 /* NVIC Configuration ------------------------------------------------------*/
;;;71 NVIC_Configuration();
000080 f7fff7ff BL NVIC_Configuration
;;;72
;;;73 /* DMA Channel6 Configuration ----------------------------------------------*/
;;;74 DMA_DeInit(DMA_Channel6);
000084 482f LDR r0,|L1.324|
000086 f7fff7ff BL DMA_DeInit
;;;75 DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)SRC_Const_Buffer;
00008a 482f LDR r0,|L1.328|
00008c 492f LDR r1,|L1.332|
00008e 6008 STR r0,[r1,#0] ; DMA_InitStructure
;;;76 DMA_InitStructure.DMA_MemoryBaseAddr = (u32)DST_Buffer;
000090 482f LDR r0,|L1.336|
000092 6048 STR r0,[r1,#4] ; DMA_InitStructure
;;;77 DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
000094 2000 MOVS r0,#0
000096 6088 STR r0,[r1,#8] ; DMA_InitStructure
;;;78
;;;79 DMA_InitStructure.DMA_BufferSize = BufferSize;
000098 2020 MOVS r0,#0x20
00009a 60c8 STR r0,[r1,#0xc] ; DMA_InitStructure
;;;80 DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;
00009c 2040 MOVS r0,#0x40
00009e 6108 STR r0,[r1,#0x10] ; DMA_InitStructure
;;;81 DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;
0000a0 2080 MOVS r0,#0x80
0000a2 6148 STR r0,[r1,#0x14] ; DMA_InitStructure
;;;82 DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
0000a4 0080 LSLS r0,r0,#2
0000a6 6188 STR r0,[r1,#0x18] ; DMA_InitStructure
;;;83 DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
0000a8 0080 LSLS r0,r0,#2
0000aa 61c8 STR r0,[r1,#0x1c] ; DMA_InitStructure
;;;84 DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;
0000ac 2000 MOVS r0,#0
0000ae 6208 STR r0,[r1,#0x20] ; DMA_InitStructure
;;;85 DMA_InitStructure.DMA_Priority = DMA_Priority_High;
0000b0 f44ff44f MOV r0,#0x2000
0000b4 6248 STR r0,[r1,#0x24] ; DMA_InitStructure
;;;86 DMA_InitStructure.DMA_M2M = DMA_M2M_Enable;
0000b6 0040 LSLS r0,r0,#1
0000b8 6288 STR r0,[r1,#0x28] ; DMA_InitStructure
;;;87 DMA_Init(DMA_Channel6, &DMA_InitStructure);
0000ba 4822 LDR r0,|L1.324|
0000bc f7fff7ff BL DMA_Init
;;;88
;;;89 /* Enable DMA Channel6 transfer */
;;;90 DMA_Cmd(DMA_Channel6, ENABLE);
0000c0 2101 MOVS r1,#1
0000c2 4820 LDR r0,|L1.324|
0000c4 f7fff7ff BL DMA_Cmd
;;;91
;;;92 /* Check if the transmitted and received data are equal */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -