2010-02-02 35 views
5

我想创建一个使用Linux的嵌入式系统,类似于使用ARM9处理器的E book reader。我不是电子专家,但我很乐意学习它。我了解电子基础知识,如晶体管,触发器,多路复用器。等我喜欢软件,并希望创建一个像E书阅读器。软件工程师是否可以创建嵌入式系统?我不想购买市场上的单板电脑,我想自己创建它。软件工程师可以创建嵌入式系统吗?

  • 我在哪里可以得到一些教程?
  • 我的操作系统知识足以创建这样一个系统吗?
+2

你还没有说*关于你的“操作系统知识”的任何*。 – pavium 2010-02-02 10:06:03

+0

我知道每个操作系统的基本工作......所以我可以为Linux创建设备驱动程序。 – Sphinx 2010-02-02 10:15:29

+0

您可能会从平台供应商处获得设备驱动程序。 – 2010-02-02 10:20:33

回答

9

建设系统需要从多个工程学科的知识。您只能通过购买现成的模块化组件并将它们组装在一起来实现这样的任务,而在电子书放在一起的情况下,模块化组件将不会令人愉快。

而且学习任何需要你健康长寿,集中力量所需的单一学科。

要(松松)表示有问题的地方:

  1. 你需要所有正确的芯片组的权利外形的计算平台(苹果最近结合自己的单CPU,如,用硬件来自多家公司的设计)。 (电子工程师:数字设计师,模拟设计师)

  2. 您需要尝试将LCD连接到正确的平台以及其他外设(如USB /充电端口/ WIFI等。 (电子工程师,产品设计师)

  3. 您需要为该平台构建一个案例。 (产品设计师)

  4. 您需要获得适合您需求的嵌入式操作系统(可能是实时的)(在您的平台上工作)。 (嵌入式编程器,内核编程器)

  5. 您需要将所述操作系统扩展为按照您所希望的方式工作。 (应用程序编程,图形程序员)

最重要的部分是平台,并得到一个合适的是非常艰苦,非常昂贵。原来的iphone有一个由第三方创建的平台,苹果购买并用它来应用2-5点 - 并且它仍然花费了他们最好的工程师很长时间来制作原型。

+3

+1你可以建立自己的电子书阅读器,但到你完成时他们会免费提供。 – 2010-02-02 10:06:19

+0

您忘记了为计算平台构建gcc工具链。 – mouviciel 2010-02-02 10:24:35

+0

@mouviciel(在您的平台上工作)添加到第4点。 – 2010-02-02 10:29:54

2

从头创建嵌入式硬件需要大量的专业知识和资源。最好从低成本的评估板开始,以便首先了解嵌入式编程和接口的基本知识。这应该让你忙几个月。除此之外,嵌入式CPU供应商通常具有参考设计,您可以将其纳入自己的嵌入式产品中,但此时您需要投入大量时间,精力和资金来开发硬件设计和开发工具。

0

您可以购买现成的硬件来进行嵌入式软件开发。

PC 104 Boards

+0

PC 104已过时,从可靠性的角度来看它们是一个诅咒......如果有任何振动,那些堆叠连接器就会松动,即使您使用螺栓董事会在一起。 – 2010-02-02 11:31:57

+0

@Andrew你有推荐吗? – PeanutPower 2010-02-02 13:14:08

+2

取决于你想要的。 Routerboard和Ubiquiti可以制作出漂亮的路由器。 Beagleboard非常适合媒体播放器和UI界面,如果Beagleboard太大,Gumstix会很好。如果你能用20MHz的AVR摆脱现实,Arduinos是很好的选择。对于更大的东西,Supermicro和Advantech等公司拥有许多优秀的Atom平台。 – 2010-02-02 21:40:55

5

不是真的;硬件工程本身就是一门学位课程,你至少需要三种不同的专业来完成这项工作。更不用说CAD软件和CNC机器的成本比gcc大得多,所以硬件工程师的开销是巨大的。

但是,您可以雇佣完成,收取大笔费用。或者您可以使用嵌入式主板并为您完成机箱设计。

例如,在自定义情况下,a beagleboardthese accessories

或者,Gumstix overoone of theseone of these在自定义情况下。

在这两种情况下,运行一些嵌入式Linux。

开发板可以节省大量时间和金钱,但在这两种情况下,如果您拥有资本,您可以将这些电路板简化为定制电路板,以满足您对应用程序的需求,并降低成本大数。

不要低估案例设计;你只需要十万美元的厚底就可以制造一个塑料,压铸金属或冲压金属外壳,而无需支付设计费用。

1

基本上不需要创建(我的意思是焊接)嵌入式系统。一个好的方法可能是购买一些控制器板,如thisthisthis。您需要小心董事会,但是软件工程师无法管理它;它具有常见的串行,USB和RJ45端口,通常已经启动Linux。寻找机箱,连接外围设备(包括模拟/数字转换器,或向输出端口添加一些继电器)完全在某些人的能力范围内,他们也希望一些硬件工作。预计在C开发。