在ARM处理器上运行嵌入式Linux的最低配置?

Rex*_*gan 11 linux embedded arm

我需要制作一个嵌入式ARM设计,它要求做许多嵌入式Linux会做的事情.然而,该设计对成本敏感,并且不需要大量的马力.主要是与串行接口交谈.理想情况下,我想使用其中一个低端ARM.您成功使用嵌入式Linux的ARM的最低配置是什么.

编辑:

应用程序需要某种闪存设备上的文件系统以及运行应用程序来处理数据的能力.有些应用程序可能是由我自己编写的.我还需要能够使用串行端口加载新应用程序或更新旧应用程序以接受应用程序.

当我查看其他嵌入式操作系统时,他们似乎更像是一个实时线程解决方案而不是运行应用程序的能力.我愿意完成任务.

Mar*_*ark 13

我想你需要在这里权衡你的成本选择.

ARM + linux是一个选项,但是你将为这么简单(从你的描述)的一组功能支付非常高的操作开销.你不仅可以看看ARM芯片的成本,还必须考虑外部RAM,这很可能是需要的,以及闪存,以获得足够的空间来运行内核+应用程序.

注意:您可以通过非常小的内核和简单的应用程序与具有大量内部资源的uC相结合来避免外部需求.

第二种选择是具有轻量级OS的更简单的微控制器.这将降低CPU上的硬件成本,你可以在没有外部RAM或闪存的情况下运行这样的东西(取决于应用程序RAM和程序空间要求)

第三种选择:我实际上并没有看到任何要求使用任何操作系统的要求.基本文件系统非常简单,例如,甚至有8位PIC的FAT驱动程序.连接到SD卡只需要一个SPI端口和最少的外部电路.

应用程序位可能简单或复杂.我建立了围绕PIC18微控制器的系统,它运行Web服务器并通过简单的上传屏幕允许程序更新,它只是将新程序存储到EEPROM或闪存中,重新启动到引导加载程序并将新程序复制到内部程序存储器中.您可以设计一种方法来实现此目的,而无需通过协作式多任务类型的体系结构重新启动.无论你如何编写应用程序的程序员都需要了解架构和访问你编写的库/驱动程序.简化此操作的最佳方法是提供尽可能简单的API并尝试自动化它们的构建过程.

第三个选项在硬件方面将是"最便宜的",因为处理应用程序的开销很小,可以让您以最小的处理能力和内存来逃避.它可能需要你更多的编程/软件架构,但除了学习在linux范例下编写所需的设备驱动程序之外,几乎不需要你需要进行的研究来启动和运行Linux.

与往常一样,您必须将软件开发成本包含在设备的构建成本中.如果您计划构建10,000多个这样的产品,那么最好不要降低硬件成本,并将更多的人力投入到设计允许硬件满足设计目标的软件解决方案中.如果您构建其中的10个,如果能够降低软件开发成本,最好还是花15到20美元购买硬件.例如,带有MMU的ARM,具有完整的Linux内核支持和可用的设备驱动程序.

我觉得你现在选择两个世界中最糟糕的一个,你付出额外的费用来获得你可以运行linux的uC但是这样做你也选择了一个可能是最复杂的部分来启动和运行Linux在以前,特别是在嵌入式平台上没有使用linux.