发布 Snek 1.6,一种用于嵌入式系统的类 Python 编程语言

Keith Packard 是一位活跃的 Debian 开发人员、X.Org 项目的领导者以及许多 X 扩展(包括 XRender、XComposite 和 XRandR)的创建者,他发布了 Snek 1.6 编程语言的新版本,号称是 Python 的简化版本适合在没有足够资源使用 MicroPython 和 CircuitPython 的嵌入式系统上使用的语言。 Snek 并不声称完全支持 Python,但可以在 RAM 低至 2KB、Flash 32KB 和 EEPROM 1KB 的芯片上使用。 项目代码根据 GPLv3 许可证分发。 为 Linux、Windows 和 macOS 准备的构建。

Snek 语言使用 Python 的语义和语法,但仅支持有限的功能子集。 开发目标之一是保持向后兼容性 - Snek 程序可以使用成熟的 Python 3 实现来运行。Snek 已移植到各种嵌入式设备,包括 Arduino 板、Feather/Metro M0 Express、Adafruit Crickit、Adafruit ItsyBitsy、Lego EV3 和 µduino 提供对 GPIO 和各种外设的访问。

与此同时,该项目还在开发自己的开源 Snekboard 微控制器(ARM Cortex M0,具有 256KB 闪存和 32KB RAM),设计用于与 Snek 或 CircuitPython 一起使用,旨在使用乐高部件教学和构建机器人。 Snekboard 的创建资金是通过众筹筹集的。

要在 Snek 上开发应用程序,可以使用 Mu 代码编辑器(支持补丁)或 Snekde 自己的控制台集成开发环境,该环境使用 Curses 库编写,并提供用于编辑代码并通过 USB 端口与设备交互的界面(您可以立即将程序保存到eeprom设备并从设备下载代码)。

在新版本中:

  • 添加了对基于 ENQ/ACK 的显式同步的支持,允许应用程序发送大量数据,而无需操作系统端支持流控制,包括将大量设备连接到不提供流控制的 USB 或串口时流量控制。
  • 显着改进了乐高 EV3 板的端口,为其他设备提供了支持。
  • 添加了基于 ATmega1284 SoC 的窄 1284 板的端口。
  • 添加了基于 ATmega328p 的 Seeed Grove 初学者套件的端口。
  • 添加了基于通过 USB-C 连接的 SAMD21 的 Seeeduino XIAO 板的端口。
  • 添加了 Arduino Nano 端口 每个基于 ATmega4809 的板配备 6K RAM。

添加评论