社区
驱动程序开发区 帖子详情 Linux /dev目录下没有emmc设备文件 心上枫叶红 2018-08-03 03:54:25 我用zynq7000,在uboot下能找到emmc设备也能操作,但内核起来后在/dev目录下就没有emmc设备了。我怀疑是设备树的问题,也没有借鉴的,不清楚怎么修改,也不晓得是不是其他什么原因引起的。我内核是通过TFTP启动的。感谢大佬们提供思路与意见!
这里面也有mmc
但/dev下面没有
这下面是我的部分设备树:
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "xlnx,zynq-7000";
model = "test";
chosen {
bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait";
linux,stdout-path = "/amba@0/uart@E0001000";
//bootargs = [00];
//stdout-path = "serial0:115200ns";
};
aliases {
serial0 = "/amba/serial@e0000000";
ethernet0 = "/amba/ethernet@e000b000";
spi0 = "/amba/spi@e000d000";
};
memory {
device_type = "memory";
reg = <0x0 0x40000000>;
};
cpus {
#address-cells = <0x1>;
#size-cells = <0x0>;
cpu@0 {
compatible = "arm,cortex-a9";
device_type = "cpu";
reg = <0x0>;
clocks = <0x1 0x3>;
clock-latency = <0x3e8>;
cpu0-supply = <0x2>;
operating-points = <0xa2c2a 0xf4240 0x51615 0xf4240>;
};
cpu@1 {
compatible = "arm,cortex-a9";
device_type = "cpu";
reg = <0x1>;
clocks = <0x1 0x3>;
};
};
....................
cache-controller@f8f02000 {
compatible = "arm,pl310-cache";
reg = <0xf8f02000 0x1000>;
interrupts = <0x0 0x2 0x4>;
arm,data-latency = <0x3 0x2 0x2>;
arm,tag-latency = <0x2 0x2 0x2>;
cache-unified;
cache-level = <0x2>;
};
memory-controller@f8006000 {
compatible = "xlnx,zynq-ddrc-a05";
reg = <0xf8006000 0x1000>;
};
................
spi@e000d000 {
clock-names = "ref_clk", "pclk";
clocks = <0x1 0xa 0x1 0x2b>;
compatible = "xlnx,zynq-qspi-1.0";
status = "okay";
interrupt-parent = <0x3>;
interrupts = <0x0 0x13 0x4>;
reg = <0xe000d000 0x1000>;
#address-cells = <0x1>;
#size-cells = <0x0>;
is-dual = <0x0>;
num-cs = <0x1>;
flash@0 {
compatible = "micron,m25p80";
reg = <0x0>;
#address-cells = <0x1>;
#size-cells = <0x1>;
spi-max-frequency = <0x2faf080>;
partition@0x00000000 {
label = "boot";
reg = <0x0 0x40000>;
};
partition@0x00040000 {
label = "bootenv";
reg = <0x40000 0x20000>;
};
partition@0x00060000 {
label = "kernel";
reg = <0x60000 0x600000>;
};
};
};
memory-controller@e000e000 {
#address-cells = <0x1>;
#size-cells = <0x1>;
status = "okay";
clock-names = "memclk", "aclk";
clocks = <0x1 0xb 0x1 0x2c>;
compatible = "arm,pl353-smc-r2p1";
interrupt-parent = <0x3>;
interrupts = <0x0 0x12 0x4>;
ranges;
reg = <0xe000e000 0x1000>;
flash@e1000000 {
status = "okay";
compatible = "arm,pl353-nand-r2p1";
reg = <0xe1000000 0x1000000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
};
flash@e2000000 {
status = "okay";
compatible = "cfi-flash";
reg = <0xe2000000 0x2000000>;
#address-cells = <0x1>;
#size-cells = <0x1>;
};
};
....................
sdhci@e0100000 {
compatible = "arasan,sdhci-8.9a";
status = "okay";
clock-names = "clk_xin", "clk_ahb";
clocks = <0x1 0x15 0x1 0x20>;
interrupt-parent = <0x3>;
interrupts = <0x0 0x18 0x4>;
reg = <0xe0100000 0x1000>;
broken-adma2;
xlnx,has-cd = <0x1>;
xlnx,has-power = <0x0>;
xlnx,has-wp = <0x1>;
};
sdhci@e0101000 {
compatible = "arasan,sdhci-8.9a";
status = "okay";
clock-names = "clk_xin", "clk_ahb";
clocks = <0x1 0x16 0x1 0x21>;
interrupt-parent = <0x3>;
interrupts = <0x0 0x2f 0x4>;
reg = <0xe0101000 0x1000>;
broken-adma2;
xlnx,has-cd = <0x1>;
xlnx,has-power = <0x0>;
xlnx,has-wp = <0x0>;
};
slcr@f8000000 {
#address-cells = <0x1>;
#size-cells = <0x1>;
compatible = "xlnx,zynq-slcr", "syscon", "simple-mfd";
reg = <0xf8000000 0x1000>;
ranges;
linux,phandle = <0x7>;
phandle = <0x7>;
clkc@100 {
#clock-cells = <0x1>;
compatible = "xlnx,ps7-clkc";
fclk-enable = <0x3>;
clock-output-names = "armpll", "ddrpll", "iopll", "cpu_6or4x", "cpu_3or2x", "cpu_2x", "cpu_1x", "ddr2x", "ddr3x", "dci", "lqspi", "smc", "pcap", "gem0", "gem1", "fclk0", "fclk1", "fclk2", "fclk3", "can0", "can1", "sdio0", "sdio1", "uart0", "uart1", "spi0", "spi1", "dma", "usb0_aper", "usb1_aper", "gem0_aper", "gem1_aper", "sdio0_aper", "sdio1_aper", "spi0_aper", "spi1_aper", "can0_aper", "can1_aper", "i2c0_aper", "i2c1_aper", "uart0_aper", "uart1_aper", "gpio_aper", "lqspi_aper", "smc_aper", "swdt", "dbg_trc", "dbg_apb";
reg = <0x100 0x100>;
ps-clk-frequency = <0x1fca055>;
linux,phandle = <0x1>;
phandle = <0x1>;
};
rstc@200 {
compatible = "xlnx,zynq-reset";
reg = <0x200 0x48>;
#reset-cells = <0x1>;
syscon = <0x7>;
};
pinctrl@700 {
compatible = "xlnx,pinctrl-zynq";
reg = <0x700 0x200>;
syscon = <0x7>;
};
};
...全文
4948 7 打赏 收藏 Linux /dev目录下没有emmc设备文件 我用zynq7000,在uboot下能找到emmc设备也能操作,但内核起来后在/dev目录下就没有emmc设备了。我怀疑是设备树的问题,也没有借鉴的,不清楚怎么修改,也不晓得是不是其他什么原因引起的。我内核是通过TFTP启动的。感谢大佬们提供思路与意见! 这里面也有mmc 但/dev下面没有 这下面是我的部分设备树: #address-cells = ; #size-cells = ; compatible = "xlnx,zynq-7000"; model = "test" 复制链接
扫一扫 分享 转发到动态 举报
写回复 配置赞助广告取 消
确 定
用AI写文章 7 条回复 切换为时间正序 请发表友善的回复… 发表回复 打赏红包 需支付: 0.00 元 取 消 确 定 cmc9527 2019-06-03 打赏举报 回复 udev 看一下Linux3.0设备管理器启动没有 jiamianshiye 2019-04-29 打赏举报 回复 看下proc/mtd,有没有分区。
weixin_44980461 2019-04-26 打赏举报 回复 看起來driver有起來,的確是要用mknod,block node參考你cat /proc/devices的id Wenxy1 2018-09-15 打赏举报 回复 用mknod手工建立设备树试试。 心上枫叶红 2018-08-10 打赏举报 回复 都没人回答,我好伤心。 心上枫叶红 2018-08-06 打赏举报 回复 引用 1 楼 wenxy1 的回复:kernel里有加载emmc driver么?
有的 Wenxy1 2018-08-04 打赏举报 回复 kernel里有加载emmc driver么? linux开发板加载内核、设备树、根文件系统的三种方式以及EMMC加载uboot方式 开发板通过SD卡进行启动,SD卡中加载的有uboot。 Linux下EMMC格式化/分区 Linux下EMMC格式化/分区
文章目录Linux下EMMC格式化/分区前言一、EMMC是什么?二、格式化/分区步骤1.卸载EMMC2.使用fdisk格式化分区总结
前言
目前手里面有块板子接了EMMC,被识别到了/dev/mmcblk0,下面我将对他进行格式化分区。
提示:以下是本篇文章正文内容,下面案例可供参考
一、EMMC是什么?
eMMC (Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC由一个嵌入式存储解决 Linux 设备驱动分类(快速理解驱动架构) • Linux 设备驱动的 3 大分类(字符设备、块设备、网络设备)
• /dev 目录下的设备文件解析
• 设备驱动与文件系统的关系 eMMC Sampling Tuning and linux mmc driver support 目录
1. eMMC 总线 Sampling Tuning
1.1 Sampling Tuning 流程
1.2 Tuning Block 数据
1.3 retuning mode
2. linux mmc driver中的retuning触发机制
2.1 设备初始化时tuning
2.2 timer retuning(software)
2.3 Auto-Tuning(hard... Linux下eMMC,SD卡格式化和分区管理 Linux下eMMC,SD卡格式化和分区管理
一.Linux下查看eMMC设备是否正确识别
二.分区管理
1.查看eMMC已有分区信息
2.删除已有分区
3.创建新分区
4.写入新创建分区信息
三.导入Ext4文件系统制作工具
四.格式化分区为ext4文件系统
五.读写测试
...
驱动程序开发区
1,323
社区成员
2,170
社区内容
发帖 与我相关 我的任务 驱动程序开发区 主要是开发驱动技术 复制链接
扫一扫 分享 确定 社区描述 主要是开发驱动技术 社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告 试试用AI创作助手写篇文章吧
+ 用AI写文章