發布 Snek 1.6,一種用於嵌入式系統的類 Python 編程語言

Keith Packard 是一位活躍的Debian 開發人員、X.Org 專案的領導者以及包括XRender、XComposite 和XRandR 在內的許多X 擴展的創建者,他發布了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(帶有0KB快閃記憶體和256KB RAM的ARM Cortex M32),設計用於與Snek或CircuitPython一起使用,旨在使用樂高零件來教學和創建機器人。 Snekboard 的創建資金是透過群眾募資籌集的。

要在Snek 上開發應用程序,您可以使用Mu 程式碼編輯器(支援補丁)或您自己的控制台整合開發環境Snekde,它是使用Curses 庫編寫的,並提供用於編輯程式碼並透過USB 連接埠與設備互動的介面(您可以立即將程式儲存在eeprom裝置中並從裝置下載程式碼)。

在新版本中:

  • 增加了對基於 ENQ/ACK 的明確同步的支持,允許應用程式發送大量數據,而無需作業系統端支援流控制,包括將大量設備連接到不提供流控制的 USB 或串行端口時流量控制。
  • 樂高 EV3 板的連接埠得到了顯著改進,為其他設備提供了支援等級。
  • 新增了基於 ATmega1284 SoC 的窄 1284 板的連接埠。
  • 新增了基於 ATmega328p 的 Seeed Grove 初學者套件的連接埠。
  • 為基於 SAMD21 的 Seeeduino XIAO 板添加了透過 USB-C 連接的連接埠。
  • 新增了 Arduino Nano 連接埠 每個基於 ATmega4809 的板,配備 6 KB RAM。

添加評論