📄 main.txt
字号:
0001d8 f7fffffe BL USB_Interrupts_Config
;;;248 Led_Config();
0001dc f7fffffe BL Led_Config
;;;249 Get_Medium_Characteristics();
0001e0 f7fffffe BL Get_Medium_Characteristics
;;;250 USB_Init();
0001e4 f7fffffe BL USB_Init
|L6.488|
;;;251 while(1);
0001e8 e7fe B |L6.488|
|L6.490|
;;;252 }
;;;253 else if(Equal(command, "vstest",len1,6)) // 测试VS1003
0001ea 2306 MOVS r3,#6
0001ec 462a MOV r2,r5
0001ee a168 ADR r1,|L6.912|
0001f0 a801 ADD r0,sp,#4
0001f2 f7fffffe BL Equal
0001f6 b130 CBZ r0,|L6.518|
;;;254 {
;;;255 VS1003_Config();
0001f8 f7fffffe BL VS1003_Config
;;;256 Mp3SoftReset();
0001fc f7fffffe BL Mp3SoftReset
;;;257 VsSineTest();
000200 f7fffffe BL VsSineTest
000204 e733 B |L6.110|
|L6.518|
;;;258 }
;;;259 else if(Equal(command, "play",len1,4)) // 播放MP3文件
000206 2304 MOVS r3,#4
000208 462a MOV r2,r5
00020a a163 ADR r1,|L6.920|
00020c a801 ADD r0,sp,#4
00020e f7fffffe BL Equal
000212 2800 CMP r0,#0
000214 d087 BEQ |L6.294|
;;;260 {
;;;261 SPI_Config(SPI_BaudRatePrescaler_2);
000216 2000 MOVS r0,#0
000218 f7fffffe BL SPI_Config
;;;262 Mp3Reset();
00021c f7fffffe BL Mp3Reset
;;;263 len2 = USART_Scanf_Name(foldername);
000220 a803 ADD r0,sp,#0xc
000222 f7fffffe BL USART_Scanf_Name
;;;264 temp = SearchFoler(currSec, foldername, len2, 0); // 查找文件,并返回长度
000226 4602 MOV r2,r0
000228 2300 MOVS r3,#0
00022a a903 ADD r1,sp,#0xc
00022c f8d80004 LDR r0,[r8,#4] ; currSec@main_0
000230 f7fffffe BL SearchFoler
000234 0007 MOVS r7,r0
;;;265 if(temp) // 找到文件
000236 d0b3 BEQ |L6.416|
;;;266 {
;;;267 mp3data_pointer = 0;
000238 2000 MOVS r0,#0
;;;268 readNextBytes = 0;
00023a f8c80008 STR r0,[r8,#8] ; mp3data_pointer
00023e f8880000 STRB r0,[r8,#0] ; readNextBytes
;;;269 FAT_FileRead(0, buffsize, Stream_Buff); // 读取头一个文件流
000242 4a3e LDR r2,|L6.828|
000244 4659 MOV r1,r11
000246 f7fffffe BL FAT_FileRead
;;;270 fileoffset = 1;
00024a 2501 MOVS r5,#1
;;;271 printf("\r\nplaying...");
00024c a054 ADR r0,|L6.928|
00024e f7fffffe BL __1printf
;;;272 VS1003_Config();
000252 f7fffffe BL VS1003_Config
;;;273 while(1)
;;;274 {
;;;275 Mp3DeselectControl();
000256 bf00 NOP
|L6.600|
000258 f8d9080c LDR r0,[r9,#0x80c]
00025c f0400002 ORR r0,r0,#2
000260 f8c9080c STR r0,[r9,#0x80c]
;;;276 Mp3SelectData(); // xDCS = 0,选择vs1003的数据接口
000264 f8d9080c LDR r0,[r9,#0x80c]
;;;277
;;;278 for(i=0;i<buffsize;i++)
000268 2600 MOVS r6,#0
00026a f0200004 BIC r0,r0,#4 ;276
00026e f8c9080c STR r0,[r9,#0x80c] ;276
|L6.626|
;;;279 {
;;;280 // 等待DREQ为高
;;;281 while((GPIO_ReadInputData(GPIOA) & MP3_DREQ) == 0);
000272 484f LDR r0,|L6.944|
000274 f7fffffe BL GPIO_ReadInputData
000278 0700 LSLS r0,r0,#28
00027a d5fa BPL |L6.626|
;;;282 SPIPutChar(Stream_Buff[mp3data_pointer++]);
00027c f8d80008 LDR r0,[r8,#8] ; mp3data_pointer
000280 f81a1000 LDRB r1,[r10,r0]
000284 1c40 ADDS r0,r0,#1
000286 f8c80008 STR r0,[r8,#8] ; mp3data_pointer
00028a 4608 MOV r0,r1
00028c f7fffffe BL SPIPutChar
000290 1c76 ADDS r6,r6,#1 ;278
000292 455e CMP r6,r11 ;278
000294 d3ed BCC |L6.626|
;;;283 }
;;;284 Mp3DeselectData();
000296 f8d9080c LDR r0,[r9,#0x80c]
;;;285 mp3data_pointer = 0;
00029a 2100 MOVS r1,#0
00029c f0400004 ORR r0,r0,#4 ;284
0002a0 f8c9080c STR r0,[r9,#0x80c] ;284
;;;286
;;;287 // 读取一个缓冲
;;;288 if(fileoffset < temp / buffsize)
0002a4 f8c81008 STR r1,[r8,#8] ; mp3data_pointer
0002a8 ebb52f97 CMP r5,r7,LSR #10
;;;289 FAT_FileRead(fileoffset++ * buffsize, buffsize, Stream_Buff);
0002ac ea4f2085 LSL r0,r5,#10
0002b0 d205 BCS |L6.702|
0002b2 1c6d ADDS r5,r5,#1
0002b4 4a21 LDR r2,|L6.828|
0002b6 4659 MOV r1,r11
0002b8 f7fffffe BL FAT_FileRead
0002bc e7cc B |L6.600|
|L6.702|
;;;290 else
;;;291 {
;;;292 FAT_FileRead(fileoffset++ * buffsize, temp % buffsize, Stream_Buff);
0002be f3c70109 UBFX r1,r7,#0,#10
0002c2 4a1e LDR r2,|L6.828|
0002c4 f7fffffe BL FAT_FileRead
;;;293 break; // 返回
0002c8 e6d1 B |L6.110|
;;;294 }
;;;295 }
;;;296
;;;297 }
;;;298 }
;;;299 }
;;;300 }
;;;301
ENDP
0002ca 0000 DCW 0x0000
|L6.716|
0002cc 0d0a4d53 DCB "\r\n\115\123"
0002d0 445f496e DCB "D_In"
0002d4 69742072 DCB "it r"
0002d8 6573756c DCB "esul"
0002dc 743a2025 DCB "t: %"
0002e0 64000000 DCB "d\0\0\0"
|L6.740|
0002e4 00000000 DCD Mass_Block_Count
|L6.744|
0002e8 0d0a4d73 DCB "\r\n\115\163"
0002ec 64426c6f DCB "dBlo"
0002f0 636b436f DCB "ckCo"
0002f4 756e743a DCB "unt:"
0002f8 20256400 DCB " %d\0"
|L6.764|
0002fc 00000000 DCD Mass_Block_Size
|L6.768|
000300 0d0a4d73 DCB "\r\n\115\163"
000304 64426c6f DCB "dBlo"
000308 636b5369 DCB "ckSi"
00030c 7a653a20 DCB "ze: "
000310 25642042 DCB "%d B"
000314 79746500 DCB "yte\0"
|L6.792|
000318 00000000 DCD Mass_Memory_Size
|L6.796|
00031c 0d0a4d73 DCB "\r\n\115\163"
000320 644d656d DCB "dMem"
000324 6f727953 DCB "oryS"
000328 697a653a DCB "ize:"
00032c 20256420 DCB " %d "
000330 4d420d0a DCB "MB\r\n"
000334 00000000 DCB "\0\0\0\0"
|L6.824|
000338 00000000 DCD ||.data||
|L6.828|
00033c 00000000 DCD ||.bss||
|L6.832|
000340 40010000 DCD 0x40010000
|L6.836|
000344 64697200 DCB "dir\0"
|L6.840|
000348 0d0a0d0a DCB "\r\n\r\n"
00034c 00000000 DCB "\0\0\0\0"
|L6.848|
000350 63640000 DCB "cd\0\0"
|L6.852|
000354 2e2e0000 DCB "..\0\0"
|L6.856|
000358 2e000000 DCB ".\0\0\0"
|L6.860|
00035c 72656164 DCB "read"
000360 00000000 DCB "\0\0\0\0"
|L6.868|
000364 0d0a0000 DCB "\r\n\0\0"
|L6.872|
000368 25630000 DCB "%c\0\0"
|L6.876|
00036c 66726565 DCB "free"
000370 00000000 DCB "\0\0\0\0"
|L6.884|
000374 0d0a0d0a DCB "\r\n\r\n"
000378 66726565 DCB "free"
00037c 20737061 DCB " spa"
000380 63653a20 DCB "ce: "
000384 25644d42 DCB "%dMB"
000388 0d0a0000 DCB "\r\n\0\0"
|L6.908|
00038c 75736200 DCB "usb\0"
|L6.912|
000390 76737465 DCB "vste"
000394 73740000 DCB "st\0\0"
|L6.920|
000398 706c6179 DCB "play"
00039c 00000000 DCB "\0\0\0\0"
|L6.928|
0003a0 0d0a706c DCB "\r\n\160\154"
0003a4 6179696e DCB "ayin"
0003a8 672e2e2e DCB "g..."
0003ac 00000000 DCB "\0\0\0\0"
|L6.944|
0003b0 40010800 DCD 0x40010800
AREA ||.data||, DATA, ALIGN=2
readNextBytes
000000 00000000 DCB 0x00,0x00,0x00,0x00
||currSec@main_0||
000004 00000000 DCD 0x00000000
mp3data_pointer
000008 00000000 DCD 0x00000000
AREA ||.bss||, DATA, NOINIT, ALIGN=0
Stream_Buff
% 1024
__ARM_use_no_argv EQU 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -