Ruff Lite 常见问题

什么是 Ruff Lite?

Ruff Lite 是 Ruff团队针对 MCU(MicroController Unit,微控制器)推出的Ruff OS 。

目前 Ruff Lite 支持哪些芯片和开发板?

目前官方支持两种芯片,一个为TM4C1294,一个为ESP32,他们的开发板型号及在Ruff Registry中的开发板型号详见下表

芯片开发板型号Ruff Registry 中的开发板型号
TM4C1294TM4C1294-LaunchPadtm4c1294-v1
ESP32Widora-AIR ESP32 Boardesp32-air-v40
ESP32ESP32-DevKitCesp32-core-v2

如何购买 Ruff Lite 支持的开发板?

Ruff 不提供任何购买渠道,用户可在淘宝等电商平台中搜索开发板型号自行购买。

目前 Ruff Lite 支持哪些外设?

可以在 Rap Registry 中搜索外设,而至于可以支持哪些外设,取决于该外设的所用的硬件接口,当前 Ruff Lite 支持以下硬件接口,你可以基于这些接口,为外设写硬件驱动。

TM4C1294 目前支持以上所有硬件接口,并且还会陆续支持其他接口(如 CAN 和 SPI 等),但 ESP32 目前只支持最基本的 GPIO 读写功能,GPIO 高级功能(如中断)和其他硬件接口正在开发过程中。

tm4c1294-v1 和 esp32-air-v40 的内嵌设备有哪些?

内嵌设备指不需要执行 rap device add 可直接使用的板载设备。

tm4c1294-v1 内嵌设备

  • led-1
  • led-2
  • button-1
  • button-2

tm4c1294-v1

esp32-air-v40 内嵌设备

  • led

esp-air-v40

Ruff Lite 是否支持 rap log 命令?

自从 Rap 1.9.0 版本,ESP32 实现了 rap log 功能(TM4C1294 还未支持),用法如下

rap log --port <port>

Ruff Lite 的 USB 线的作用?

USB线有如下三个作用:

  1. 刷写固件和应用,数据流向为开发机到开发板
  2. 输出打印信息,数据流向为开发板到开发板
  3. 给开发板供电

注意:在打印日志时,串口已经被占用,不能执行刷写固件或应用操作

关于字节码

MCU 设备上的硬件资源往往十分有限,例如 tm4c1294-v1 设备只有 256K 内存(SRAM)和 1M 外存(FLASH),将应用的源代码编译为字节码之后再部署到设备上,从而节省大量存储空间

Ruff提供了一个名为 ruff-compiler 的字节码编译器,使得用户可以在开发机上将应用的 Javascript 源代码编译为字节码,然后再部署到 MCU 设备上运行。若要启用该特性,用户需要通过npm安装ruff-compiler,命令如下:

npm install ruff-compiler -g

每次执行rap deploy命令部署应用时,rap 工具会自动检测系统中是否安装 ruff-compiler 工具,如果含有,则调用它编译字节码再部署,如果没有,则直接部署源代码。安装 ruff-compiler 之后如果想要部署源代码,可执行 rap deploy --source