; generated by Component: ARM Compiler 5.05 update 1 (build 106) Tool: ArmCC [4d0efa]
; commandline ArmCC [--list --split_sections --debug -c --asm --interleave -o.\flash\obj\ff.o --asm_dir=.\Flash\List\ --list_dir=.\Flash\List\ --depend=.\flash\obj\ff.d --cpu=Cortex-M4.fp --apcs=interwork -O0 --diag_suppress=9931,870 -I..\..\User -I..\..\Libraries\STM32F4xx_StdPeriph_Driver\inc -I..\..\Libraries\CMSIS\Device\ST\STM32F4xx\Include -I..\..\User\fonts -I..\..\emWin\GUI_X -I..\..\emWin\Config -I..\..\emWin\Include -I..\..\emWin\emWinTask -I..\..\User\fatfs\src -I..\..\FreeRTOS\include -I..\..\FreeRTOS\portable\RVDS\ARM_CM4F -I..\..\User\bsp_stm32f4xx -I..\..\User\bsp_stm32f4xx\inc -I..\..\User\nmea_decode\include -I..\..\User\FATFS -I..\..\User\FATFS\option -I..\..\User\usbh_mass_storage -I..\..\Libraries\STM32_USB_OTG_Driver\inc -I..\..\Libraries\STM32_USB_HOST_Library\Core\inc -I..\..\Libraries\STM32_USB_HOST_Library\Class\MSC\inc -I..\..\User\delay -I..\..\User\IAP -I..\..\User\STMFLASH -IC:\Keil_v5\ARM\RV31\INC -IC:\Keil_v5\ARM\CMSIS\Include -IC:\Keil_v5\ARM\Inc\ST\STM32F4xx -D__MICROLIB -D__UVISION_VERSION=514 -DUSE_STDPERIPH_DRIVER -DSTM32F4XX -DARM_MATH_CM4 -D__CC_ARM -D__CC_ARM -DUSE_USB_OTG_HS -DUSE_EMBEDDED_PHY -DSTM32F40XX --omf_browse=.\flash\obj\ff.crf ..\..\User\FATFS\ff.c]
THUMB
AREA ||i.check_fs||, CODE, READONLY, ALIGN=2
check_fs PROC
;;;2174 static
;;;2175 BYTE check_fs ( /* 0:Valid FAT-BS, 1:Valid BS but not FAT, 2:Not a BS, 3:Disk error */
000000 b570 PUSH {r4-r6,lr}
;;;2176 FATFS* fs, /* File system object */
;;;2177 DWORD sect /* Sector# (lba) to check if it is an FAT boot record or not */
;;;2178 )
;;;2179 {
000002 4604 MOV r4,r0
000004 460d MOV r5,r1
;;;2180 fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */
000006 2000 MOVS r0,#0
000008 7120 STRB r0,[r4,#4]
00000a 1e40 SUBS r0,r0,#1
00000c 62e0 STR r0,[r4,#0x2c]
;;;2181 if (move_window(fs, sect) != FR_OK) /* Load boot record */
00000e 4629 MOV r1,r5
000010 4620 MOV r0,r4
000012 f7fffffe BL move_window
000016 b108 CBZ r0,|L1.28|
;;;2182 return 3;
000018 2003 MOVS r0,#3
|L1.26|
;;;2183
;;;2184 if (LD_WORD(&fs->win[BS_55AA]) != 0xAA55) /* Check boot record signature (always placed at offset 510 even if the sector size is >512) */
;;;2185 return 2;
;;;2186
;;;2187 if ((LD_DWORD(&fs->win[BS_FilSysType]) & 0xFFFFFF) == 0x544146) /* Check "FAT" string */
;;;2188 return 0;
;;;2189 if ((LD_DWORD(&fs->win[BS_FilSysType32]) & 0xFFFFFF) == 0x544146) /* Check "FAT" string */
;;;2190 return 0;
;;;2191
;;;2192 return 1;
;;;2193 }
00001a bd70 POP {r4-r6,pc}
|L1.28|
00001c f894122e LDRB r1,[r4,#0x22e] ;2184
000020 f894022f LDRB r0,[r4,#0x22f] ;2184
000024 ea412000 ORR r0,r1,r0,LSL #8 ;2184
000028 f64a2155 MOV r1,#0xaa55 ;2184
00002c 4288 CMP r0,r1 ;2184
00002e d001 BEQ |L1.52|
000030 2002 MOVS r0,#2 ;2185
000032 e7f2 B |L1.26|
|L1.52|
000034 f8940069 LDRB r0,[r4,#0x69] ;2187
000038 0601 LSLS r1,r0,#24 ;2187
00003a f8940068 LDRB r0,[r4,#0x68] ;2187
00003e ea414100 ORR r1,r1,r0,LSL #16 ;2187
000042 f8940067 LDRB r0,[r4,#0x67] ;2187
000046 ea412000 ORR r0,r1,r0,LSL #8 ;2187
00004a f8941066 LDRB r1,[r4,#0x66] ;2187
00004e 4308 ORRS r0,r0,r1 ;2187
000050 f020407f BIC r0,r0,#0xff000000 ;2187
000054 490d LDR r1,|L1.140|
000056 4288 CMP r0,r1 ;2187
000058 d101 BNE |L1.94|
00005a 2000 MOVS r0,#0 ;2188
00005c e7dd B |L1.26|
|L1.94|
00005e f8940085 LDRB r0,[r4,#0x85] ;2189
000062 0601 LSLS r1,r0,#24 ;2189
000064 f8940084 LDRB r0,[r4,#0x84] ;2189
000068 ea414100 ORR r1,r1,r0,LSL #16 ;2189
00006c f8940083 LDRB r0,[r4,#0x83] ;2189
000070 ea412000 ORR r0,r1,r0,LSL #8 ;2189
000074 f8941082 LDRB r1,[r4,#0x82] ;2189
000078 4308 ORRS r0,r0,r1 ;2189
00007a f020407f BIC r0,r0,#0xff000000 ;2189
00007e 4903 LDR r1,|L1.140|
000080 4288 CMP r0,r1 ;2189
000082 d101 BNE |L1.136|
000084 2000 MOVS r0,#0 ;2190
000086 e7c8 B |L1.26|
|L1.136|
000088 2001 MOVS r0,#1 ;2192
00008a e7c6 B |L1.26|
;;;2194
ENDP
|L1.140|
DCD 0x00544146
AREA ||i.chk_chr||, CODE, READONLY, ALIGN=1
chk_chr PROC
;;;542 static
;;;543 int chk_chr (const char* str, int chr) {
000000 4602 MOV r2,r0
;;;544 while (*str && *str != chr) str++;
000002 e000 B |L2.6|
|L2.4|
000004 1c52 ADDS r2,r2,#1
|L2.6|
000006 7810 LDRB r0,[r2,#0]
000008 b110 CBZ r0,|L2.16|
00000a 7810 LDRB r0,[r2,#0]
00000c 4288 CMP r0,r1
00000e d1f9 BNE |L2.4|
|L2.16|
;;;545 return *str;
000010 7810 LDRB r0,[r2,#0]
;;;546 }
000012 4770 BX lr
;;;547
ENDP
AREA ||i.clust2sect||, CODE, READONLY, ALIGN=1
clust2sect PROC
;;;799
;;;800 DWORD clust2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */
000000 4602 MOV r2,r0
;;;801 FATFS* fs, /* File system object */
;;;802 DWORD clst /* Cluster# to be converted */
;;;803 )
;;;804 {
;;;805 clst -= 2;
000002 1e89 SUBS r1,r1,#2
;;;806 if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */
000004 6950 LDR r0,[r2,#0x14]
000006 1e80 SUBS r0,r0,#2
000008 4288 CMP r0,r1
00000a d801 BHI |L3.16|
00000c 2000 MOVS r0,#0
|L3.14|
;;;807 return clst * fs->csize + fs->database;
;;;808 }
00000e 4770 BX lr
|L3.16|
000010 7893 LDRB r3,[r2,#2] ;807
000012 6a90 LDR r0,[r2,#0x28] ;807
000014 fb010003 MLA r0,r1,r3,r0 ;807
000018 e7f9 B |L3.14|
;;;809
ENDP
AREA ||i.cmp_lfn||, CODE, READONLY, ALIGN=2
cmp_lfn PROC
;;;1273 static
;;;1274 int cmp_lfn ( /* 1:matched, 0:not matched */
000000 e92d47f0 PUSH {r4-r10,lr}
;;;1275 WCHAR* lfnbuf, /* Pointer to the LFN working buffer to be compared */
;;;1276 BYTE* dir /* Pointer to the directory entry containing the part of LFN */
;;;1277 )
;;;1278 {
000004 4680 MOV r8,r0
000006 460c
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录





































































































共 1776 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18




格式:zip 资源大小:14.4MB


























轻舟八尺过重山
- 粉丝: 9
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 微信小程序:今天吃什么.zip
- 文海苑住宅小区监理规划.doc
- 基于Gulp 的微信小程序前端开发工作流 .zip
- 百度地图微信小程序jsapi.zip
- 一份安全监理规划.doc
- 行业标准招标文件第01章招标公告(投标邀请书).ppt
- 基于QUIC协议实现的高性能安全隧道代理工具-提供TCP和UNIX域套接字的双向协议转换-通过QUIC传输层优化解决网络丢包和高延迟问题-支持多路复用减少端口暴露-内置TLS加密保.zip
- 综合办公楼中央空调系统安装调试施工组织设计.doc
- 天津大学结构力学历年试题.doc
- 微信小程序-打飞机游戏.zip
- 第12章-压力钢管制作安装.docx
- 造价员入门--油漆、涂料、裱糊工程.ppt
- 桩与地基基础工程工程计量与计价.ppt
- PHC管桩的设计及施工.ppt
- wxSortPickerView-微信小程序首字母排序选择表.zip
- Check-Point-解决方案及案例-—-电信行业.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0