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