11

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

编辑:

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

当我查看其他嵌入式操作系统时,它们似乎更像是一种实时线程解决方案,而不是能够运行应用程序。我对完成工作的任何事情持开放态度。

4

6 回答 6

13

我认为您需要在这里权衡您的成本选择。

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

注意:您可以通过极少的内核和简单的应用程序与具有大量内部资源的 uC 相结合来避免外部要求。

第二种选择是具有轻量级操作系统的更简单的微控制器。这将降低您在 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。

于 2009-10-05T22:02:50.963 回答
2

我什至在 ARM7TDMI 上也取得了成功,所以我认为你不会有任何麻烦。如果你有一个低要求的系统,你可以使用任何一种轻量级的实时执行程序,并且比让 Linux 工作有更好的体验。

于 2009-10-05T20:43:01.667 回答
2

我使用TS-7200大约五年来使用 Debian GNU Linux 运行 Web 服务器和邮件服务器。它的频率为 200 MHz,具有 32 MB 的 RAM,对于这些任务来说已经足够了。它具有内置的串行端口。它基于ARM920T。

这对你的工作来说太过分了。我提到它是为了让你有另一个数据点。

于 2009-10-05T20:48:52.240 回答
2

ucLinux专为资源受限的目标而设计,但对于没有 MMU 的目标可能更重要。

但是,您必须有充分的理由在这样的系统上使用 Linux,而不是小型实时执行程序。开箱即用的网络、适用于复杂硬件的现成驱动程序和协议栈以及对现有 POSIX 遗留代码或开源代码的支持可能只是其中的一小部分。但是,如果您不需要它,Linux 仍然很大,您可能会浪费资源而没有真正的好处。在大多数情况下,如果您选择任何风格的 Linux,您仍然需要片外 SDRAM 和闪存。

我不会将串行 I/O 视为“复杂硬件”,因此除非您运行的是复杂但标准的协议,否则您的简短描述似乎不能保证使用 Linux IMO

于 2009-10-05T21:04:23.133 回答
2

几年来,我一直在使用gumstix进行原型设计和测试,并取得了不错的效果。我不知道他们使用的处理器(我的主板上的英特尔 PXA255)是否被认为是低成本的,但对于我来说,整个 Verdex 系列对于适应性设备来说似乎相当便宜。

于 2009-10-05T21:10:19.683 回答
0

我的 DLINK DIR-320 路由器在内部运行 Linux。

我认识一些杂工,用 Optware 刷机并连接 USB 集线器、硬盘驱动器、USB 闪存等等。

它是低成本的即用型“平台”。(如果您不需要批量生产)。但也许比你需要的更强大。

此外,它甚至可以通过您的 pda 通过 Web 界面进行无线配置 :)

于 2009-10-07T22:05:21.323 回答