平衡处理器/ SOC(?)用于运行linux的小型嵌入式系统

时间:2012-08-22 08:30:12

标签: linux linux-kernel embedded embedded-linux system-on-chip

所以,我知道Linux内核在考虑低规模嵌入式系统时非常“沉重”,但目前我们是一个2人团队试图了解如何创建我们自己的嵌入式系统。 我是负责所有软件的人(另一个人是硬件人),因此我想尽可能多地重用现有的库和框架,我想和周围的大师一起反弹一些想法这里。

我对Linux很满意,但启动和初始化过程对我来说是新的,我需要尽快深入研究。欢迎任何书籍推荐! 我之前没有设计任何嵌入式系统..只拥有一些ARM开发板(beagleboard和raspberry pi)。

目前我已经在beagleboard上运行了该软件的原型,现在我们正在考虑如何最大限度地降低成本,并创建我们自己的产品......

这是一个连接到互联网的系统,我需要运行一个带有一些脚本支持的小型Web服务器。性能明智我不认为它需要太强大。

我想最小化所有bootloader等工作,因为我是一个单独的SW团队,只关注应用程序本身。 当然我知道我需要为此配置我们的内核,但这确实是为什么我认为选择一些SoC会很好,因为他们通常会准备好一些linux和bootloader。

首先我认为Cirrus EP9301会是完美的,因为它似乎是一个很好的包装,并不是很昂贵..但它似乎已经在生命周期结束了,并且对此的支持非常糟糕(在卷云论坛上的人们经常抱怨它。)

这类项目是否有一些不错的选择,这将使我们“轻松”启动并运行Linux内核,同时仍保持某种体面的BOM(希望是20USD左右)?

3 个答案:

答案 0 :(得分:4)

您的硬件人员应该已经知道这一点,但请使用现有的参考设计。以树莓派,beagleboard / bone,open-rd或任何其他现有系统为例,克隆您需要的部分。因此,Linux移植将是一个从参考设计中删除你没有使用的东西而不是添加新东西并希望它工作的问题。如果您使用扁平包装零件,您可以在车库中进行工作,如果您使用bgas,则需要使用该装备或付钱给某人。 (你能否说我讨厌巴斯?)。

Linux是否是一项要求,如果不是这样,那就打开了使用freertos或chibios或许多其他解决方案的大量设备的大门。例如,stm32f4发现板是20美元,使用几乎不能称为微控制器的所有功能(cortex-m4)。据说可以在cortex-m上运行uclinux,但绝对可以运行任意数量的rtoses并拥有ip堆栈等.stellaris(ti.com)有许多评估板,一个/一些带有以太网(用作参考设计)。您还可以采用wiznet方法(或spi以太网)并使用任何微控制器(将您置于avr / msp430级别和价格范围内)。支持降低皮质m是好的,手臂基础如此舒适,等等。

如果您已经没有移植到嵌入式平台的经验,并且不想在此处学习,我肯定会使用Linux,我肯定会使用现有设计的克隆,尽可能多地利用与将Linux移植到平台方面经验丰富的人合作。如果需要采用现有的板(beagle / raspi / openrd)并通过可以访问现有端口的备忘单进行移植到平台的动作,请查看是否无法获得uboot移植和linux启动等(根本不需要uboot,这可能是一个不必要的复杂问题,只需要把它放到并将其传递给linux并只是转移到它,很容易从裸机启动linux。)

答案 1 :(得分:1)

你可能会比将Rascomberry Pi上使用的Broadcom BCM2835作为起点更糟糕 - 特别是如果你想避免内核和启动加载器的工作以及参考原理图的来源。如果这证明太贵,请查看Broadcom系列中的其他设备。

一些建议

  • 您可能需要一些闪存而不是MMC卡接口供生产使用。 eMMC是一种选择。 NAND闪存是一个噩梦,因为组件快速过时以及需要使用MTD驱动程序来获取自己的内容。
  • USB以太网比挂在通用总线上的控制器更容易集成,但性能不佳。
  • 似乎是SmSC的热门来源

答案 2 :(得分:0)

您还可以查看Olimex正在使用他们的linux主板进行的工作。也许甚至订购som然后将其与其他外部组件结合起来。