近日,阅读著名通讯半导体公司——博通公司(broadcom)的资料时,发现他们提供的linux系统中使用了一种名为ubi的文件系统。怀着好奇心,在网上搜索下ubi文件系统的资料。
网上关于ubi文件系统的介绍,大多数是华清远见刘洪涛老师所写的文章。该文章主要介绍了ubi文件系统产生的背景和用法。不过,本文将从一个认识的角度来了解ubi文件系统。
近日,阅读著名通讯半导体公司——博通公司(broadcom)的资料时,发现他们提供的linux系统中使用了一种名为ubi的文件系统。怀着好奇心,在网上搜索下ubi文件系统的资料。
网上关于ubi文件系统的介绍,大多数是华清远见刘洪涛老师所写的文章。该文章主要介绍了ubi文件系统产生的背景和用法。不过,本文将从一个认识的角度来了解ubi文件系统。
container_of,是linux内核中一个精妙绝伦的宏。上年在南京开发新产品应用程序时,一个同事借用linux的实现,在应用程序中实现了该宏。之前,曾经弄懂过它,许久未接触linux了,对它有点陌生了。只清楚记得它的作用就是:根据结构体成员得到该结构体指针。
在网上看了多篇关于container_of的解释,觉得还是华清远见程姚根讲得简单透彻。
等待队列在linux内核中有着举足轻重的作用,很多linux驱动都或多或少涉及到了等待队列。因此,对于linux内核及驱动开发者来说,掌握等待队列是必须课之一。 Linux内核的等待队列是以双循环链表为基础数据结构,与进程调度机制紧密结合,能够用于实现核心的异步事件通知机制。它有两种数据结构:等待队列头(wait_queue_head_t)和等待队列项(wait_queue_t)。 阅读全文 »
最近,想在eCos中实现SDIO接口的wifi功能。看了下网上流传的stm32 sdio wifi驱动,却是从linux中移植过来的,所以也打算把linux SD接口wifi驱动移植到eCos中。
花了几天时间阅读了下linux SD/MMC和wifi驱动代码,整个驱动体系已大概了解,但影响移植的一些细节却令人头痛,这些细节在eCos中没办法移植过来,所以必须弄懂,然后用替代方法实现或者干脆不实现。比如这里要说的struct scatterlist。
摘要:你喜欢Linux吗?你想学Linux吗?你真的了解Linux吗?其实Mageia现在是受关注度第二的Linux;马达加斯加是世界上对Linux最感兴趣的国家之一;Linux手机年增长率91.5%;Linux Kernel总共有超过1500万行代码。如果你不知道的话,这篇文章值得你一看。
最受关注的Linux发行版分别是(从高到低):
Mint、Mageia、Ubuntu、Fedora、openSUSE、Debian、Arch、PCLinuxOS、CentOS和Zorlin。
Linux占桌面网络浏览份额的1.17%。
对Linux最感兴趣的10个国家和地区分别是(按字幕顺序排位):
China、Cuba(古巴)、Czech Republic(捷克共和国)、Germany、India、Japan、Madagascar(马达加斯加)、Lesotho(莱索托王国)、Russia和台湾 阅读全文 »
今天在看CS8900的驱动时,发现其驱动的模块加载函数是init_module(),由于看到大多数的驱动用的模块加载函数大多是module_init()函数,所以一时没缓过神来,总是在找CS8900的加载函数。
那么,module_init()和init_module()这两个加载函数有什么区别吗?
init_module是默认的模块的入口,如果你想指定其他的函数作为模块的入口就需要module_init函数来指定。
init_module()是真正的入口,module_init是宏,如果在模块中使用,最终还是要转换到init_module()上。如果不是在模块中使用,module_init可以说没有什么作用。总之,使用module_init方便代码在模块和非模块间移植。
前面已经介绍过,IP层会在输入和输出两个时候去调用路由部分代码。输入路由过程更为复杂一些也更具代表性,所以我们下面主要分析一下IP包输入时的路由流程。
下图描述了这个流程:
我对linux2.4.18的相关代码进行了阅读,从关键的几个接口函数入手,进而理清了整个路由部分的主要脉胳,理解了一些细节问题的处理,但还是有些问题还没有完全搞清楚。
路由部分代码主要在linux代码树的/net/ipv4/下面:
对于下面报告内容的组织,我想通过由整体到部分到细节的顺序,尽量把我阅读代码学习到的所有的知识做一个有层次有条理的总结。 阅读全文 »
在嵌入式ARM开发中,用busybox制作根文件系统时,其中必须构建的一个目录就是/dev目录。这个目录对所有的用户都十分重要,因为在这个目录中包含了所有Linux系统中使用到的外部设备,即所有的设备节点。
构建/dev目录时,有两种方法:即静态构建和mdev设备管理工具构建。下面分别介绍。
© 2012 velep.com | reille blog | 管理| 粤ICP备15065318号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha |