![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
文章平均质量分 76
芒果520
每天进步一点点
展开
-
在驱动中创建sysfs接口、procfs接口、debugfs接口
/灯灭//灯亮这是怎么做到呢?实际上,这是因为在驱动中提供了sysfs接口给用户使用,使得用户可以通过cat或者echo命令来查看和修改驱动中某些变量的值。下面介绍驱动中创建sysfs接口的方法。原创 2023-08-26 17:47:39 · 654 阅读 · 0 评论 -
Shell 特殊变量及其含义
shell是我们在linux下编写自动执行程序的常见脚本工具,通常会涉及到以下几个特殊变量,它们分别是:$#、$*、$@、$?原创 2023-02-20 15:57:53 · 938 阅读 · 1 评论 -
以太网驱动详解之RMII、SMII、GMII、RGMII接口
上一章节讲到MII接口虽然很灵活,但是有一个缺点是因为它一个端口用的信号线有14根之多,如果一个8端口的交换机要用到112根线,16端口就要用到224根线,到32端口的话就要用到448根线。一般按照这个接口做交换机是不太现实的。所以现代的交换机的制作都会用到其它的一些从MII简化出来的标准,比如RMII、SMII、GMII等。............原创 2022-07-22 18:00:57 · 6681 阅读 · 0 评论 -
以太网驱动详解之 MAC、MII、PHY 详解
由于芯片缺货原因,公司原先使用的ksz9031phy芯片价格暴涨,故决定换用LAN8720PHY芯片。KSZ9031提供的是RGMII接口,时钟信号速率到达125MHz;LAN8720A具有RMII接口的10/100Base-T/TX以太网收发器。从硬件角度来看以太网是由CPU,MAC,PHY三部分组成的,如下图示意即媒体访问控制层协议。MAC由硬件控制器及MAC通信协议构成。该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质。MAC硬件框图如下图所示。...........原创 2022-07-22 11:28:33 · 5569 阅读 · 0 评论 -
linux格式化sd卡,并进行挂载
1.输入#fdisk -l命令确认板子上的linux系统是否识别SD卡如上表示已经识别2.输入cat/proc/partitions指令,查看到底有没有mmc相关的分区没有最下面mmc*两个分区,就说明SD卡驱动没有移植成功3.输入fdisk /dev/mmcblk0指令,进行格式化操作删除分区:d添加分区:n查看分区:p保存操作:w注:修改后,需要用w保存修改。4.格式化sd卡(可以格式化为不同文件系统)mkfs.vfat /dev/mmcblk0p1...原创 2020-07-20 15:32:25 · 8584 阅读 · 2 评论 -
platform驱动的probe过程
probe()函数是什么时候被调用,设备和驱动是怎么联系起来的??1 总线注册阶段:内核启动初始化时,main.c文件中platform平台初始化的路径: kernel_init() -->do_basic_setup() -->driver_init() -->platform_bus_init(...原创 2022-03-22 16:00:06 · 1706 阅读 · 0 评论 -
DDR调试
Bank地址与相应的行地址是同时发出的,此时这个命令称之为“行激活”(Row Active)。在此之后,将发送列地址寻址命令与具体的操作命令(是读还是写),这两个命令也是同时发出的,所以一般都会以“读/写命令”来表示列寻址。根据相关的标准,从行有效到读/写命令发出之间的间隔被定义为tRCD,即RAS to CAS Delay(RAS至CAS延迟,RAS就是行地址选通脉冲,CAS就是列地址选通脉冲),我们可以理解为行选通周期。tRCD是DDR的一个重要时序参数,广义的tRCD以时钟周期(tCK,Cloc原创 2022-03-22 15:56:46 · 1112 阅读 · 0 评论 -
NAND FLASH ECC校验原理与实现
由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测。 如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。 对数据的校...原创 2022-03-22 11:53:51 · 6456 阅读 · 0 评论 -
i2c协议详解
i2c的数据字节定义为8-bits长度,对每次传送的总字节数量没有限制,但对每一次传输必须伴有一个应答(ACK)信号, 其时钟由主设备提供,而真正的应答信号由从设备发出,在时钟为高时,通过拉低并保持SDA的值来实现。然后主设备开始传送寄存器地址(RA),接到应答后,开始传送寄存器数据, 然后仍然要有应答信号,连续写入多字节时依次类推。传输时,SCL为高电平的时候SDA表示的数据有效,即此时的SDA为高电平时表示数据“1”,为低电平时表示数据“0”。写数据方向时,SDA由主机控制,从机接收信号。原创 2022-01-12 17:13:20 · 35151 阅读 · 0 评论 -
linux下i2c驱动框架
在linux系统下编写I2C驱动,目前主要有两种方法,一种是把I2C设备当作一个普通的字符设备来处理,另一种是利用linux下I2C驱动体系结构来完成。Linux的I2C体系结构分为3个组成部分: I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(”algorithm”)上层的,与具体适配器无关的代码以及探测设备,检测设备地址的上层代码等。 I2C总线驱动:I2C总线驱动是对I2C硬件体系结构中适配器端的实现,适配器可由CPU控制,甚至可以直接集成在CPU内部原创 2020-09-21 14:28:01 · 354 阅读 · 0 评论 -
SPI中的极性CPOL和相位CPHA之英文详解
SPI Transfer ModesSPI interface allows to transmit and receive data simultaneously on two lines (MOSI and MISO).Clock polarity (CPOL) and clock phase (CPHA) are the main parametersthat define a clock format to be used by the SPI bus.Dependi..原创 2020-11-24 14:56:25 · 1491 阅读 · 0 评论 -
SPI中的极性CPOL和相位CPHA
SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯。而主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要商量好了,要匹配,否则,就没法正常通讯了,即保证时序上的一致才可正常讯。...原创 2020-02-02 16:22:55 · 219 阅读 · 0 评论 -
phy网络自适应实现
这两天修改网卡驱动以实现10/100/1000M自适应,因此研究了下phy芯片和emac驱动如何兼容10/100/1000M网络环境,记录在此。<br>网络中设备端数据链路层由mac芯片和phy芯片组成,phy芯片根据外部网络环境完成自动协商以及配置,驱动中根据phy状态来配置mac,以达到phy与mac的相互配合工作...原创 2020-02-02 16:02:00 · 3258 阅读 · 0 评论