hi35183e增加exfat文件系统的支持

64G-128G的tf卡文件系统格式为exfat,而hi3518e默认只支持fat32格式的tf卡。为了挂载64G以上的tf卡,只能将sd卡先格式化成FAT32。鉴于exfat性能比FAT32强,因此考虑移植exfat驱动到海思3518e平台,这样就不用强制格式化tf卡。

拷贝驱动源码到内核

# cp /home/dyx/exfat /home/dyx/sdk_hi3518e/Hi3518_SDK_V1.0.A.0/osdrv/kernel/linux-3.0.y/fs/exfat -frv

切换路径至内核编译顶层路径

# cd /home/dyx/sdk_hi3518e/Hi3518_SDK_V1.0.A.0/osdrv/kernel/linux-3.0.y

修改fs/Kconfig

# vi ./fs/Kconfig

 

if BLOCK
menu "DOS/FAT/NT Filesystems"


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

source "fs/ntfs/Kconfig"

修改fs/Makefile

# vi ./fs/Makefile

obj-$(CONFIG_MINIX_FS)+= minix/
obj-$(CONFIG_FAT_FS) += fat/
obj-$(CONFIG_EXFAT_FS)  += exfat/

exfat层makefile示例

[plain]  view plain  copy
 
 print?在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:14px;">#  
  2. # Makefile for the Linux fat filesystem support.  
  3. #  
  4.   
  5. obj-$(CONFIG_EXFAT_FS) += exfat.o  
  6.   
  7. exfat-y := exfat_core.o exfat_super.o exfat_api.o exfat_blkdev.o exfat_cache.o \  
  8.                exfat_data.o exfat_bitmap.o exfat_nls.o exfat_oal.o exfat_upcase.o</span></span></span>  

 

menuconfig配置

# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig

进入图形化配置界面

File systems  ---> 

DOS/FAT/NT Filesystems  --->

<*> exFAT fs support                                                                                               
[*]   enable discard support                                                                                       
[*]   enable delayed sync                                                                                          
[ ]   enable kernel debug features via ioctl                                                                       
[ ]   print debug messages                                                                                         
(437) Default codepage for exFAT                                                                                   
(utf8) Default iocharset for exFAT 

保存退出

内核编译
# make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage

挂载

mount -t exfat /dev/mmcblk0p1   /media/

或者可以不指定挂载的文件系统类型,让系统自动识别

mount /dev/mmcblk0p1   /media/

[EXFAT] trying to mount...
[EXFAT] mounted successfully

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                12.0M      4.6M      7.4M  38% /
tmpfs                    16.1M      4.0K     16.1M   0% /dev
/dev/mmcblk0p1          117.0G    512.0K    117.0G   0% /mnt

海思是一家专注于芯片开发的公司,海思的芯片在各个领域有很好的应用。而exFAT(Extended File Allocation Table)是一种Microsoft开发的文件系统,它在处理大型存储设备时具有较高的性能和存储容量优势。下面是关于在海思芯片上编译exFAT文件系统的回答。 首先,要在海思芯片上编译exFAT文件系统,我们需要安装适当的开发工具和环境。这些工具可以从海思官方网站上下载到。通常,我们需要安装交叉编译工具链,以便在主机上编译适用于海思芯片的代码。 其次,我们需要获取exFAT文件系统源代码。由于exFAT是Microsoft的专有技术,源代码可能不是开源的,但可以通过购买授权的方式获取。一旦获得了源代码,我们可以将其放入适当的目录中,以备后续编译使用。 接下来,我们可以使用交叉编译工具链中的编译器和相关工具,将exFAT源代码编译成适用于海思芯片的可执行文件。在编译过程中,我们需要注意指定正确的目标平台和相关的编译选项,以确保编译结果能在海思芯片上正确运行。 最后,完成编译后,我们可以将生成的可执行文件烧录到海思芯片中,并进行相应的测试和验证。在测试过程中,我们可以使用自己编写的测试代码和一些标准测试工具,验证exFAT文件系统在海思芯片上的功能和性能。 总之,要在海思芯片上编译exFAT文件系统,我们需要安装适当的开发工具和环境,获取exFAT文件系统的源代码,使用交叉编译工具链进行编译,并最终将可执行文件烧录到海思芯片中进行测试和验证。这样,我们就可以在海思芯片上使用exFAT文件系统了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值