📄 main.txt
字号:
000040 a906 ADD r1,sp,#0x18 ;299
000042 a80c ADD r0,sp,#0x30 ;299
000044 f7fffffe BL f_readdir
000048 4604 MOV r4,r0 ;299
00004a b914 CBNZ r4,|L7.82|
00004c f89d0021 LDRB r0,[sp,#0x21] ;300
000050 b900 CBNZ r0,|L7.84|
|L7.82|
000052 e02d B |L7.176|
|L7.84|
000054 f89d0021 LDRB r0,[sp,#0x21] ;305
000058 282e CMP r0,#0x2e ;305
00005a d100 BNE |L7.94|
00005c e026 B |L7.172|
|L7.94|
00005e f10d0121 ADD r1,sp,#0x21 ;310
000062 a029 ADR r0,|L7.264|
000064 f7fffffe BL __2printf
000068 f10d0021 ADD r0,sp,#0x21 ;311
00006c f7fffffe BL strlen
000070 2808 CMP r0,#8 ;311
000072 d203 BCS |L7.124|
000074 a025 ADR r0,|L7.268|
000076 f7fffffe BL __2printf
00007a e002 B |L7.130|
|L7.124|
00007c a024 ADR r0,|L7.272|
00007e f7fffffe BL __2printf
|L7.130|
000082 f89d0020 LDRB r0,[sp,#0x20] ;319
000086 2810 CMP r0,#0x10 ;319
000088 d103 BNE |L7.146|
00008a a022 ADR r0,|L7.276|
00008c f7fffffe BL __2printf
000090 e002 B |L7.152|
|L7.146|
000092 a022 ADR r0,|L7.284|
000094 f7fffffe BL __2printf
|L7.152|
000098 a022 ADR r0,|L7.292|
00009a 9906 LDR r1,[sp,#0x18] ;327
00009c f7fffffe BL __2printf
0000a0 a122 ADR r1,|L7.300|
0000a2 a801 ADD r0,sp,#4 ;328
0000a4 9a06 LDR r2,[sp,#0x18] ;328
0000a6 f7fffffe BL __2sprintf
0000aa bf00 NOP ;307
|L7.172|
0000ac 1c6d ADDS r5,r5,#1 ;297
0000ae e7c7 B |L7.64|
|L7.176|
0000b0 bf00 NOP ;302
0000b2 2100 MOVS r1,#0 ;332
0000b4 4608 MOV r0,r1 ;332
0000b6 f7fffffe BL f_mount
0000ba bf00 NOP
0000bc e7b8 B |L7.48|
;;;334
ENDP
0000be 0000 DCW 0x0000
|L7.192|
0000c0 b9d2d4d8 DCB 185,210,212,216,206,196,188,254,207,181,205,179,202,167,176
0000c4 cec4bcfe
0000c8 cfb5cdb3
0000cc caa7b0
0000cf dc202825 DCB 220," (%d)\r\n",0
0000d3 64290d0a
0000d7 00
|L7.216|
0000d8 2f00 DCB "/",0
0000da 00 DCB 0
0000db 00 DCB 0
|L7.220|
0000dc b4f2bfaa DCB 180,242,191,170,184,249,196,191,194,188,202,167,176,220," "
0000e0 b8f9c4bf
0000e4 c2bccaa7
0000e8 b0dc20
0000eb 28256429 DCB "(%d)\r\n",0
0000ef 0d0a00
0000f2 00 DCB 0
0000f3 00 DCB 0
|L7.244|
0000f4 4e616d65 DCB "Name\t\tTyepe\t\tSize\r\n",0
0000f8 09095479
0000fc 65706509
000100 0953697a
000104 650d0a00
|L7.264|
000108 257300 DCB "%s",0
00010b 00 DCB 0
|L7.268|
00010c 090900 DCB "\t\t",0
00010f 00 DCB 0
|L7.272|
000110 0900 DCB "\t",0
000112 00 DCB 0
000113 00 DCB 0
|L7.276|
000114 c4bfc2bc DCB 196,191,194,188,"\t\t",0
000118 090900
00011b 00 DCB 0
|L7.284|
00011c cec4bcfe DCB 206,196,188,254,"\t\t",0
000120 090900
000123 00 DCB 0
|L7.292|
000124 25640d0a DCB "%d\r\n",0
000128 00
000129 00 DCB 0
00012a 00 DCB 0
00012b 00 DCB 0
|L7.300|
00012c 256400 DCB "%d",0
00012f 00 DCB 0
AREA ||i.WriteFileTest||, CODE, READONLY, ALIGN=2
REQUIRE _printf_percent
REQUIRE _printf_d
REQUIRE _printf_int_dec
WriteFileTest PROC
;;;536 */
;;;537 static void WriteFileTest(void)
000000 e92d4ff0 PUSH {r4-r11,lr}
;;;538 {
000004 f2ad4d7c SUB sp,sp,#0x47c
;;;539 /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */
;;;540 FRESULT result;
;;;541 FATFS fs;
;;;542 FIL file;
;;;543 DIR DirInf;
;;;544 uint32_t bw;
;;;545 uint32_t i;
;;;546 uint32_t runtime1,runtime2,timelen;
;;;547 uint8_t err = 0;
000008 f04f0900 MOV r9,#0
;;;548 int len=0;
00000c 2000 MOVS r0,#0
00000e 9001 STR r0,[sp,#4]
;;;549 // for (i = 0; i < sizeof(g_TestBuf); i++) ////512
;;;550 // {
;;;551 // g_TestBuf[i] = (i % 10) + '0'; /////yu shu 0 ascii 48 bian zi fu
;;;552 // }
;;;553 g_TestBuf[0] = 200; //uint8_t g_TestBuf[BUF_SIZE]; 255/10=25 yu 5 只能shi 0----9 de zifu
000010 20c8 MOVS r0,#0xc8
000012 4959 LDR r1,|L8.376|
000014 7008 STRB r0,[r1,#0]
;;;554 g_TestBuf[1] = 0;
000016 2000 MOVS r0,#0
000018 7048 STRB r0,[r1,#1]
;;;555 g_TestBuf[2] = 100; ///jia 0 bu wei 100
00001a 2064 MOVS r0,#0x64
00001c 7088 STRB r0,[r1,#2]
;;;556
;;;557 // len=format_data(str, g_TestBuf[i]); ////int to string
;;;558
;;;559 /* 挂载文件系统 */
;;;560 result = f_mount(0, &fs); /* Mount a logical drive */
00001e a993 ADD r1,sp,#0x24c
000020 2000 MOVS r0,#0
000022 f7fffffe BL f_mount
000026 4605 MOV r5,r0
;;;561 if (result != FR_OK)
000028 b11d CBZ r5,|L8.50|
;;;562 {
;;;563 printf("挂载文件系统失败 (%d)\r\n", result);
00002a 4629 MOV r1,r5
00002c a053 ADR r0,|L8.380|
00002e f7fffffe BL __2printf
|L8.50|
;;;564 }
;;;565
;;;566 /* 打开根文件夹 */
;;;567 result = f_opendir(&DirInf, "/"); /* 如果不带参数,则从当前目录开始 */
000032 a158 ADR r1,|L8.404|
000034 a803 ADD r0,sp,#0xc
000036 f7fffffe BL f_opendir
00003a 4605 MOV r5,r0
;;;568 if (result != FR_OK)
00003c b13d CBZ r5,|L8.78|
;;;569 {
;;;570 printf("打开根目录失败 (%d)\r\n", result);
00003e 4629 MOV r1,r5
000040 a055 ADR r0,|L8.408|
000042 f7fffffe BL __2printf
|L8.70|
;;;571 return;
;;;572 }
;;;573
;;;574 /* 打开文件 */
;;;575 result = f_open(&file, "Speed11.txt", FA_CREATE_ALWAYS | FA_WRITE);
;;;576
;;;577 /* 写一串数据 */
;;;578 // TEST_FILE_LEN (2*1024*1024) /* 用于测试的文件长度 */
;;;579 //#define BUF_SIZE 512 /* 每次读写SD卡的最大数据长度 */
;;;580 //uint8_t g_TestBuf[BUF_SIZE];
;;;581 //
;;;582 printf("开始写文件 %dKB ...\r\n", TEST_FILE_LEN / 1024);
;;;583 runtime1 = bsp_GetRunTime(); /* 读取系统运行时间 */
;;;584 for (i = 0; i <3 ; i++) ////4096 TEST_FILE_LEN / BUF_SIZE
;;;585 {
;;;586 //result = f_write(&file, g_TestBuf[i], sizeof(g_TestBuf), &bw);
;;;587 len=format_data(str, g_TestBuf[i]); ////int to string
;;;588 result = f_write(&file, str, 5, &bw);
;;;589
;;;590 if (result == FR_OK)
;;;591 {
;;;592 if ((i % 100) == 0)
;;;593 {
;;;594 bsp_LedToggle(1); /* 闪烁LED---change0---1 ????? */
;;;595 }
;;;596 }
;;;597 else
;;;598 {
;;;599 err = 1;
;;;600 printf("Speed1.txt 文件写失败\r\n");
;;;601 break;
;;;602 }
;;;603 }
;;;604 runtime2 = bsp_GetRunTime(); /* 读取系统运行时间 */
;;;605
;;;606 if (err == 0)
;;;607 {
;;;608 timelen = (runtime2 - runtime1);
;;;609 printf(" 写耗长 : %dms 平均写速度 : %dB/S (%dKB/S)\r\n", timelen,
;;;610 (TEST_FILE_LEN * 1000) / timelen, ((TEST_FILE_LEN / 1024) * 1000) / timelen);
;;;611 }
;;;612
;;;613 f_close(&file); /* 关闭文件*/
;;;614
;;;615 /* 开始读文件测试 ////////////////////////////////////////////////////////////////////////////////*/
;;;616 result = f_open(&file, "Speed11.txt", FA_OPEN_EXISTING | FA_READ);
;;;617 if (result != FR_OK)
;;;618 {
;;;619 printf("没有找到文件: Speed1.txtt\r\n");
;;;620 return;
;;;621 }
;;;622
;;;623 printf("开始读文件 %dKB ...\r\n", TEST_FILE_LEN / 1024);
;;;624 runtime1 = bsp_GetRunTime(); /* 读取系统运行时间 */
;;;625 for (i = 0; i < TEST_FILE_LEN / BUF_SIZE; i++)
;;;626 {
;;;627 result = f_read(&file, g_TestBuf, sizeof(g_TestBuf), &bw);
;;;628 if (result == FR_OK)
;;;629 {
;;;630 if ((i % 100) == 0)
;;;631 {
;;;632 bsp_LedToggle(1); /* 闪烁LED */
;;;633 }
;;;634 }
;;;635 else
;;;636 {
;;;637 err = 1;
;;;638 printf("Speed1.txt 文件读失败\r\n");
;;;639 break;
;;;640 }
;;;641 }
;;;642 runtime2 = bsp_GetRunTime(); /* 读取系统运行时间 */
;;;643
;;;644 if (err == 0)
;;;645 {
;;;646 timelen = (runtime2 - runtime1);
;;;647 printf(" 读耗时 : %dms 平均读速度 : %dB/S (%dKB/S)\r\n", timelen,
;;;648 (TEST_FILE_LEN * 1000) / timelen, ((TEST_FILE_LEN / 1024) * 1000) / timelen);
;;;649 }
;;;650
;;;651 /* 关闭文件*/
;;;652 f_close(&file);
;;;653
;;;654 /* 卸载文件系统 */
;;;655 f_mount(0, NULL);
;;;656 }
000046 f20d4d7c ADD sp,sp,#0x47c
00004a e8bd8ff0 POP {r4-r11,pc}
|L8.78|
00004e 220a MOVS r2,#0xa ;575
000050 a157 ADR r1,|L8.432|
000052 a80a ADD r0,sp,#0x28 ;575
000054 f7fffffe BL f_open
000058 4605 MOV r5,r0 ;575
00005a 2100 MOVS r1,#0 ;582
00005c a057 ADR r0,|L8.444|
00005e f7fffffe BL __2printf
000062 f7fffffe BL bsp_GetRunTime
000066 4607 MOV r7,r0 ;583
000068 2400 MOVS r4,#0 ;584
00006a e01e B |L8.170|
|L8.108|
00006c 4842 LDR r0,|L8.376|
00006e 5d01 LDRB r1,[r0,r4] ;587
000070 4858 LDR r0,|L8.468|
000072 f7fffffe BL format_data
000076 9001 STR r0,[sp,#4] ;587
000078 ab02 ADD r3,sp,#8 ;588
00007a 2205 MOVS r2,#5 ;588
00007c 4955 LDR r1,|L8.468|
00007e a80a ADD r0,sp,#0x28 ;588
000080 f7fffffe BL f_write
000084 4605 MOV r5,r0 ;588
000086 b94d CBNZ r5,|L8.156|
000088 2064 MOVS r0,#0x64 ;592
00008a fbb4f1f0 UDIV r1,r4,r0 ;592
00008e fb004011 MLS r0,r0,r1,r4 ;592
000092 b948 CBNZ r0,|L8.168|
000094 2001 MOVS r0,#1 ;594
000096 f7fffffe BL bsp_LedToggle
00009a e005 B |L8.168|
|L8.156|
00009c f04f0901 MOV r9,#1 ;599
0000a0 a04d ADR r0,|L8.472|
0000a2 f7fffffe BL __2printf
0000a6 e002 B |L8.174|
|L8.168|
0000a8 1c64 ADDS r4,r4,#1 ;584
|L8.170|
0000aa 2c03 CMP r4,#3 ;584
0000ac d3de BCC |L8.108|
|L8.174|
0000ae bf00 NOP ;601
0000b0 f7fffffe BL bsp_GetRunTime
0000b4 4680 MOV r8,r0 ;604
0000b6 f1b90f00 CMP r9,#0 ;606
0000ba d10d BNE |L8.216|
0000bc eba80607 SUB r6,r8,r7 ;608
0000c0 2000 MOVS r0,#0 ;609
0000c2 fbb0faf6 UDIV r10,r0,r6 ;609
0000c6 484a LDR r0,|L8.496|
0000c8 fbb0fbf6 UDIV r11,r0,r6 ;609
0000cc 4653 MOV r3,r10 ;609
0000ce 465a MOV r2,r11 ;609
0000d0 4631 MOV r1,r6 ;609
0000d2 a048 ADR r0,|L8.500|
0000d4 f7fffffe BL __2printf
|L8.216|
0000d8 a80a ADD r0,sp,#0x28 ;613
0000da f7fffffe BL f_close
0000de 2201 MOVS r2,#1 ;616
0000e0 a133 ADR r1,|L8.432|
0000e2 a80a ADD r0,sp,#0x28 ;616
0000e4 f7fffffe BL f_open
0000e8 4605 MOV r5,r0 ;616
0000ea b11d CBZ r5,|L8.244|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -