<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kumi89的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kumi89</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kumi89]]></copyright><item><title><![CDATA[nand flash烧录详解--希尔特烧录器]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/138450551</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/138450551</guid><author>kumi89</author><pubDate>Sat, 04 May 2024 21:18:15 +0800</pubDate><description><![CDATA[选择好K9F1208U0B后，将出现下图(Figure 1)。中，提示(1)提供了该芯片使用何种适配器。提示(2)简明扼要的讲述了本软件支持坏块处理方法的种类和技术要点。下图是主软件界面(Figure 2)在主软件界面中，提示1列出了NAND烧录拥有的正常操作， 从上到下包括：自动批处理(Auto),编程写入(Program),读出数据(Read),校验(Verify),空检查(Blank_Check),擦除(Erase),启动代码块检查(Boot Block Check)。]]></description><category></category></item><item><title><![CDATA[framebuffer驱动详解—以s3c2410fb为例]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/138444756</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/138444756</guid><author>kumi89</author><pubDate>Sat, 04 May 2024 16:49:37 +0800</pubDate><description><![CDATA[三星驱动的虚拟分辨率是真是分辨率的两倍，采用了双缓冲结构（有时也称乒乓结构），屏幕首先从（0，0）开始显示，当上半部分显示完后，可以直接切换到（0， 480），显示剩下的内容。应用与内核的显存的虚拟地址不同，应用使用的是应用层的虚拟地址空间，而内核使用的是内核层的虚拟地址空间，但是二者可以对应同一块物理地址，这样就可以提升效率。驱动在内核中申请一块显存，多个进程可同时操控LCD，可进行多对一映射，后来的覆盖前面的。向应用层提供一个统一标准接口的显示设备，忽略不同显示设备的差异，屏蔽了不同的硬件的差异。]]></description><category></category></item><item><title><![CDATA[earlycon实现流程]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/138395356</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/138395356</guid><author>kumi89</author><pubDate>Thu, 02 May 2024 21:51:10 +0800</pubDate><description><![CDATA[s5pv210的对应dtsi节点：对于earlycon而言，只在乎compatible属性和reg属性，其他需要初始化的都要在uboot中完成。compatible属性在earlycon的实现中用于和earlycon_id匹配。reg属性则是整个uart寄存器的基地址和长度。（因为是和通用uart驱动共用的）。在要实现的write函数中，发送寄存器则是在这个基地址上进行偏移的。]]></description><category></category></item><item><title><![CDATA[early printk实现流程]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/138400250</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/138400250</guid><author>kumi89</author><pubDate>Thu, 02 May 2024 21:16:02 +0800</pubDate><description><![CDATA[在函数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的区别。]]></description><category></category></item><item><title><![CDATA[【转载】UBI文件系统]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/138390271</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/138390271</guid><author>kumi89</author><pubDate>Thu, 02 May 2024 13:02:51 +0800</pubDate><description><![CDATA[UBIFS中一共分为六个区，分别为，还有一个对用户隐藏的卷层 superblock area：超级块区，superblock是每一个文件系统必备的 master node area：主节点区 log area：日志区(为了区分journal ，这里统一用log区指代) LPT(LEB properties tree) area：LPT区 Orphan area：孤立区 The mian area：主分区。]]></description><category></category></item><item><title><![CDATA[linux i2c—i2c设备驱动匹配过程分析]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/136589402</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/136589402</guid><author>kumi89</author><pubDate>Sat, 09 Mar 2024 19:44:23 +0800</pubDate><description><![CDATA[设备与驱动的匹配，既可以在i2c设备注册时匹配相应驱动，也可以在i2c驱动注册时匹配相应设备，本文将从。表中的所有成员比较，查看是否有相同的条目，如果有的话就表示设备和此驱动匹配，设备和驱动匹配成功以后。适配器在注册时会扫描设备树上的i2c设备，也在扫描静态（代码中）添加的i2c设备，最后都是通过。函数是用于探测未注册的设备，并将其注册后匹配，我们一般很少用到它这里不展开讲解。相比于平台总线匹配，少了一种通过设备名字与驱动名字匹配的方式，所以。值得注意的是，它设置了。匹配表，设备树中的每个设备节点的。]]></description><category></category></item><item><title><![CDATA[Linux I2C驱动-I2C适配器驱动框架分析]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/136589292</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/136589292</guid><author>kumi89</author><pubDate>Sat, 09 Mar 2024 19:35:48 +0800</pubDate><description><![CDATA[I2C适配器驱动就是前面说的I2C总线驱动，那么I2C总线驱动是怎么将适配器注册与匹配的呢]]></description><category></category></item><item><title><![CDATA[Linux I2C驱动-框架与数据类型导读]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/136435940</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/136435940</guid><author>kumi89</author><pubDate>Sun, 03 Mar 2024 18:52:33 +0800</pubDate><description><![CDATA[总线对应着/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对象相连。设备驱动的注册、注销方法和与具体。]]></description><category></category></item><item><title><![CDATA[linux rtc杂谈]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/136137579</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/136137579</guid><author>kumi89</author><pubDate>Sat, 17 Feb 2024 13:23:21 +0800</pubDate><description><![CDATA[RTC(real time clock)实时时钟，主要作用是给Linux系统提供时间。RTC因为是电池供电的，所以掉电后时间不丢失。Linux内核把RTC用作“离线”的时间与日期维护器]]></description><category></category></item><item><title><![CDATA[linux-中断杂谈]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130459187</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130459187</guid><author>kumi89</author><pubDate>Tue, 02 May 2023 17:12:45 +0800</pubDate><description><![CDATA[我们常用的就是复位中断和 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的中断源分为三类。]]></description><category></category></item><item><title><![CDATA[linux-定时器timer介绍]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130454112</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130454112</guid><author>kumi89</author><pubDate>Mon, 01 May 2023 10:25:46 +0800</pubDate><description><![CDATA[HZ（系统节拍），表示系统每秒的节拍数，可以理解为系统每秒心脏跳动的次数，或者人类每秒脉搏跳动的次数。]]></description><category></category></item><item><title><![CDATA[linux并发与竞争（原子/自旋锁/信号量/互斥体理解）]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130300877</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130300877</guid><author>kumi89</author><pubDate>Sun, 23 Apr 2023 20:49:25 +0800</pubDate><description><![CDATA[linux并发与竞争（原子/自旋锁/信号量/互斥体理解）]]></description><category></category></item><item><title><![CDATA[pinctrl系统（pidmux）与gpio子系统]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130253361</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130253361</guid><author>kumi89</author><pubDate>Wed, 19 Apr 2023 22:36:39 +0800</pubDate><description><![CDATA[pinctrl系统（pidmux）与gpio子系统]]></description><category></category></item><item><title><![CDATA[linux-设备树dts]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130179321</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130179321</guid><author>kumi89</author><pubDate>Sun, 16 Apr 2023 11:30:40 +0800</pubDate><description><![CDATA[linux设备树dts
node-name”是节点名字, label 的目的就是为了方便访问节点，可以直接通过&label 来访问这个节点,“unit-address”一般表示设备的地址或寄存器首地址，如果某个节点没有地址或者寄存器的话“unit-address”可以不要.一个 SOC 可以作出很多不同的板子，这些不同的板子肯定是有共同的信息，将这些共同的信息提取出来作为一个通用的文件，否则一块板子拥有一个板级信息，Linux 内核中 ARM 架构下有太多的冗余的垃圾板级信息文件。]]></description><category></category></item><item><title><![CDATA[linux字符驱动的一般init初始化流程]]></title><link>https://blog.youkuaiyun.com/kumi89/article/details/130178866</link><guid>https://blog.youkuaiyun.com/kumi89/article/details/130178866</guid><author>kumi89</author><pubDate>Sun, 16 Apr 2023 09:46:01 +0800</pubDate><description><![CDATA[linux字符驱动的一般init初始化流程]]></description><category></category></item></channel></rss>