Openwrt增加对 sd card 支持
一、硬件平台
1.1 控制器:MT7620(A9内核)
二、软件平台
2.1、开发环境:Ubuntu12.04
2.2、软件版本:openwrt 官方15.05版本SDK开发包(CHAOS CALMER 15.05版本)
三、功能说明
本文章所选择的目标芯片为MT7620,profile 选择的为“Xiaomi MiWiFi Mini ”。
对于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/XIAOMI-MIWIFI-MINI.dts”文件。
在文件中,增加如下代码:
sdhci@10130000 {compatible = "ralink,mt7620-sdhci";reg = <0x10130000 4000>;interrupt-parent = <&intc>;interrupts = <14>;status = "okay";};
4.2 增加sd card 驱动支持
在openwrt sdk包中,执行命令 make menuconfig命令。
Kernel modules —> Other modules —>
-*- kmod-sdhci…………..
<*> 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 helper
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)
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 增加语言支持
对于语言,说明如下:
nls codepage 437 – 美国/加拿大英语
nls codepage 737 – 希腊语
nls codepage 775 – 波罗的海语
nls codepage 850 – 包括西欧语种(德语,西班牙语,意大利语)中的一些字符
nls codepage 852 – Latin 2 包括中东欧语种(阿尔巴尼亚语,克罗地亚语,捷克语,英语,芬兰语,匈牙利语,爱尔兰语,德语,波兰语,罗马利亚语,塞尔维亚语,斯洛伐克语,斯洛文尼亚语,Sorbian语)
nls codepage 855 – 斯拉夫语
nls codepage 857 – 土耳其语
nls codepage 860 – 葡萄牙语
nls codepage 861 – 冰岛语
nls codepage 862 – 希伯来语
nls codepage 863 – 加拿大语
nls codepage 864 – 阿拉伯语
nls codepage 865 – 日尔曼语系
nls codepage 866 – 斯拉夫语/俄语
nls codepage 869 – 希腊语(2)
nls codepage 874 – 泰语
nls codepage 936 – 简体中文GBK
nls codepage 950 – 繁体中文Big5
nls iso8859-1 – 西欧语系(阿尔巴尼亚语,西班牙加泰罗尼亚语,丹麦语,荷兰语,英语,Faeroese语,芬兰语,法语,德语,加里西亚语,爱尔兰语,冰岛语,意大利语,挪威语,葡萄牙语,瑞士语.)这同时适用于美国英语.
nls iso8859-2 – Latin 2 字符集,斯拉夫/中欧语系(捷克语,德语,匈牙利语,波兰语,罗马尼亚语,克罗地亚语,斯洛伐克语,斯洛文尼亚语)
nls iso8859-3 – Latin 3 字符集, (世界语,加里西亚语,马耳他语,土耳其语)
nls iso8859-4 – Latin 4 字符集, (爱莎尼亚语,拉脱维亚语,立陶宛语),是Latin 6 字符集的前序标准
nls iso8859-5 – 斯拉夫语系(保加利亚语,Byelorussian语,马其顿语,俄语,塞尔维亚语,乌克兰语) 一般推荐使用 KOI8-R codepage
nls iso8859-6 – 阿拉伯语.
nls iso8859-7 – 现代希腊语
nls iso8859-8 – 希伯来语
nls iso8859-9 – Latin 5 字符集, (去掉了 Latin 1中不经常使用的一些冰岛语字符而代以土耳其语字符)
nls iso8859-10 – Latin 6 字符集, (因纽特(格陵兰)语,萨摩斯岛语等Latin 4 中没有包括的北欧语种)
nls iso8859-15 – Latin 9 字符集, 是Latin 1字符集的更新版本,去掉一些不常用的字符,增加了对爱莎尼亚语的支持,修正了法语和芬兰语部份,增加了欧元字符)
nls koi8-r – 俄语的缺省支持
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卡内容
Openwrt增加对 sd card 支持相关推荐
- [sd card] sd card初始化流程
以SD 3.0为例. 建议先参考<[sd card] SD card初始化时的总线设置>. 一.sd card初始化流程思路说明 通过<SD_Ver3.00_Final_090416 ...
- [sd card] SD card初始化时的总线设置
============================================================== 零.在sd card初始化过程中,对于bus主要设置以下东西 1.时钟,输 ...
- 【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated)
SD Card Driver on ADS Summary 了解SD card. 1 WinCE 5.0下SD Stack. 6 Bus Driver 7 Host Controller Driver ...
- 展锐UDX710:MMC概述、SD Card驱动解析及调试
一.MMC概述 相关定义 符合MMC协议接口的存储器,都称为MMC存储体 MMC总线,类似于I2C.SPI总线的一种总线结构 使用MMC接口规范(HCI, Multimedia Card Interf ...
- OpenWrt自动挂载sd卡
OpenWrt自动挂载sd卡 我们在编译的时候经常会遇到flash不够用的问题,怎么解决呢?可以通过挂载usb或者sd卡解决问题.在此介绍一下openwrt挂载sd卡. 1. 安装sd卡的驱动以及相关 ...
- SD card boot and flashing tool for TI davinic DM368
实验环境: DM368 平台 : LW3xx SD card : Micro SD 128MB HOST : ubuntu 10.04.4 64-bit CROSS_COMPILE : CodeSou ...
- Linux驱动——mmc sd card初始化流程(十一)
Linux驱动--mmc sd card初始化流程(十一) 备注: 1. Kernel版本:5.4 2. 使用工具:Source Insight 4.0 3. 参考博客: (1)[sd ...
- 全志 Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND
存储切换方法 SDK切换存储介质需要修改board.dts.sys_config.fex.内核配置.TINA系统配置.另外,在spinor 存储介质下,通过 u-boot-sun8iw21p1.bin ...
- mmc0: error -84 whilst initialising SD card
玩zynqMP的板子上的SOC,TF作为root启动petalinux系统, 碰到如下报错: error -84 whilst initialising SD card 查询Kernel代码中的sd. ...
最新文章
- Nginx小功能合集
- python读取excel一列-python读取excel(xlrd)
- 固定div的位置——不随窗口大小改变为改变位置
- DjangoRestFramework基本使用
- 【渝粤题库】陕西师范大学300018 世界史(下)
- gzip和gunzip 解压参数
- c++ char*初始化_[零食时间]C/C++ 字符串全家桶(字符串表示/定义、字符串输入输出、易错点等)上半桶...
- 【C语言】C语言常量和变量
- MySQL 批量插入,如何不插入重复数据?
- 互联网轻量级框架SSM-查缺补漏第八天(MyBatis插件plugin使用及原理)
- 远程调用中间件(RPC
- 无法支持计算机上的硬件,win7“不支持的硬件,你的电脑使用的处理器专为最新版win...
- 万物互联之边缘计算简述-背景
- Oracle Acs资深顾问罗敏 老罗技术核心感悟:11g的数据压缩技术
- 关于IE、Firefox、Opera页面呈现异同 (转于纯蓝)
- 飞秋只能发文件不能接收文件的解决办法
- 【Python】数据可视化基本套路总结
- UML设计——网上信用卡管理系统分析与设计(新手)
- Mysql实现数据脱敏
- vue 界面在苹果手机上滑动点击事件等卡顿解决方案