2012-11-16 56 views
1

我开始用手持设备的sqlite创建一个QT应用程序。我的项目经理要求我为设备选择一个操作系统(嵌入式linux)(我们不考虑android)。为设备选择嵌入式Linux

与桌面一样,是否有许多嵌入式Linux发行版用于设备? 如果是这样,我应该考虑哪个嵌入式linux?

+0

哪个是平台?臂? 86? .... –

+0

“哪个发行版?”真的是一个x86桌面问题。除非你使用像RaspberryPi或BeagleBoard这样受欢迎的板子,否则你的选择非常有限。所以典型的嵌入式Linux是使用Buildroot或OpenEmbedded等工具从头开始的。 http://free-electrons.com/doc/buildroot.pdf – sawdust

+0

从其他人已经能够在有问题的董事会或任何现有的董事会最接近的董事会上开始工作开始,因为这通常会少很多工作。如果有证据表明不理想的原因,则更改(如果需要,请到您自己的自定义设置)。 –

回答

0

这是一个难以回答的问题,不了解更多关于项目需求(不仅仅是软件需求,也包括非功能需求)和平台功能。

Angstrom(基于OpenEmbedded)是Linux的另一种可能性。

我会质疑操作系统必须是Linux的假设。为什么?如果上市时间或商业支持很重要,那么使用商业嵌入式或RT操作系统(如VxWorksQNX)可能会更好。

还有一些专业支持的Linux发行版,如Montavista

虽然免费的Linux发行版的,好了,免费的,你通常是你自己和你的团队的时间是不是免费的。

2

你有多种选择,但我会建议更容易和 - 在我看来 - 更好的两个。

  • Buildroot - 是一组makefile文件,可以让你创建自定义的嵌入式分布。可以照顾构建Linux 内核,工具链以及一个barebox或U-Boot引导加载程序。易于扩展,并具有几乎零学习曲线的 。在几小时内您就可以完全使用 系统。
  • Yocto - 一个完全成熟(并且复杂)的构建系统。建议您在需要大量包装/组件 时需要灵活性,直接在 前提下扩展系统。你可以做的事情主要取决于可用的“图层”(用于构建事物的一系列规则):将图层组合在一起以获取系统。有一个陡峭的学习曲线,但直接使用并支持多个供应商(例如:Atmel,TI) 。

无论如何,除非你有更好的理由,否则我强烈建议前者。