📄 main.txt
字号:
; generated by ARM C/C++ Compiler, 4.1 [Build 561]
; commandline ArmCC [--split_sections --debug -c --asm --interleave -o.\Flash\Obj\main.o --depend=.\Flash\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 ..\..\User\main.c]
THUMB
AREA ||i.CreateDir||, CODE, READONLY, ALIGN=2
REQUIRE _printf_percent
REQUIRE _printf_d
REQUIRE _printf_int_dec
CreateDir PROC
;;;369 */
;;;370 static void CreateDir(void)
000000 b510 PUSH {r4,lr}
;;;371 {
000002 f5ad7d0c SUB sp,sp,#0x230
;;;372 /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */
;;;373 FRESULT result;
;;;374 FATFS fs;
;;;375
;;;376 /* 挂载文件系统 */
;;;377 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
;;;378 if (result != FR_OK)
000010 b11c CBZ r4,|L1.26|
;;;379 {
;;;380 printf("挂载文件系统失败 (%d)\r\n", result);
000012 4621 MOV r1,r4
000014 a024 ADR r0,|L1.168|
000016 f7fffffe BL __2printf
|L1.26|
;;;381 }
;;;382
;;;383 /* 创建目录/Dir1 */
;;;384 result = f_mkdir("/Dir1");
00001a a029 ADR r0,|L1.192|
00001c f7fffffe BL f_mkdir
000020 4604 MOV r4,r0
;;;385 if (result == FR_OK)
000022 b91c CBNZ r4,|L1.44|
;;;386 {
;;;387 printf("f_mkdir Dir1 Ok\r\n");
000024 a028 ADR r0,|L1.200|
000026 f7fffffe BL __2printf
00002a e00d B |L1.72|
|L1.44|
;;;388 }
;;;389 else if (result == FR_EXIST)
00002c 2c08 CMP r4,#8
00002e d104 BNE |L1.58|
;;;390 {
;;;391 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|
;;;392 }
;;;393 else
;;;394 {
;;;395 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|
;;;396 return;
;;;397 }
;;;398
;;;399 /* 创建目录/Dir2 */
;;;400 result = f_mkdir("/Dir2");
;;;401 if (result == FR_OK)
;;;402 {
;;;403 printf("f_mkdir Dir2 Ok\r\n");
;;;404 }
;;;405 else if (result == FR_EXIST)
;;;406 {
;;;407 printf("Dir2 目录已经存在(%d)\r\n", result);
;;;408 }
;;;409 else
;;;410 {
;;;411 printf("f_mkdir Dir2 失败 (%d)\r\n", result);
;;;412 return;
;;;413 }
;;;414
;;;415 /* 创建子目录 /Dir1/Dir1_1 注意:创建子目录Dir1_1时,必须先创建好Dir1 */
;;;416 result = f_mkdir("/Dir1/Dir1_1"); /* */
;;;417 if (result == FR_OK)
;;;418 {
;;;419 printf("f_mkdir Dir1_1 成功\r\n");
;;;420 }
;;;421 else if (result == FR_EXIST)
;;;422 {
;;;423 printf("Dir1_1 目录已经存在 (%d)\r\n", result);
;;;424 }
;;;425 else
;;;426 {
;;;427 printf("f_mkdir Dir1_1 失败 (%d)\r\n", result);
;;;428 return;
;;;429 }
;;;430
;;;431 /* 卸载文件系统 */
;;;432 f_mount(0, NULL);
;;;433 }
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 ;400
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 ;405
00005c d104 BNE |L1.104|
00005e 4621 MOV r1,r4 ;407
000060 a032 ADR r0,|L1.300|
000062 f7fffffe BL __2printf
000066 e004 B |L1.114|
|L1.104|
000068 4621 MOV r1,r4 ;411
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 ;416
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 ;421
000086 d104 BNE |L1.146|
000088 4621 MOV r1,r4 ;423
00008a a03f ADR r0,|L1.392|
00008c f7fffffe BL __2printf
000090 e004 B |L1.156|
|L1.146|
000092 4621 MOV r1,r4 ;427
000094 a043 ADR r0,|L1.420|
000096 f7fffffe BL __2printf
00009a e7d2 B |L1.66|
|L1.156|
00009c 2100 MOVS r1,#0 ;432
00009e 4608 MOV r0,r1 ;432
0000a0 f7fffffe BL f_mount
0000a4 bf00 NOP
0000a6 e7cc B |L1.66|
;;;434
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
;;;256 */
;;;257 static void CreateNewFile(void)
000000 b510 PUSH {r4,lr}
;;;258 {
000002 f5ad6d8f SUB sp,sp,#0x478
;;;259 /* 本函数使用的局部变量占用较多,请修改启动文件,保证堆栈空间够用 */
;;;260 FRESULT result;
;;;261 FATFS fs;
;;;262 FIL file;
;;;263 DIR DirInf;
;;;264 uint32_t bw;
;;;265
;;;266 /* 挂载文件系统 */
;;;267 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
;;;268 if (result != FR_OK)
000010 b11c CBZ r4,|L2.26|
;;;269 {
;;;270 printf("挂载文件系统失败 (%d)\r\n", result);
000012 4621 MOV r1,r4
000014 a016 ADR r0,|L2.112|
000016 f7fffffe BL __2printf
|L2.26|
;;;271 }
;;;272
;;;273 /* 打开根文件夹 */
;;;274 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
;;;275 if (result != FR_OK)
000024 b134 CBZ r4,|L2.52|
;;;276 {
;;;277 printf("打开根目录失败 (%d)\r\n", result);
000026 4621 MOV r1,r4
000028 a018 ADR r0,|L2.140|
00002a f7fffffe BL __2printf
|L2.46|
;;;278 return;
;;;279 }
;;;280
;;;281 /* 打开文件 */
;;;282 result = f_open(&file, "armfly.txt", FA_CREATE_ALWAYS | FA_WRITE);
;;;283
;;;284 /* 写一串数据 */
;;;285 result = f_write(&file, "FatFS Write Demo \r\n www.armfly.com \r\n", 34, &bw);////34 ge?????
;;;286 if (result == FR_OK)
;;;287 {
;;;288 printf("armfly.txt 文件写入成功\r\n");
;;;289 }
;;;290 else
;;;291 {
;;;292 printf("armfly.txt 文件写入失败\r\n");
;;;293 }
;;;294
;;;295 /* 关闭文件*/
;;;296 f_close(&file);
;;;297
;;;298 /* 卸载文件系统 */
;;;299 f_mount(0, NULL);
;;;300 }
00002e f50d6d8f ADD sp,sp,#0x478
000032 bd10 POP {r4,pc}
|L2.52|
000034 220a MOVS r2,#0xa ;282
000036 a11b ADR r1,|L2.164|
000038 a809 ADD r0,sp,#0x24 ;282
00003a f7fffffe BL f_open
00003e 4604 MOV r4,r0 ;282
000040 ab01 ADD r3,sp,#4 ;285
000042 2222 MOVS r2,#0x22 ;285
000044 a11a ADR r1,|L2.176|
000046 a809 ADD r0,sp,#0x24 ;285
000048 f7fffffe BL f_write
00004c 4604 MOV r4,r0 ;285
00004e b91c CBNZ r4,|L2.88|
000050 a021 ADR r0,|L2.216|
000052 f7fffffe BL __2printf
000056 e002 B |L2.94|
|L2.88|
000058 a026 ADR r0,|L2.244|
00005a f7fffffe BL __2printf
|L2.94|
00005e a809 ADD r0,sp,#0x24 ;296
000060 f7fffffe BL f_close
000064 2100 MOVS r1,#0 ;299
000066 4608 MOV r0,r1 ;299
000068 f7fffffe BL f_mount
00006c bf00 NOP
00006e e7de B |L2.46|
;;;301
ENDP
|L2.112|
000070 b9d2d4d8 DCB 185,210,212,216,206,196,188,254,207,181,205,179,202,167,176
000074 cec4bcfe
000078 cfb5cdb3
00007c caa7b0
00007f dc202825 DCB 220," (%d)\r\n",0
000083 64290d0a
000087 00
|L2.136|
000088 2f00 DCB "/",0
00008a 00 DCB 0
00008b 00 DCB 0
|L2.140|
00008c b4f2bfaa DCB 180,242,191,170,184,249,196,191,194,188,202,167,176,220," "
000090 b8f9c4bf
000094 c2bccaa7
000098 b0dc20
00009b 28256429 DCB "(%d)\r\n",0
00009f 0d0a00
0000a2 00 DCB 0
0000a3 00 DCB 0
|L2.164|
0000a4 61726d66 DCB "armfly.txt",0
0000a8 6c792e74
0000ac 787400
0000af 00 DCB 0
|L2.176|
0000b0 46617446 DCB "FatFS Write Demo \r\n www.armfly.com \r\n",0
0000b4 53205772
0000b8 69746520
0000bc 44656d6f
0000c0 200d0a20
0000c4 7777772e
0000c8 61726d66
0000cc 6c792e63
0000d0 6f6d200d
0000d4 0a00
0000d6 00 DCB 0
0000d7 00 DCB 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -