8 Eliot_shao

尚未进行身份认证

我要认证

年轻人有先见之明。。。。。

等级
TA的排名 8k+

ramdisk initrd ramfs initramfs区别与联系

原文地址:https://www.cnblogs.com/smartjourneys/articles/9515498.html问题:当Linux内核启动时,必须找到并执行第一个用户程序,通常是init。用户程序存放在文件系统,故Linux必须找到并挂载第一个文件系统。通常,可用的文件系统都列在/etc/fstab,所以mount可以找到它们。但是/etc/fstab本身存在与文件系统中。因此,这类似鸡生蛋蛋生鸡的问题。为解决该问题,内核开发者建立了内核命令列表选项root=,用来制定ro.

2020-06-05 09:38:12

How to use initramfs.

原文地址:http://www.landley.net/writing/rootfs-howto.html#footnote1By: Rob LandleyLast time, we covered why initramfs was created: because it saves memory, gives the user more control over the boot process, and simplifies the kernel's internal implement.

2020-06-04 15:44:32

initramfs和initrd的异同

转载地址:https://blog.csdn.net/z1026544682/article/details/88364725一、简介(1) initrd 在早期的linux系统中,一般只有硬盘或者软盘被用来作为linux根文件系统的存储设备,因此也就很容易把这些设备的驱动程序集成到内核中。但是现在的嵌入式系统中可能将根文件系统保存到各种存储设备上,包括scsi、sata,u-disk等等。因此把这些设备的驱动代码全部编译到内核中显然就不是很方便。 为了解决这一矛盾,于是出现了基于ram..

2020-06-04 15:42:12

Driving E-ink display-epd协议(不是edp)

Digital signalsThe screen already has a few chips mounted on glass alongside the edges of the panel. These are the source and gate drivers, which allow us to address individual pixels of the scre...

2020-04-17 09:00:26

学写驱动抽象层

驱动的抽象层其实类似一个管理层,管理多种资源,使资源之间更加有序,高效的工作。使软件的复用性和鲁棒性更强。其核心思想是面向对象的编程思想,创建抽象的概念,增加抽象层之间的逻辑给更高层,屏蔽底层的“杂乱无章”。理清芯片之间的关系和逻辑硬件上8541e通过mipi和i2c连接到9288,9288通过gmsl信号线连接到96705编串器上,96705和0144是通过dvp接口连接,包含...

2020-04-11 10:47:41

gmsl摄像头Android平台调试思路

配置max9288的i2c通信,可读取id 配置max96705的i2c通信,可读取id 配置ar0144的i2c通信,可读取id 以上三步i2c如果不同请排查硬件配置,测量电源是否正常,i2c地址是否配对等问题。 配置ar0144为color bar模式,测量并口信号是否正常,可以测量波形尽量频率等数据,计算和分辨率是否吻合。 完成第四步,配置96705和9288,测量9288的csi...

2020-04-09 11:08:36

Mipi-csi2 初探

Overview of CSI-2The CSI-2 Specification defines standard data transmission and control interfaces between transmitter and receiver. Two high-speed serial data transmission interface options are de...

2020-04-07 09:09:34

DVP协议

What is a digital video port?Camera的并口传输方式很多地方叫做dvp接口,但是并没有统一的标准。As far as I know, there is no DVP spec but the pinout seems to be something of a de facto standard, even though part manufacturers ...

2020-04-07 08:55:22

LINUX CMA 初探

一、什么是CMACMA,Contiguous Memory Allocator,是内存管理子系统中的一个模块,负责物理地址连续的内存分配。一般系统会在启动过程中,从整个memory中配置一段连续内存用于CMA,然后内核其他的模块可以通过CMA的接口API进行连续内存的分配。CMA的核心并不是设计精巧的算法来管理地址连续的内存块,实际上它的底层还是依赖内核伙伴系统这样的内存管理机制,或者说CMA...

2020-01-21 14:51:40

驱动模块传参

#define module_param(name, type, perm) \  module_param_named(name, name, type, perm)name:参数的名字type:参数类型perm:权限---对参数的操作权限  0 文件系统不可见--只能当前模块使用该参数  0444 world-readable 所有用户可读  0644 root可写...

2020-01-20 15:46:19

为什么linux的可见物理内存比实际内存要小

最近在做系统剪裁,发现可见物理内存为103MB(128M),其中有24M内存消失了,表示对这一现象很是奇怪,下面讲述了我找这24MB的心路历程。目标板子配置:板子为ARM架构、板子上有256MB内存,内核版本为4.9.54Linux version 4.9.54 (jenkins@localhost.localdomain) (gcc version 6.3.1 20170109 (Lin...

2020-01-10 08:44:37

Linux spi master dev驱动及测试例程

spidev设备: spidev@0{ compatible = "xxx,spidev"; reg = <0>; spi-max-frequency = <1000000>; spi-cpha; spi-cpol; };驱动:kernel/linux-4.14/drivers/spi/spidev.c(由...

2019-12-03 08:31:31

Linux电源管理-Runtime PM

前言1. 什么是Runtime PM?Runtime PM (Runtime Power Management)翻译过来就是运行时电源管理。主要的作用是: 每个设备处理好自己的电源管理,在不需要工作时进入低功耗状态。也就是"各人自扫门前雪"。2. 为什么需要Runtime PM?system suspend需要很长时间完成,其中还可能出现失败。比如freeze t...

2019-11-18 08:58:46

Android用surface直接显示yuv数据

上一篇文章主要是参照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright、libstagefright_color_conversion等动态静态库,从而造成程序具有很高的耦合度,也不便于我们理解yuv数据直接显示的深层次原因。于是我开始研究SoftwareRenderer的具体实现,我们来提取So...

2019-11-12 14:39:13

IEEE1588 Precision Time Protocol(PTP)

什么是ptpPTP 是一种高精度时间同步协议,可以到达亚微秒级精度,有资料说可达到30纳秒左右的偏差精度,但需要网络的节点(交换机)支持PTP协议,才能实现纳秒量级的同步。一般在实际使用中,现有的NTP可以达到5ms以内的精度,对一般的应用都是满足的;非超高精度设备,不建议使用PTP设备。与NTP主要区别:PTP是在硬件级实现的,NTP是在应用层级别实现的.PTP 是主从同步系统,...

2019-11-07 13:33:47

使用iperf3测试网卡带宽

Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。在windows下载一个perf3的工具,使用管理员权限运行在cmd下,iperf3 -s -i 1 作为服务器,间隔一秒在board侧:perf3 -c 10.0.0.1 -i 1 -M 6000 -t 100 ...

2019-11-07 09:23:01

Ambarella Ethernet PHY rtl9000 Linux driver 调试

Ambarella Ethernet PHY rtl9000 Linux driver 调试记录在ambarella CV22平台 调试rtl9000 phy驱动。rtl9000 工作原理如图,PHY使用标准的mac和phy的接口,rtl9000支持rgmii/rmii/mii和mdio/mdc接口,还有reset和外部供电,外部晶振接口。另外硬件上还需要配置rtl9000的add...

2019-11-05 15:41:32

MDC/MDIO通信时序图

MDC/MDIO接口定义SMI:串行管理接口(Serial Management Interface),也被称作MII管理接口(MII Management Interface),包括MDC和MDIO两条信号线。MDIO是一个PHY的管理接口,用来读/写PHY的寄存器,以控制PHY的行为或获取PHY的状态,MDC为MDIO提供时钟。MDIO原本是为MII总线接口定义的,MII用于连接MAC...

2019-11-04 09:50:29

linux PHY驱动

本文参考3.17版本的内核,结合TI的cpsw驱动(但去掉cpsw大部分代码,保留phy相关的),追踪一下通用PHY驱动。文中使用函数及主要功能语句的形式给出调用过程。MDIO驱动Linux的mdio主要是为了管理PHY芯片寄存器的,跟踪代码发现,它会进行创建PHY设备及一些初始化工作。文件路径:drivers\net\phy\mdio_bus.c--> mdiobus_re...

2019-10-25 16:49:21

DAPM之二:audio paths与dapm kcontrol

在用alsa_amixer controls时,除了我们之前提到的snd_soc_add_controls添加的kcontrols外,还有一些多出来的controls。其实多出来的那些都是属于dapm kcontrol,主要用于切换音频路径。一、AUDIO PATHS OVERVIEW以标准内核2.6.32的wm8900 codec为例。先看AUDIO PATHS OVERVIEW,...

2019-10-22 16:37:58

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 分享精英
    分享精英
    成功上传11个资源即可获取