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



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

我对Linux相当熟悉,但引导和初始化过程对我来说是新的,我需要尽快深入到这一点。欢迎任何书籍推荐!我以前没有设计过任何嵌入式系统。。只拥有一些ARM开发板(beagleboard和树莓派)。

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

这是一个连接到互联网的系统,我需要运行一个支持脚本的小型网络服务器。就性能而言,我认为它不需要太强大。

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

首先,我认为Cirrus EP9301将是完美的,因为它似乎是一个很好的包装,而且不是很贵。。但它似乎已经生命垂危,对此的支持也非常糟糕(卷云论坛上的人不断抱怨)。

对于这种项目,是否有一些好的选择,这将使我们能够"轻松"地启动和运行linux内核,同时仍然保持某种不错的BOM(希望是20美元左右)?

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

linux是一种需求吗?如果不是,那就为更多使用freertos或chibios或许多其他解决方案的设备打开了大门。例如,stm32f4探索板售价20美元,它使用了几乎不能称为微控制器的所有功能(cortex-m4)。假设可以在cortex-m上运行uclinux,但肯定可以运行任何数量的rtos并具有ip堆栈等。stellaris(ti.com)有许多eval板,其中一个/一些已经具有以太网(用作参考设计)。您也可以采用wiznet方法(或spi以太网)并使用任何微控制器(使您进入avr/msp430级别和价格范围)。棒极了——皮质-m很好,基于手臂,工作起来很舒服,等等。

使用linux如果你还没有移植到嵌入式平台的经验,并且不想在这一过程中了解这一点,我肯定会选择现有设计的克隆,尽可能多地利用项目中有经验的人将linux移植到平台。如果需要拿一个现有的板(beagle/rraspi/openrd),用访问现有端口的备忘单来完成移植到平台的动作,看看你是否无法获得uboot移植和linux引导,等等。(根本不需要uboot,这可能是一个不必要的复杂问题,只需启动dram并将atags等传递到linux,然后分支到它,从裸机启动linux非常容易)。

你可能会做得比把树莓派上使用的Broadcom BCM2835作为起点更糟糕,尤其是如果你想避免内核和引导加载程序的工作以及参考原理图的来源。如果这太贵,请查看博通系列中的其他设备。

的一些建议

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

您还可以看看Olimex在linux板上所做的工作。甚至可能订购一个som,然后将其与其他外部组件结合。

相关内容

  • 没有找到相关文章

最新更新