• 招生咨询热线:4008-569-579 
  • 手机版
    用手机扫描二维码直达商品手机版
招生咨询热线
4008-569-579
机构主页 > 培训资料 > 嵌入式开发:在微控制器平台等小型物联网设备上运行 JavaScript
机构主页 > 培训资料>嵌入式开发:在微控制器平台等小型物联网设备上运行 JavaScript

嵌入式开发:在微控制器平台等小型物联网设备上运行 JavaScript

来源:广州达内教育        时间:2023-05-30        热度:129℃        返回列表

  当谈到嵌入式开发时,您通常首先查看您在硬件级别尝试做什么。例如,如果您需要读取某种传感器并将公式应用于其值,以便您可以在某处显示结果,您可以查看哪些微控制器带有模数转换器

(ADC),并且还可以驱动一个显示器。适合您目的的微控制器越小,它就越便宜。当然,微控制器越小,在可编程性方面就越有限。因此,对于非常小的设备,您可能需要求助于汇编编程,如果您以后决定切换平台,这可能会损害可移植性。一般来说,您应该选择适合您目的的小型但不是最小的平台。您应该考虑未来扩展或增加要求的可能性,因此在硬件级别留出一些空间通常是个好主意。


  当您的用例允许使用更大的微控制器时,通常是编程语言 C。通过使用 C

而不是汇编,您可以获得两个关键要素:可移植性和易用性(包括可读性和可维护性)。 C

被设计为“便携式程序集”,因此它几乎是所有小型微控制器(极小的微控制器除外)的理想语言。随着您在规模和功能的阶梯上攀升,有更多的选项:C++、操作系统(FreeRTOS、NuttX

等),甚至是以太网和 WiFi 等高级连接。除了这些选项,更多的编程语言开始变得可用。某些语言由于其语义,无法提前编译为机器代码。这些语言中有

Javascript。所以我们需要问自己的第一件事是“Javascript

引擎能否在我们平台的约束下运行?”正如我们将在下面看到的,答案是肯定的。


  与汇编、C 或 C++ 相比,高级语言的最大好处在于它们的安全性。一个不匹配的错误通常会导致 macOS

计算机出现分段错误,但在微控制器中,进行嵌入式开发时,它可能会导致系统级崩溃或死机。调试也受到更多限制,因此任何有助于编写安全代码的东西都会有所帮助,从这个意义上说,高级语言非常有用。




  另一个好处与代码在微控制器中的运行方式有关。通常,微控制器从 ROM 中读取机器代码。

ROM通常是通过特殊的程序编写的,因此更改它并不方便。这限制了进行代码更新或在程序版本之间轻松迭代的选项。解释器可以从 RAM 或 ROM

中读取其程序,从而可以在不刷新的情况下进行代码更新。当然,这有其自身的权衡:重新启动后 RAM 会被擦除,因此每次都需要重新加载程序。 RAM

也非常有限,因此程序必须很小。高级语言的表达性在这方面有很大帮助:只需很少的代码行,就可以表达复杂的行为和逻辑。


  这些好处适用于大多数高级、解释或 JITted 语言,但 Javascript

带来了一些自身的好处。对于初学者来说,Javascript 拥有一个拥有大量库的庞大社区。这些库中的大多数不能在微控制器上运行,因为它们需要系统级支持(来自

Node.js 或浏览器),但其中一些可以,这非常有用。由于语法相似,C 和 C++ 程序员很容易掌握 Javascript,因此习惯于嵌入式开发人员在阅读

Javascript 代码库时不会遇到什么麻烦。此外,如果您还记得介绍,我们提到 Javascript

旨在为常见的自动化任务和快速迭代编写小脚本。微控制器通常用于同一场景!与硬件设备交互的小块逻辑,用于自动化或报告任务。


  因此,总而言之,以下是考虑将 Javascript 或其他流行的解释语言用于微控制器编程的原因:


  更高级别的附加安全性:没有一次次碰撞; 更好地处理错误、复杂数据类型和类型转换; 更具表现力。


  快速迭代:可以从RAM加载脚本,每次测试都不需要刷机。 远程更新是可能的。


  巨大的社区和大量的库(其中大部分需要一些调整才能在嵌入式开发平台上运行):捆绑器和压缩器可用于确保尽可能小的代码;为

C、C++(和 Java)开发人员提供熟悉的语法。

电话咨询

电话咨询

咨询电话:
4008-569-579
回到顶部

回到顶部