跳转到内容

Mizar32/软件

来自维基教科书,开放的书籍,开放的世界

Mizar32 软件

[编辑 | 编辑源代码]

两段软件被工厂编程到 Mizar32 的闪存中

  • 微小的(8KB)USB DFU 引导程序
  • The Alcor6L 系统

DFU 引导程序

[编辑 | 编辑源代码]

当 Mizar32 通电或按下其重置按钮时,DFU 引导程序是它运行的第一个程序。它检查用户按钮是否被按下,如果是,它允许您从您的 PC 更新其余的固件。

如果不是,它运行

Alcor6L 系统

[编辑 | 编辑源代码]

Alcor6L 是一个软件系统,用于使用以下任何语言本地编程微控制器(交互式和增量式):

  • Lua(使用 eLua)
  • C(使用 PicoC)
  • LISP(使用 PicoLisp 和 TinyScheme)
  • BASIC(使用 MY-BASIC)

Mizar32 上的 Alcor6L 系统从 SD 卡或控制台读取上述任何语言的命令。

Alcor6L 是 eLua 项目 的分支。它实现

  • Lua 5.1,按照 Lua 5.1 参考手册
  • 整数变量和算术运算,而不是 Lua 通常使用的双精度浮点数
  • 在 Mizar32 上运行 Lua 编译器的代码
  • 支持
    • MMC/SD 卡上的 FAT 文件系统
    • RS232 串行端口或 USB 串行端口上的控制台
    • iv,一个 vi 克隆(在 Mizar32 上本地运行)用于编辑文本文件
  • 标准 Lua 模块:coroutine, io, package, string, table
  • 整数版本的 math 模块,包含:abs, ceil, floor, huge, max, min, pow, random, randomseed, sqrt
  • 硬件驱动模块:adc, i2c, pio, pwm, spi, tmr, uart
  • 扩展模块:bit, cpu, elua, pack, pd, term
  • TCP/IP 网络 uIP 模块:net
  • 用于 Mizar32 的扩展模块,用于驱动 LCD 字符显示实时时钟

如果您拥有 256KB 或 512KB 闪存的 Mizar32 A 或 B 型号,您可以更改固件以使用浮点数而不是整数变量。如果您拥有 128KB 闪存的 Mizar32 C 型号,并且您需要加载比适合的更大的 eLua 镜像,您仍然可以通过将镜像从 SD 卡加载到 SDRAM 并使用 emBLOD 第二阶段引导程序在 SDRAM 中执行它(速度会有所下降)。

进一步阅读

[编辑 | 编辑源代码]
华夏公益教科书