自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 nand flash烧录详解--希尔特烧录器

选择好K9F1208U0B后,将出现下图(Figure 1)。中,提示(1)提供了该芯片使用何种适配器。提示(2)简明扼要的讲述了本软件支持坏块处理方法的种类和技术要点。下图是主软件界面(Figure 2)在主软件界面中,提示1列出了NAND烧录拥有的正常操作, 从上到下包括:自动批处理(Auto),编程写入(Program),读出数据(Read),校验(Verify),空检查(Blank_Check),擦除(Erase),启动代码块检查(Boot Block Check)。

2024-05-04 21:18:15 1503

原创 framebuffer驱动详解—以s3c2410fb为例

三星驱动的虚拟分辨率是真是分辨率的两倍,采用了双缓冲结构(有时也称乒乓结构),屏幕首先从(0,0)开始显示,当上半部分显示完后,可以直接切换到(0, 480),显示剩下的内容。应用与内核的显存的虚拟地址不同,应用使用的是应用层的虚拟地址空间,而内核使用的是内核层的虚拟地址空间,但是二者可以对应同一块物理地址,这样就可以提升效率。驱动在内核中申请一块显存,多个进程可同时操控LCD,可进行多对一映射,后来的覆盖前面的。向应用层提供一个统一标准接口的显示设备,忽略不同显示设备的差异,屏蔽了不同的硬件的差异。

2024-05-04 16:49:37 649

转载 earlycon实现流程

s5pv210的对应dtsi节点:对于earlycon而言,只在乎compatible属性和reg属性,其他需要初始化的都要在uboot中完成。compatible属性在earlycon的实现中用于和earlycon_id匹配。reg属性则是整个uart寄存器的基地址和长度。(因为是和通用uart驱动共用的)。在要实现的write函数中,发送寄存器则是在这个基地址上进行偏移的。

2024-05-02 21:51:10 104 1

原创 early printk实现流程

在函数start_kernel中,parse_early_param处理early_param定义的参数,parse_args处理__setup定义的参数,这里不详细说明,只需要知道当从cmdline中查找到对应字符串时,对应的setup函数会被调用。完成之后,console子系统中的console_drivers就存在了early_console_dev这个console(具体参考“console”的文章)。1、printascii、printk、early_print、early_printk的区别。

2024-05-02 21:16:02 651 2

转载 【转载】UBI文件系统

UBIFS中一共分为六个区,分别为,还有一个对用户隐藏的卷层 superblock area:超级块区,superblock是每一个文件系统必备的 master node area:主节点区 log area:日志区(为了区分journal ,这里统一用log区指代) LPT(LEB properties tree) area:LPT区 Orphan area:孤立区 The mian area:主分区。

2024-05-02 13:02:51 61 1

原创 linux i2c—i2c设备驱动匹配过程分析

设备与驱动的匹配,既可以在i2c设备注册时匹配相应驱动,也可以在i2c驱动注册时匹配相应设备,本文将从。表中的所有成员比较,查看是否有相同的条目,如果有的话就表示设备和此驱动匹配,设备和驱动匹配成功以后。适配器在注册时会扫描设备树上的i2c设备,也在扫描静态(代码中)添加的i2c设备,最后都是通过。函数是用于探测未注册的设备,并将其注册后匹配,我们一般很少用到它这里不展开讲解。相比于平台总线匹配,少了一种通过设备名字与驱动名字匹配的方式,所以。值得注意的是,它设置了。匹配表,设备树中的每个设备节点的。

2024-03-09 19:44:23 914

原创 Linux I2C驱动-I2C适配器驱动框架分析

I2C适配器驱动就是前面说的I2C总线驱动,那么I2C总线驱动是怎么将适配器注册与匹配的呢

2024-03-09 19:35:48 655

原创 Linux I2C驱动-框架与数据类型导读

总线对应着/bus下的一条总线,这个i2c总线结构体管理着i2c设备与I2C驱动的匹配,删除等操作,I2C总线会调用i2c_device_match函数看I2C设备和I2C驱动是否匹配,如果匹配就调用i2c_device_probe函数,进而调用I2C驱动的probe函数。描述一个挂接在硬件i2c总线上的设备的驱动方法,即i2c设备的驱动对象,通过i2c_bus_type和设备信息i2c_client匹配,匹配成功后通过clients和i2c_client对象相连。设备驱动的注册、注销方法和与具体。

2024-03-03 18:52:33 867

原创 linux rtc杂谈

RTC(real time clock)实时时钟,主要作用是给Linux系统提供时间。RTC因为是电池供电的,所以掉电后时间不丢失。Linux内核把RTC用作“离线”的时间与日期维护器

2024-02-17 13:23:21 726

原创 linux-中断杂谈

我们常用的就是复位中断和 IRQ 中断。GIC 是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器,目前 GIC 有 4 个版本:V1~V4,V1 是最老的版本,已经被废弃了。V2~V4 目前正在大量的使用。GIC V2 是给 ARMv7-A 架构使用的,比如 Cortex-A7、Cortex-A9、Cortex-A15 等,V3 和 V4 是给 ARMv8-A/R 架构使用的,也就是 64 位芯片使用的。gic控制器的逻辑如下:gic的中断源分为三类。

2023-05-02 17:12:45 319

原创 linux-定时器timer介绍

HZ(系统节拍),表示系统每秒的节拍数,可以理解为系统每秒心脏跳动的次数,或者人类每秒脉搏跳动的次数。

2023-05-01 10:25:46 726

原创 linux并发与竞争(原子/自旋锁/信号量/互斥体理解)

linux并发与竞争(原子/自旋锁/信号量/互斥体理解)

2023-04-23 20:49:25 236

原创 pinctrl系统(pidmux)与gpio子系统

pinctrl系统(pidmux)与gpio子系统

2023-04-19 22:36:39 257 1

原创 linux-设备树dts

linux设备树dtsnode-name”是节点名字, label 的目的就是为了方便访问节点,可以直接通过&label 来访问这个节点,“unit-address”一般表示设备的地址或寄存器首地址,如果某个节点没有地址或者寄存器的话“unit-address”可以不要.一个 SOC 可以作出很多不同的板子,这些不同的板子肯定是有共同的信息,将这些共同的信息提取出来作为一个通用的文件,否则一块板子拥有一个板级信息,Linux 内核中 ARM 架构下有太多的冗余的垃圾板级信息文件。

2023-04-16 11:30:40 177 1

原创 linux字符驱动的一般init初始化流程

linux字符驱动的一般init初始化流程

2023-04-16 09:46:01 104 2

格式命令记录-用于linux开发

格式命令

2023-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除