使用 MCU 进行功能编程

电器工程 微控制器 编程
2022-01-22 15:29:09

Haskell、LISP 或 Scheme 等函数式语言允许程序员使用函数式编程范式快速工作。他们确实有效率低下,但我的应用程序更强调程序员的效率而不是程序本身的效率。

我想在微控制器上使用函数式编程来进行机器控制等。

有哪些限制,例如最低系统资源?
这些语言的哪些示例实现可用?

4个回答

ARMPIT SCHEME 是一个在带有 ARM 内核的 RISC 微控制器上运行的 Scheme 语言(Lisp 的词法范围方言)的解释器。它基于算法语言方案修订报告 (r5rs) 中的描述,有一些扩展(用于 I/O)和一些省略(以适应 MCU 内存)。它被进一步设计为支持多任务和多处理。腋窝方案预计将非常适合教育环境,包括控制和仪器课程的学生项目,或需要微控制器的顶点设计课程。它旨在丰富 MCU 可用的解释语言范围(例如 BASIC 和 FORTH),并且可以替代基于 MCU 的字节码解释器(例如,用于 Scheme 或 Java)和编译语言(例如 C)。

http://armpit.sourceforge.net/

你说:

与 Haskell、LISP 或 Scheme 等语言相比,使用 C、C++、汇编等效率非常低

使用高级语言可以更有效地利用程序员的时间,但通常会降低对计算资源的利用效率。对于批量生产的嵌入式系统,成本和性能通常比开发工作更重要。

您还可以使用 Atom/Copilot 使用 Haskell 对 AVR 控制器进行编程,例如http://leepike.wordpress.com/2010/12/18/haskell-and-hardware-for-the-holidays/

C、C++ 和汇编都非常接近机器语言。通过使用更高级别的语言,您正在增加额外的开销以换取更快速/更轻松/等的开发。

我最近一直在用 Python 编写一个 ARM 板,我认为它很棒。这对实时控制没有好处,但我正在做更多与网络相关的事情,这在高级语言中比在 C 中更令人愉快