首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

嵌入式学习札记(二)——初识驱动开发

2013-11-03 
嵌入式学习笔记(二)——初识驱动开发前边粗略了解了下NAND FLASH,但是那些知识根本不够展开工作,现在开始学

嵌入式学习笔记(二)——初识驱动开发

前边粗略了解了下NAND FLASH,但是那些知识根本不够展开工作,现在开始学驱动开发。


照例,先百科:

参考书:

说到为什么重新编译内核,因为linux内核不断更新(例如更多的硬件支持,更好的进程管理,更快的速度和更好的稳定性),用户想利用新内核,或者定制自己需要的高效稳定的内核,就需要重新编译内核。

一般有四个特性:

运行更快(内核精简啊,代码少);

内存更多(内核部分将不会被提交到虚拟内存中——何解?);

更安全(少了多余的功能,漏洞也少);

将某种功能编译为模块方式会比编译到内核内的方式速度更慢一些(什么考量?)。


内核编译模式:

要增加某种支持,比如网络,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module),动态调用。前者开机启动,速度快,缺点是内核庞大,冗余,整体速度也会慢——window惯用无脑招数。反之肯定是另一个极端,所以,计算机中常用的理念就是取得平衡,达到中庸,英语里应该叫economy,经济。

所以特别有用、频率高的build-in,其他的编译成.o文件,使用的时候动态加载,这样做的缺点就是需要自己调用。

新版本获取和更新:

下载完整内核版本,或者补丁(patch)文件,前者大后者小。

下边有个流程,我先照猫画虎手打一下加点印象(具体可行性不可知,我先熟悉熟悉再做这个事):

首先需要root用户,然后把要升级的内核拷贝到/usr/src/下

#cp linux-2.4.0test8.tar.gz

当前/usr/src里有一个linux的符号链接(我反正没找到),指向一个类似于linux-2.2.14(你现在版本)的目录,删除这个链接:

#cd /usr/src

#rm -f linux

现在解压下载的源程序(网速不好的可以先下俩预备着)

#tar -xzvf linux-2.4.0test8.tar.gz

如果是bz2文件

#bzip2 -d linux-2.4.0test8.tar.bz2

#tar -xvf linux.2.4.0.test8.tar

据说此时/usr/src下有了一个linux目录,前边那个名为linux的链接就是防止升级内核的时候不慎把原来版本内核源程序覆盖掉。

#mv linux linux-2.4.0test8

#ln -s linux-2.4.0test8 linux

这样也制作了一个防覆盖的linux符号(目前我对系统的了解只能是不明觉厉,怎么个防覆盖,link我不熟,我只停留在快捷方式上,至少在我的ubuntu上文件布局和这里说的不一样,/usr/src下不是linux,而是各linux版本号:

h@kk:/usr/src$ ls
linux-headers-2.6.38-10          linux-headers-2.6.38-8
linux-headers-2.6.38-10-generic  linux-headers-2.6.38-8-generic


如果你还下载了patch,比如patch-2.4.0test8,并且位于/usr/src目录下

#patch -p0 < patch-2.4.0test8

这就算升级完了。


下边是内核编译,blabla,命令太多了,一眼扫不懂,有点超出我知识范围了,或者照猫画虎太多也受不了。先研究研究再搞。

土逼continue

ios7真但疼,我都看不到我浏览的网页地址,总不能就是it.com.cn吧,我靠还得点开地址栏,闹惨的设定

www.it.com.cn/f/edu/0411/30/53807.htm


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

下边回到我的课程上,再扫几眼《Understanding the Linux Kernel》,研究研究众多英文单词怎么破







----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------














热点排行