嵌入式Linux学习技巧

27

我想学习嵌入式Linux的基础知识。为此,我认为我需要购买某种硬件开发板并获得Linux内核代码。

我不知道从哪里开始,任何提示/指针都非常欢迎。理想情况下,我希望人们可以指出一个完整的系统(例如,“带有Linux的板套件”加上这些“手册”非常好)。

另外成本也是一个因素,因为我是个人学习,不是商业用途 :)

非常感谢, Code


2
如果你有能力的话,购买一块Beaglebone Black或Raspberry Pi或市场上其他可用的开发板。学习基本概念,如从用户空间访问GPIO引脚、读取ADC、I2C、SPI、UART等。一旦你感到舒适,可以深入研究驱动程序,例如GPIO、USB等,根据自己的兴趣选择 :) - duslabo
为什么不使用 QEMU [www.qemu.org] - 一个广泛使用的免费开源仿真器项目(例如 Android SDK)。您可以找到使用 QEMU 模拟 ARM/Linux 机器的教程。例如:http://balau82.wordpress.com/2010/03/22/compiling-linux-kernel-for-qemu-arm-emulator/ - kaiwan
谢谢你们两位的评论:),从下面的帖子和其他一些来源中阅读,看起来Beagle Black是一个受欢迎的选择,而且价格似乎相当便宜!但如果你建议的是我所认为的那样(即一个PC Linux模拟器,你可以在其中修改代码),那么QEMU似乎也值得一试 :o - code_fodder
3个回答

23
您需要:

1 - 板子:我开始使用的是 beagleboard 。现在有一个新的 beaglebone black。 beagle 有很多支持社区;有很多教程页面 这里这里 ,还有准备好的可安装的 镜像。您也可以自己构建映像(步骤3)。这些板子有大多数您可能需要玩耍的外设,并且也可以用作额外的计算机!

2 - 书籍:正如 Mali 所指出的那样,Linux 是一个快速移动的对象,但在学习初期,您将需要一个可靠的参考资料。我建议使用“嵌入式 Linux 入门指南:实践方法”,因为它有许多示例并且逐步引导您。还有 "构建嵌入式 Linux 系统"。

3 - 固件:a)工具链,b)根文件系统和c)内核映像。"Buildroot" 是最容易入门的。Openembedded 和 Yocto 有非常陡峭的学习曲线。 "嵌入式 Linux 入门指南:实践方法" 上有一些关于如何使用 buildroot 的示例。


非常感谢您的回答!所有这些选项都受到了真正的赞赏,很高兴听到许多人考虑类似的选择 :) ...看起来Beagle是开始的正确方式:) - code_fodder
所有的回答都非常好,谢谢!但是这个回答似乎最接近我想要的(而且确实得到了)。我已经购买了BBB和推荐的两本书...还没有涉及到工具链等方面...有很多东西需要阅读! - code_fodder

11

你在 Olimex 上可以找到一些很酷、不昂贵的板子。 此外,Armadeus 是一个很好的项目入门。

这真的取决于你想做什么和你喜欢什么,例如参与Replicant会非常有趣。你还可以找到一台廉价的路由器,并支持openWrt。换句话说,在找到一项你想要尝试的小项目之后,再选择硬件。

关于书籍,我认为"Building embedded Linux Systems"是必备的,但Linux是一个快速发展的目标,因此书籍可能已经过时。

对于学习基础知识,我建议使用Buildroot来构建你的第一个系统,相比于Open Embedded或Yocto等构建系统,它更简单。

快乐黑客!


1
非常感谢 :) ... 再加一个针对 Buildroot 的,这似乎完成了我关于 Beagle + Buildroot 的起步列表。 - code_fodder
这似乎是一个不错的选择,使用buildroot你将学到很多基础知识:如何生成交叉编译工具链,为arm架构构建内核,交叉编译并生成带有busybox的根文件系统等等。 - Mali

9

我刚开始学习嵌入式Linux。我得到了一份工作,在这个职位上我需要为一系列产品编写固件。

我正在阅读这本书《Embedded Linux Primer: A Practical Real-World Approach》。

这本书中涵盖了产品所实现的所有内容。

我强烈推荐这本书。它非常棒。

对于我来说,在你深入学习之前,首先应该阅读这本书。这本书是一座金矿。


谢谢,事实上,基于这些推荐,这是我在闲暇时间里看的书,穿着拖鞋,喝着茶 :) 我还有《构建嵌入式Linux系统》和一块 Beagle Bone Black 来折腾啊 : ) - code_fodder
不错..也许我应该读一下《构建嵌入式Linux系统》.. - New to Rails
我还没有开始,但它似乎是自然的进展 :) - code_fodder
是的,在阅读了《嵌入式Linux入门:实用的现实世界方法》之后,我计划阅读《构建嵌入式Linux系统》。 - New to Rails

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接