我将 Lua 嵌入到具有 16Mhz 32 位 ARM7TDMI 处理器和 256Kb RAM(是的,这是 GBA)的无 eabi 设备的程序中。目前它工作完美(感谢 StackOveflow 用户回答我的问题),完成简单的任务,但我可以做哪些优化来提高整体效率?以下是我的一些想法:
目前我将我的 Lua 代码存储为常量字符数组(有高达 32Mb 的单独 ROM,因此有助于释放 RAM)。当我想运行它时,我只需将此字符串推送到 Lua 堆栈并“pcall”它。但据我所知,Lua 将该代码构建为 RAM 中的字节码。我认为大 Lua 文件也可能存在一些问题。有什么方法可以预编译该字节码并将其保存到常量容器中吗?
哪个 asm 命令集更适合运行 Lua - THUMB 或 ARM?
编辑:也许,将原版 Lua 更改为 LuaJIT?据我所知,LuaJIT 有许多汇编代码行(这使得它的可移植性降低),有机会成功构建旧的 ARM7 处理器吗?