3

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

我在 Linux 中相当自如,但引导和初始化过程对我来说是新的,我需要尽快投入其中。也欢迎任何书籍推荐!我以前没有设计过任何嵌入式系统。只拥有一些 ARM 开发板(beagleboard 和 raspberry pi)。

目前我已经有了在 beagleboard 上运行的软件原型,现在我们正在考虑如何将成本降到最低,并创建我们自己的东西..

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

我想尽量减少所有引导加载程序等工作,因为我是一个单人软件团队,只专注于应用程序本身。当然我知道我需要为此配置我们的内核,但这确实是为什么我认为选择一些 SoC 会很好,因为它们通常已经准备好一些 linux 和引导加载程序。

首先我认为 Cirrus EP9301 会是完美的,因为它似乎是一个很好的包装,而且不是很贵.. 但是它似乎已经报废了,而且对此的支持也很糟糕(人们在卷云论坛不断抱怨它)。

这种项目是否有一些好的选择,可以让我们“轻松”启动并运行 linux 内核,同时仍然保持某种体面的 BOM(希望 20 美元左右)?

4

3 回答 3

4

您的硬件人员应该已经知道这一点,但请使用现有的参考设计。使用 raspberry pi、beagleboard/bone、open-rd 或任何数量的其他现有系统并克隆您需要的部分。因此,Linux 移植将是从参考设计中删除您未使用的内容,而不是添加新内容并希望它有效。如果您使用扁平包装零件,您可以在车库中完成工作,如果您使用 bgas,则需要设备或花钱请人来做。(你能说我讨厌 bgas 吗?)。

是否需要 linux,如果不是,这会为使用 freertos 或 chibios 或许多其他解决方案的更多设备打开大门。例如,stm32f4 发现板是 20 美元,它使用几乎不能称为微控制器的所有功能(cortex-m4)。据说可以在 cortex-m 上运行 uclinux,但绝对可以运行任意数量的 rtose 并拥有一个 ip 堆栈等。 Stellaris (ti.com) 有许多评估板,其中一个/一些已经带有以太网(用作参考设计)。您还可以采用 wiznet 方法(或 spi 以太网)并使用任何微控制器(使您进入 avr/msp430 级别和价格范围)。物有所值,皮质-m 很好,基于手臂,使用起来很舒服,等等。

如果您还没有移植到嵌入式平台的经验,并且不想在此过程中学习,那么使用 linux,我肯定会使用现有设计的克隆,尽可能多地利用与人们合作的项目在将 linux 移植到平台方面经验丰富。如果需要使用现有的板(beagle/raspi/openrd)并通过可以访问现有端口的备忘单完成移植到平台的动作,看看你是否无法移植 uboot 和 linux 引导等。(根本不需要uboot,这可能是一个不必要的复杂性,只需启动并将atags等传递给linux并分支到它,很容易从裸机启动linux)。

于 2012-08-22T14:09:01.117 回答
1

您可能会比将在 Raspberry Pi 上使用的 Broadcom BCM2835 作为您的起点做得更糟 - 特别是如果您想避免内核和引导加载程序工作以及参考原理图的来源。如果这被证明太贵,请查看 Broadcom 系列中的其他设备。

几点建议

  • 您可能需要一些闪存而不是用于生产的 MMC 卡接口。eMMC 是一种选择。NAND 闪存是一场噩梦,因为组件迅速过时,并且需要自己使用 MTD 驱动程序并弄脏。
  • 与悬挂在通用总线上的控制器相比,USB 以太网更容易集成,但性能不佳。SmSC 似乎是两者的流行来源
于 2012-08-22T10:39:28.493 回答
0

您还可以查看 Olimex 使用他们的 linux 板所做的工作。甚至可以订购 som,然后将其与其他外部组件结合使用。

于 2017-07-21T17:20:52.907 回答