📄 main.txt
字号:
; generated by ARM C/C++ Compiler, 4.1 [Build 561]
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\CpuRAM\Obj\main.o --depend=.\CpuRAM\Obj\main.d --cpu=Cortex-M3 --apcs=interwork -O0 --diag_suppress=870 -I..\..\Libraries\CMSIS\CM3\CoreSupport -I..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x -I..\..\Libraries\STM32F10x_StdPeriph_Driver\inc -I..\..\User\bsp -I..\..\User\fatfs -I..\..\User -IC:\Keil\ARM\INC -IC:\Keil\ARM\INC\ST\STM32F10x -D__MICROLIB -DSTM32F10X_HD -DUSE_STDPERIPH_DRIVER -DVECT_TAB_SRAM ..\..\User\main.c]
THUMB
AREA ||i.CreateDir||, CODE, READONLY, ALIGN=2
REQUIRE _printf_percent
REQUIRE _printf_d
REQUIRE _printf_int_dec
CreateDir PROC
;;;463 */
;;;464 static void CreateDir(void)
000000 b510 PUSH {r4,lr}
;;;465 {
000002 f5ad7d0c SUB sp,sp,#0x230
;;;466 /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */
;;;467 FRESULT result;
;;;468 FATFS fs;
;;;469
;;;470 /* 挂载文件系统 */
;;;471 result = f_mount(0, &fs); /* Mount a logical drive */
000006 4669 MOV r1,sp
000008 2000 MOVS r0,#0
00000a f7fffffe BL f_mount
00000e 4604 MOV r4,r0
;;;472 if (result != FR_OK)
000010 b11c CBZ r4,|L1.26|
;;;473 {
;;;474 printf("挂载文件系统失败 (%d)\r\n", result);
000012 4621 MOV r1,r4
000014 a024 ADR r0,|L1.168|
000016 f7fffffe BL __2printf
|L1.26|
;;;475 }
;;;476
;;;477 /* 创建目录/Dir1 */
;;;478 result = f_mkdir("/Dir1");
00001a a029 ADR r0,|L1.192|
00001c f7fffffe BL f_mkdir
000020 4604 MOV r4,r0
;;;479 if (result == FR_OK)
000022 b91c CBNZ r4,|L1.44|
;;;480 {
;;;481 printf("f_mkdir Dir1 Ok\r\n");
000024 a028 ADR r0,|L1.200|
000026 f7fffffe BL __2printf
00002a e00d B |L1.72|
|L1.44|
;;;482 }
;;;483 else if (result == FR_EXIST)
00002c 2c08 CMP r4,#8
00002e d104 BNE |L1.58|
;;;484 {
;;;485 printf("Dir1 目录已经存在(%d)\r\n", result);
000030 4621 MOV r1,r4
000032 a02a ADR r0,|L1.220|
000034 f7fffffe BL __2printf
000038 e006 B |L1.72|
|L1.58|
;;;486 }
;;;487 else
;;;488 {
;;;489 printf("f_mkdir Dir1 失败 (%d)\r\n", result);
00003a 4621 MOV r1,r4
00003c a02d ADR r0,|L1.244|
00003e f7fffffe BL __2printf
|L1.66|
;;;490 return;
;;;491 }
;;;492
;;;493 /* 创建目录/Dir2 */
;;;494 result = f_mkdir("/Dir2");
;;;495 if (result == FR_OK)
;;;496 {
;;;497 printf("f_mkdir Dir2 Ok\r\n");
;;;498 }
;;;499 else if (result == FR_EXIST)
;;;500 {
;;;501 printf("Dir2 目录已经存在(%d)\r\n", result);
;;;502 }
;;;503 else
;;;504 {
;;;505 printf("f_mkdir Dir2 失败 (%d)\r\n", result);
;;;506 return;
;;;507 }
;;;508
;;;509 /* 创建子目录 /Dir1/Dir1_1 注意:创建子目录Dir1_1时,必须先创建好Dir1 */
;;;510 result = f_mkdir("/Dir1/Dir1_1"); /* */
;;;511 if (result == FR_OK)
;;;512 {
;;;513 printf("f_mkdir Dir1_1 成功\r\n");
;;;514 }
;;;515 else if (result == FR_EXIST)
;;;516 {
;;;517 printf("Dir1_1 目录已经存在 (%d)\r\n", result);
;;;518 }
;;;519 else
;;;520 {
;;;521 printf("f_mkdir Dir1_1 失败 (%d)\r\n", result);
;;;522 return;
;;;523 }
;;;524
;;;525 /* 卸载文件系统 */
;;;526 f_mount(0, NULL);
;;;527 }
000042 f50d7d0c ADD sp,sp,#0x230
000046 bd10 POP {r4,pc}
|L1.72|
000048 a031 ADR r0,|L1.272|
00004a f7fffffe BL f_mkdir
00004e 4604 MOV r4,r0 ;494
000050 b91c CBNZ r4,|L1.90|
000052 a031 ADR r0,|L1.280|
000054 f7fffffe BL __2printf
000058 e00b B |L1.114|
|L1.90|
00005a 2c08 CMP r4,#8 ;499
00005c d104 BNE |L1.104|
00005e 4621 MOV r1,r4 ;501
000060 a032 ADR r0,|L1.300|
000062 f7fffffe BL __2printf
000066 e004 B |L1.114|
|L1.104|
000068 4621 MOV r1,r4 ;505
00006a a036 ADR r0,|L1.324|
00006c f7fffffe BL __2printf
000070 e7e7 B |L1.66|
|L1.114|
000072 a03b ADR r0,|L1.352|
000074 f7fffffe BL f_mkdir
000078 4604 MOV r4,r0 ;510
00007a b91c CBNZ r4,|L1.132|
00007c a03c ADR r0,|L1.368|
00007e f7fffffe BL __2printf
000082 e00b B |L1.156|
|L1.132|
000084 2c08 CMP r4,#8 ;515
000086 d104 BNE |L1.146|
000088 4621 MOV r1,r4 ;517
00008a a03f ADR r0,|L1.392|
00008c f7fffffe BL __2printf
000090 e004 B |L1.156|
|L1.146|
000092 4621 MOV r1,r4 ;521
000094 a043 ADR r0,|L1.420|
000096 f7fffffe BL __2printf
00009a e7d2 B |L1.66|
|L1.156|
00009c 2100 MOVS r1,#0 ;526
00009e 4608 MOV r0,r1 ;526
0000a0 f7fffffe BL f_mount
0000a4 bf00 NOP
0000a6 e7cc B |L1.66|
;;;528
ENDP
|L1.168|
0000a8 b9d2d4d8 DCB 185,210,212,216,206,196,188,254,207,181,205,179,202,167,176
0000ac cec4bcfe
0000b0 cfb5cdb3
0000b4 caa7b0
0000b7 dc202825 DCB 220," (%d)\r\n",0
0000bb 64290d0a
0000bf 00
|L1.192|
0000c0 2f446972 DCB "/Dir1",0
0000c4 3100
0000c6 00 DCB 0
0000c7 00 DCB 0
|L1.200|
0000c8 665f6d6b DCB "f_mkdir Dir1 Ok\r\n",0
0000cc 64697220
0000d0 44697231
0000d4 204f6b0d
0000d8 0a00
0000da 00 DCB 0
0000db 00 DCB 0
|L1.220|
0000dc 44697231 DCB "Dir1 ",196,191,194,188,210,209,190,173,180,230,212,218,"("
0000e0 20c4bfc2
0000e4 bcd2d1be
0000e8 adb4e6d4
0000ec da28
0000ee 2564290d DCB "%d)\r\n",0
0000f2 0a00
|L1.244|
0000f4 665f6d6b DCB "f_mkdir Dir1 ",202,167,176,220," (%d)\r\n",0
0000f8 64697220
0000fc 44697231
000100 20caa7b0
000104 dc202825
000108 64290d0a
00010c 00
00010d 00 DCB 0
00010e 00 DCB 0
00010f 00 DCB 0
|L1.272|
000110 2f446972 DCB "/Dir2",0
000114 3200
000116 00 DCB 0
000117 00 DCB 0
|L1.280|
000118 665f6d6b DCB "f_mkdir Dir2 Ok\r\n",0
00011c 64697220
000120 44697232
000124 204f6b0d
000128 0a00
00012a 00 DCB 0
00012b 00 DCB 0
|L1.300|
00012c 44697232 DCB "Dir2 ",196,191,194,188,210,209,190,173,180,230,212,218,"("
000130 20c4bfc2
000134 bcd2d1be
000138 adb4e6d4
00013c da28
00013e 2564290d DCB "%d)\r\n",0
000142 0a00
|L1.324|
000144 665f6d6b DCB "f_mkdir Dir2 ",202,167,176,220," (%d)\r\n",0
000148 64697220
00014c 44697232
000150 20caa7b0
000154 dc202825
000158 64290d0a
00015c 00
00015d 00 DCB 0
00015e 00 DCB 0
00015f 00 DCB 0
|L1.352|
000160 2f446972 DCB "/Dir1/Dir1_1",0
000164 312f4469
000168 72315f31
00016c 00
00016d 00 DCB 0
00016e 00 DCB 0
00016f 00 DCB 0
|L1.368|
000170 665f6d6b DCB "f_mkdir Dir1_1 ",179,201,185,166,"\r\n",0
000174 64697220
000178 44697231
00017c 5f3120b3
000180 c9b9a60d
000184 0a00
000186 00 DCB 0
000187 00 DCB 0
|L1.392|
000188 44697231 DCB "Dir1_1 ",196,191,194,188,210,209,190,173,180,230,212,218
00018c 5f3120c4
000190 bfc2bcd2
000194 d1beadb4
000198 e6d4da
00019b 20282564 DCB " (%d)\r\n",0
00019f 290d0a00
0001a3 00 DCB 0
|L1.420|
0001a4 665f6d6b DCB "f_mkdir Dir1_1 ",202,167,176,220," (%d)\r\n",0
0001a8 64697220
0001ac 44697231
0001b0 5f3120ca
0001b4 a7b0dc20
0001b8 28256429
0001bc 0d0a00
0001bf 00 DCB 0
AREA ||i.CreateNewFile||, CODE, READONLY, ALIGN=2
REQUIRE _printf_percent
REQUIRE _printf_d
REQUIRE _printf_int_dec
CreateNewFile PROC
;;;342 */
;;;343 static void CreateNewFile(void)
000000 b510 PUSH {r4,lr}
;;;344 {
000002 f5ad6d8f SUB sp,sp,#0x478
;;;345 /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */
;;;346 FRESULT result;
;;;347 FATFS fs;
;;;348 FIL file;
;;;349 DIR DirInf;
;;;350 uint32_t bw;
;;;351
;;;352 /* 挂载文件系统 */
;;;353 result = f_mount(0, &fs); /* Mount a logical drive */
000006 a992 ADD r1,sp,#0x248
000008 2000 MOVS r0,#0
00000a f7fffffe BL f_mount
00000e 4604 MOV r4,r0
;;;354 if (result != FR_OK)
000010 b11c CBZ r4,|L2.26|
;;;355 {
;;;356 printf("挂载文件系统失败 (%d)\r\n", result);
000012 4621 MOV r1,r4
000014 a016 ADR r0,|L2.112|
000016 f7fffffe BL __2printf
|L2.26|
;;;357 }
;;;358
;;;359 /* 打开根文件夹 */
;;;360 result = f_opendir(&DirInf, "/"); /* 如果不带参数,则从当前目录开始 */
00001a a11b ADR r1,|L2.136|
00001c a802 ADD r0,sp,#8
00001e f7fffffe BL f_opendir
000022 4604 MOV r4,r0
;;;361 if (result != FR_OK)
000024 b134 CBZ r4,|L2.52|
;;;362 {
;;;363 printf("打开根目录失败 (%d)\r\n", result);
000026 4621 MOV r1,r4
000028 a018 ADR r0,|L2.140|
00002a f7fffffe BL __2printf
|L2.46|
;;;364 return;
;;;365 }
;;;366
;;;367 /* 打开文件 */
;;;368 result = f_open(&file, "armfly.txt", FA_CREATE_ALWAYS | FA_WRITE);
;;;369
;;;370 /* 写一串数据 */
;;;371 result = f_write(&file, "FatFS Write Demo \r\n www.armfly.com \r\n", 34, &bw);////34 ge?????
;;;372 if (result == FR_OK)
;;;373 {
;;;374 printf("armfly.txt 文件写入成功\r\n");
;;;375 }
;;;376 else
;;;377 {
;;;378 printf("armfly.txt 文件写入失败\r\n");
;;;379 }
;;;380
;;;381 /* 关闭文件*/
;;;382 f_close(&file);
;;;383
;;;384 /* 卸载文件系统 */
;;;385 f_mount(0, NULL);
;;;386 }
00002e f50d6d8f ADD sp,sp,#0x478
000032 bd10 POP {r4,pc}
|L2.52|
000034 220a MOVS r2,#0xa ;368
000036 a11b ADR r1,|L2.164|
000038 a809 ADD r0,sp,#0x24 ;368
00003a f7fffffe BL f_open
00003e 4604 MOV r4,r0 ;368
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -