Mizar32/软件
外观
< Mizar32
两段软件被工厂编程到 Mizar32 的闪存中
- 微小的(8KB)USB DFU 引导程序
- The Alcor6L 系统
当 Mizar32 通电或按下其重置按钮时,DFU 引导程序是它运行的第一个程序。它检查用户按钮是否被按下,如果是,它允许您从您的 PC 更新其余的固件。
如果不是,它运行
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 中执行它(速度会有所下降)。
- PicoLisp 文档.
- Lua 5.1 参考手册.
- 有一个 免费的在线书籍教授 Lua 5.0,它有 Lua 5.1 的第二版纸质书。
- 在 snippets.luacode.org 上可以找到实现一些常见效果的 Lua 代码片段,以及更多资源可在 lua-users.org 上找到。
- 要编写最快的 Lua 代码,请参考 速度优化技巧的维基页面。