我正在考虑为大约 20MHz、6mb 内存、ARM32 处理器的设备进行嵌入式编码。任何人都可以建议最好/最合适的嵌入式系统编程语言吗?我正在考虑:
- 卢阿
- 小派
- C
- 爪哇我
- C#
- 有人建议使用 JavaScript
有什么建议么?谢谢
编辑 - 看起来 C 和 Lua 是赢家。大家干杯!
编辑 - 实时不是问题,它更多的是有限的 ram/cpu 指示的东西。
如果您要从头开始开发设备或直接与非标准外围设备连接,C 语言确实是唯一的选择。
如果您已经拥有一个嵌入式操作系统或者可以毫无困难地移植一个操作系统,那么您可能在添加一种更符合脚本语言的语言方面具有更大的灵活性。除非您在 WinCE 上,否则 C# 是不可能的,然后您将被限制为 .NET Micro。
除此之外,如果不描述您的设备将用于什么,“最佳”就没有什么意义。有些语言比其他语言对某些任务有更好的支持。
对于如此有限的 cpu 资源,C 可能是您的最佳选择。
我很想直接用 C,但后来我写 C 已经近 30 年了。Lua 和 TinyPy 对我来说似乎太新、太实验性了;嵌入式设备需要非常强大。
Java ME 有优点。我不了解嵌入式世界中的 C#。
我在 ARM OMAP 处理器上使用了 Lua。Lua 与 C 的紧密集成允许您随时使用金属,而且它的小尺寸使其适用于各种平台。我在我的 Mac 上用 Lua 为我的固件开发了 UI,然后把它带到了嵌入式平台上,没有做任何改动。
虽然 OMAP 处理器足够强大,可以运行 Java 或 Python 等其他语言,但当我开始编写代码时,我不知道我的目标是什么硬件。Lua 是一个安全的赌注。
指定您希望此设备执行的操作很重要。它是某种控制应用程序吗?它必须实现算法吗?浮点支持怎么样?图形用户界面?性能很关键吗?您打算使用操作系统吗?
回答这些问题是选择编程语言的关键先决条件。
也就是说,嵌入式系统必须可靠,所以我会选择一些经过测试的解决方案。C 可能是 ARM 芯片最可靠和最受支持的选项,但 YMMV 取决于您的特定需求。
C 无疑是嵌入式系统中使用最多的语言。它似乎也是最受关注的语言http://www.langpop.com/
编辑:嗯。我刚刚注意到您所描述的“嵌入式”似乎不是向应用程序添加自动化语言,而是将应用程序压缩到嵌入式平台中。正如其他人所建议的那样,除非您真的需要它,否则请跳过可嵌入语言并用 C 编写您的应用程序。除了您实际使用的内容之外,几乎没有运行时开销。
没有特别的顺序,Lua、JavaScript 和 TCL 都非常适合嵌入。Lua 对我来说是最容易嵌入的。Javascript可能是最快的。这三个对不受信任的代码都有很好的处理,但 TCL 的最健壮,例如,不受信任的代码可以运行不受信任的代码(如果它受信任的话)。
除非您有支持各种替代语言的 RTOS,否则 C 或 C++(取决于您的编译器链)是可行的方法。
您的决定很可能取决于此处理器可用的工具。
C 是迄今为止嵌入式处理器支持最多的语言,所以你不会错太多,如果你将来必须为其他芯片编写软件,这将是一个很好的体验。
C++ 在嵌入式系统中变得越来越流行。除此之外,它还取决于您的优先事项(上市时间、资源使用、速度)以及您使用的工具的质量。
C 最好的