HI35xx内核增加exFAT支持

本文详细介绍了如何将exFAT文件系统移植到海思SDK内核中,以便支持64GB以上TF卡的读写。教程包括源码下载、编译配置、内核编译及验证步骤。


大于64GB的TF卡都是使用的exFAT文件格式,但是海思SDK里面提供的内核源码并不支持exFAT格式。因此要想内核识别64GB以上的TF卡,要么将64GB以上的TF卡格式化为FAT32格式,要么移植exFAT到内核中去。

1 源码下载

链接:
https://github.com/dorimanx/exfat-nofuse

2 编译

2.1 复制文件

将下载好的源码复制到内核 fs/exfat目录即可

2.2 修改fs/Kconfig

添加exFAT的Kconfig,如下:

if BLOCK
menu "DOS/FAT/NT Filesystems"

source "fs/fat/Kconfig"
source "fs/exfat/Kconfig"
source "fs/ntfs/Kconfig"

endmenu
endif # BLOCK

2.3 修改fs/Makefile

添加exFat,如下:

obj-$(CONFIG_FAT_FS)		+= fat/
obj-$(CONFIG_EXFAT_FS)      += exfat/
obj-$(CONFIG_BFS_FS)		+= bfs/
obj-$(CONFIG_ISO9660_FS)	+= isofs/

2.4 配置menuconfig

打开menuconfig,然后打开exfat相关配置即可

File systems --->
	DOS/FAT/NT Filesystems --->
		<*>exFAT fs support (NEW)
		[*]   enable discard support (NEW)
		[*]   enable delayed sync (NEW)   
		[ ]   enable kernel debug features via ioctl (NEW)
		 [ ]   print debug messages (NEW) 
		(437)Default codepage for exFAT (NEW) 
		(utf8) Default iocharset for exFAT (NEW)   

2.5 编译

编译内核并将内核烧录到设备中

3 验证

开机启动后,插入TF卡,并使用如下命令挂载TF卡:

mount /dev/mmcblk0p1 /mnt              //不指定挂载类型,系统自动识别
或
mount -t exfat /dev/mmcblk0p1 /mnt/sd    //指定挂载类型

其中,/dev/mmcblk0p1为TF在系统中的设备文件

打印信息如下:

[EXFAT] trying to mount...
[EXFAT] mounted successfully
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值