STM32FXX之Lua解释器移植 您所在的位置:网站首页 lua在线解释器 STM32FXX之Lua解释器移植

STM32FXX之Lua解释器移植

2024-07-01 04:35| 来源: 网络整理| 查看: 265

将Lua解释器移植到STM32

最近在一个在做一个PLC项目,对于PLC需要根据不同场景实现不同的功能,因此为了保持系统的稳定性决定做一个脚本配置的方案。开始的时候自己写了一个脚本解析程序,系统运行不错,就是脚本有点长,易读性比较差,今天突然想到Lua,决定把Lua移植到STM32上去,网上查了一下相关资料,说实话,关于STM32Lua的工程应用还是比较少的,决定自己移植一下前期准备Lua源码包:目前最新版本是5.3.4 ,下载链接:http://www.lua.org/ftp/lua-5.3.4.tar.gzStm32f103工程模板:我已经做好的工程模板,主要有一个LED驱动,串口驱动下载连接:

开始移植我用的KEIL 5.17,板子用的STM32f103板子

1.Lua源码解压会得到一个src文件夹,把src下的源码添加到STM32的工程里,设置好包含路径,注意lua.c 和 luac.c 这两个文件是不包含的(它们包含PC上Lua解释器和编译器的main函数),将这两个文件删除。

2.Lua硬件要求l RAM >= 7.5Kb,建议16KB以上l ROM >= 65kb,建议128kb以上改动堆栈大小:堆最小为5.5kb,栈最小是1.5kb。在启动文件里把堆(Heap_Size)设置的足够大,我设置的0x00008000(32KB)是没问题的,其实要不了这么多。建议把栈设置的大一点(1KB足够)

把MicroLib的勾打上了,如下图:

然后我写了一个简单的函数来实现解释器:

12345678910111213141516/* 测试的Lua代码字符串 */const char lua_test[] = { "print(\"Hello,I am lua!\\n--this is newline printf\")\n" "function foo()\n" " local i = 0\n" " local sum = 1\n" " while i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有