Openwrt如何添加SD_Card?看这里
发布日期:2021-07-19 12:30:15
浏览次数:16
分类:技术文章
本文共 3604 字,大约阅读时间需要 12 分钟。
一、硬件平台
1.1 控制器:MT7688
二、软件平台
2.1、开发环境:Ubuntu12.04 2.2、软件版本:openwrt-hiwooya-stable
三、功能说明
本文章所选择的目标芯片为MT7688,profile 选择的为“LINKIT7688.dts”。对于openwrt增加对于sd card的支持,需要配置四个方面:1、dts文件增加对sdhci的支持,开启硬件对sd card接口驱动支持,硬件初始化。2、增加对sd card的驱动程序支持,用于检测sd card插拔和驱动。3、增加对语言格式的支持,如utf8、cp437、iso8859-1,用于识别sd card里面的内容,避免乱码。4、增加对vfat文件系统的支持,否则无法挂载sd card。
四、操作步骤
4.1 修改dts文件
对于默认的小米开发板的dts文件,没有对sd接口的硬件初始化,故需要修改“openwrt/target/linux/ramips/dts/HOWOOYA7688.dts”文件。
在文件中,增加如下代码:step1:修改菜单配置sudo make menuconfig支持sd卡Kernel modules ---> Other modules ---> <*> kmod-button-hotplug <*> kmod-sdhci-mt7620支持语言Kernel modules ---> Native Language Support ---> <*> kmod-nls-cp437 <*> kmod-nls-iso8859-1 <*> kmod-nls-utf8支持文件系统Kernel modules ---> Filesystems ---> <*> kmod-fs-vfatstep2:修改内核配置sudo make kernel_menuconfig支持热拔插Device Drivers ---> <*> MMC/SD/SDIO card support ---> <*> MTK SD/MMC Card Detect with Pollingstep3:修改设备树HIWOOYA7688.dts sdhci@10130000 { status = "okay";// mediatek,cd-high; mediatek,cd-low; };step4:修改设备树mt7628an.dtsi如下 sdhci@10130000 { compatible = "ralink,mt7620-sdhci"; reg = <0x10130000 4000>; interrupt-parent = <&intc>; interrupts = <14>; pinctrl-names = "default"; pinctrl-0 = <&sdxc_pins>; status = "disabled"; }; sdxc_pins: sdxc { sdxc { ralink,group = "sdmode"; ralink,function = "sdxc"; }; };
4.2 增加sd card 驱动支持
在openwrt sdk包中,执行命令 make menuconfig命令
Kernel modules —>
Other modules —> <> kmod-button-hotplug <> kmod-sdhci-mt7620 配置如图4-1所示。 图4-1 增加sd card 接口驱动注意事项:在make menuconfig中配置了sd card 驱动,请勿再 make kernel_menuconfig中配置sd card驱动,否则在开机的时候,出现提示信息:
mmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)sdhci-pltfm: SDHCI platform and OF driver helpermmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)mmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)mmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)mmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)mmc_core: exports duplicate symbol __mmc_claim_host (owned by kernel)
如提示信息所示,sd 卡mmc_core重复导出,所以最终导致无法sd 卡驱动成功!!!!
4.3 增加语言模块支持
对于openwrt系统,仅仅开启sd card接口驱动是不够的,还需要增加语言的支持,否则sd card无法识别里面的文件内容,或者出现乱码显现。
在openwrt sdk包中,执行命令 make menuconfig命令。 Kernel modules —> Native Language Support —>, <*> kmod-nls-cp437 <*> kmod-nls-iso8859-1 <*> kmod-nls-utf8 设置如图4-2所示。 图4-2 增加语言支持4.4 增加 vfat文件系统的支持
对于增加vfat文件系统的支持,有两个方法,选择其中一种即可。
4.4.1、menuconfig 增加支持
执行 make menuconfig
Filesystems —> 配置如图4-3所示。 图4-3 增加vfat文件系统的支持4.4.2 kernel_menuconfig增加支持
执行make kernel_menuconfig
File systems —> DOS/FAT/NT Filesystems —> 图4-4 增加vfat文件系统的支持如此,openwrt配置完成。
五、测试
烧录程序之后,关于SD卡的开机信息如下:
[ 9.050000] MTK MSDC device init.[ 9.090000] mtk-sd: MediaTek MT6575 MSDC Driver[ 9.090000] sdhci: Secure Digital Host Controller Interface driver[ 9.100000] sdhci: Copyright(c) Pierre Ossman[ 9.110000] sdhci-pltfm: SDHCI platform and OF driver helper[ 9.140000] mmc0: new high speed SD card at address b368[ 9.150000] mmcblk0: mmc0:b368 00000 1.86 GiB (ro)[ 9.160000] mmcblk0:
将sd卡进行挂载
root@OpenWrt:/# mount -t vfat /dev/mmcblk0 /mnt/
查看sd卡的内容,如图5-1所示。
图5-1 sd卡内容转载地址:https://blog.csdn.net/jdsnpgxj/article/details/105513324 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年09月28日 20时07分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux(SUSE 12)安装jboss4并实现远程访问
2019-05-27
Neutron在给虚拟机分配网络时,底层是如何实现的?
2019-05-27
netfilter/iptables全攻略
2019-05-27
Overlay之VXLAN架构
2019-05-27
在eclipse上用tomcat部署项目404解决方案
2019-05-27
web.xml 配置中classpath: 与classpath*:的区别
2019-05-27
suse如何修改ssh端口为2222?
2019-05-27
详细理解“>/dev/null 2>&1”
2019-05-27
suse如何创建定时任务?
2019-05-27
suse搭建ftp服务器方法
2019-05-27
centos虚拟机设置共享文件夹并通过我的电脑访问[增加smbd端口修改]
2019-05-27
文件拷贝(IFileOperation::CopyItem)
2019-05-27
MapReduce的 Speculative Execution机制
2019-05-27
大数据学习之路------借助HDP SANDBOX开始学习
2019-05-27
Hadoop基础学习:基于Hortonworks HDP
2019-05-27
为什么linux安装程序 都要放到/usr/local目录下
2019-05-27
Hive安装前扫盲之Derby和Metastore
2019-05-27
永久修改PATH环境变量的几种办法
2019-05-27
大数据学习之HDP SANDBOX开始学习
2019-05-27