随笔分类 - linux blk
摘要:一、PCIe调试 1.1 编译内核 1.1 配置设备树 pcie设备节点定义在arch/arm64/boot/dts/rockchip/rk3399.dtsi; pcie0: pcie@f8000000 { compatible = "rockchip,rk3399-pcie"; reg = <0x
阅读全文
摘要:开发板 :NanoPC-T4开发板 eMMC :16GB LPDDR3 :4GB 显示屏 :15.6英寸HDMI接口显示屏 u-boot :2023.04 linux :6.3 MMC是MultiMedia Card的简称,从本质上看,它是一种用于固态非易失性存储的内存卡规范,定义了诸如卡的形态、尺
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 在进行Mini2440 uboot移植的时候,我们介绍了Nor Flash相关的硬件知识,当时我们使用的Nor Flash型号为S29AL016D70TF102,大小为2MB。 后来由于开发板的网卡
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 在介绍Nand Flash块设备驱动之前,首先你需要了解S3C2440这款SOC关于Nand Flash控制器的知识,同时需要对Mini2440开发板所使用的K9F2G08U0C型号芯片有所了解,因
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 一、ONFI标准 Nand Flash是嵌入式世界里常见的存储器,对于嵌入式开发而言,Nand Flash主要分为两大类:Serial Nand、Raw Nand,这两类Nand的差异是很大的。 R
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 linux内核将块设备相关的驱动放在drivers/block路径下: root@zhengyang:/work/sambashare/linux-5.2.8# ls drivers/block/
阅读全文
摘要:在上一节我们介绍了块设备驱动的I/O读写流程,以及块设备的注册/卸载、通用磁盘的申请/删除/添加相关的API。 绪论 比如我们现在写了一个块设备的驱动程序,我们提供对块设备的读写功能;当有多个线程,并发去访问这个块设备,我们如何可以提高块设备的访问效率呢? 首先考虑块设备和CPU访问速度有具体的差异
阅读全文
摘要:一、linux设备驱动 我们在linux驱动基础概念以及驱动程序框架搭建中已经介绍过,linux 将所有的外设分为 3 类:字符设备、块设备、网络设备。 1.1 字符设备 字符设备是能够像字节流(比如文件)一样被访问的设备,就是说对它的读写是以字节为单位的。 比如串口在进行收发数据时就是一个字节一个
阅读全文