我总是吸引世界上的核侵和嵌入式系统。
有任何人得到了很好的教程,(+容易获得硬件)上开始惹这样的东西吗?
什么样的工具包,为编写驱动程序等,这与良好的文件和负担得起的?

谢谢!

有帮助吗?

解决方案

如果你是完全新的内核开发的,我会建议不能开始硬件的开发,并将一些"软件"核心模块,如proc文件的/目标节点或更复杂的例子文件系统/网络发展,发展在uml/vmware/在开始/...机器崩溃你的机器不会伤害这么多:)用于嵌入式的发展你可以去一个小小的手臂开发工具包或一个小的通C3/C4机,或任何的旧电脑,您可以燃烧用你自制USB/PCI/任何设备。

一个良好的开端是可能 Kernelnewbies.org -有大量的链接和有用的信息的内核开发者,并且还设有一个列表中易于实现的任务,以处理对于初学者。

一些书籍:

了解Linux内核 -一个很好的参考详细设计的核子系统

Linux设备的司机 -是写的更像一教程有很多例子码,重点是让你去和解释关键方面的linux内核。它介绍了建立过程和基础知识的核心模块。

Linux内核模块的编程指南 -一些更多的介绍性材料

正如早些时候所建议,看看linux的代码始终是一个很好的想法,特别是以Linux内核API往往变化很多时候...LXR有很大帮助的一个非常好的浏览界面 lxr.linux。没有

理解的核心构建的进程,这种联系可能是有帮助:

Linux内核的生成文件(kbuild)

最后但并非最不重要的是,浏览该文件目录中的核源分布!

这里有一些有趣的锻炼傲慢地被盗从一个内核开发的类:

  • 写一个核心模块其创建文件/proc/jiffies报当前时间,以jiffy为单位.在每个读访问。
  • 写一个核心模块提供的proc文件/proc/睡觉。当一个应用程序写入一秒数作为ASCII码文本进入本文件("echo3>/proc/眠"),就应该阻止为指定的数额。写访问应该没有副作用,在该文件的内容,即,在阅读访问,该文件应显示为空(见LDD3,ch.6/7)
  • 写程序的文件,你可以存储某些文本暂时(用回声"blah">/proc/管道),并得到它再次出(cat/proc/管道),清除的文件。注意同步的问题。
  • 修改管如模块注册为文字设备/dev/管道,加入动态内存分配写请求。
  • 写的真简单文件系统。

其他提示

一个绝对的 必须 书通过的红宝石.(供作为一个硬拷贝或软拷贝)

他给实现中的几个虚设的驱动程序,不需要你有任何硬件的其他比你的电脑。因此,对于开始在内核开发的这是最简单的方式去。

为做嵌入的工作,我建议买一个多SBC(单板计算机)。有许多的这些基于x86处理,通常与PC/104接口(电PC/104是相同的ISA总标准,但是基于堆叠的连接,而不是边缘接头-非常容易接口定义的硬件)

他们通常有vga连接,使它更容易做的调试。

嵌入式的Linux黑客攻击、简单的恢复WRT54G路由器,你可以买到处是一个发展平台上自己的 http://en.wikipedia.org/wiki/Linksys_WRT54G_series:

该WRT54G为是着名的第一个消费级网络设备,这有其固件的源代码的发布,以满足所承担的义务GNU GPL。这个程序员修改的固件,变更或添加功能的设备。几个第三方的固项目向公众提供增强的固件WRT54G.

我试图安装 本项目DD-考 固件。你可以检查那些作为一个起点,黑客在低费用平台。

对于初学者来说,最好的办法是读了很多的代码。因为Linux是开放源代码,你会找到几十个驱动程序。找到一个,工作在某些方面就像你想要什么写。你会发现一些体面和相对较易于理解的代码(环设备、ROM fs,等等。)

你也可以使用 lxr.linux。没有, ,这是Linux码的交叉引用。如果你要找出一些东西是如何工作的,需要找到代码,这是一个良好和轻松的方式。

还有一个O'Reilly书(理解Linux内核,第3版是有关2.6核的)或者如果你想要免费的东西,你可以使用先进的Linux计划书(http://www.advancedlinuxprogramming.com/).还有很多具体文件关于文件系统、联网,等等。

有些事情要准备:

  • 你会被交叉编译。嵌入式设备将使用的MIPS,支持,或臂CPU但不会有足够的CPU能力、存储器,或储存于编纂自己的核心,在一个合理的时间量。
  • 一个嵌入式系统往往使用串行港口作为控制台,并以较低的成本通常没有连接器焊接到生产板。调试核恐慌是非常困难的,除非你能焊接在串口连接,你不会有太多的信息了什么错误。

找NSLU2 是一个低成本的方式得到真正的嵌入式系统的工作,并有一个USB接口,增加外围设备。任何数量的无线接入点还可以使用,看 本项目的兼容性页。 要知道,当前的模型的轴WRT54G你会发现在商店不能再被使用Linux:他们有较少的内存和闪存,以便减少成本。Cisco/。现在使用vxWorks在WRT54G,与较小的存储排放。

如果你真的想要得到它,评估工具包,用于嵌入式Cpu开始在一个几百美元。我会建议不把钱花在这些的除非你需要的专业工作或咨询合同。

我完全是初学者在内核侵:),我决定买两本书"Linux程序的发展:导演习"和"书写Linux装置驱动程序:导演习"他们都非常清楚地写和提供良好的基础,进一步学习。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top