打印
[STM32H7]

NUCLEO-STM32H7A3测评之移植Lua脚本

[复制链接]
3589|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 纪国圣 于 2021-1-17 13:37 编辑

Lua是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
以上就是摘自百度百科关于Lua的简介。Lua小巧易用,只需编写脚本就可运行,十分适合对运行速度要求不高,但又有功能扩展要求的场景。本文就是介绍将lua-5.4.1移植到STM32H7A3。
1.登陆Lua官网,下载5.4.1版本的源码:

lua-5.4.1.tar.gz (345.67 KB)
2.解压,将src文件夹复制到STM32工程中,重命名为lua:

3.将lua源码加入工程中,排除lua.c和luac.c:

4.添加lua头文件路径:

5.新建lua_sys.c,将如下内容添加到lua_sys.c:



6.将如下内容添加到main.c中:



这里简单说一下LUA_SCRIPT_GLOBAL就是Lua脚本,意思是LD1每500ms闪烁,共运行10次。
编译下载,LD1每500ms闪烁,共运行10次,之后LD3每1000ms闪烁,并打印This is sram。
Lua.zip (1.09 MB)

使用特权

评论回复
沙发
guijial511| | 2021-1-17 15:14 | 只看该作者
不错,下载看看,感谢楼主分享。

使用特权

评论回复
板凳
wiba| | 2021-2-4 22:54 | 只看该作者
第一次了解这个脚本语言

使用特权

评论回复
地板
zljiu| | 2021-2-4 22:54 | 只看该作者
这是哪个厂家开发的脚本语言啊

使用特权

评论回复
5
coshi| | 2021-2-4 22:58 | 只看该作者
这种脚本语言主要用来编辑什么呢

使用特权

评论回复
6
aoyi| | 2021-2-4 23:01 | 只看该作者
这种语言有移植的说法吗

使用特权

评论回复
7
drer| | 2021-2-4 23:08 | 只看该作者
每种语言都有它的 用武之地

使用特权

评论回复
8
gygp| | 2021-2-9 21:47 | 只看该作者
STM32完美的处理字符串   

使用特权

评论回复
9
chenci2013| | 2021-2-9 21:47 | 只看该作者
Lua移植大约需要67K的rom?  

使用特权

评论回复
10
biechedan| | 2021-2-9 21:47 | 只看该作者
Lua在嵌入式系统上的实现  

使用特权

评论回复
11
wangdezhi| | 2021-2-9 21:48 | 只看该作者
谢谢楼主分享的资料了。   

使用特权

评论回复
12
isseed| | 2021-2-9 21:48 | 只看该作者
STM32内部有Lua脚本?   

使用特权

评论回复
13
xietingfeng| | 2021-2-9 21:48 | 只看该作者
移植lua到stm32-MDK

使用特权

评论回复
14
suzhanhua| | 2021-2-9 21:48 | 只看该作者
可否可以把lua移植到16位机甚至8位机

使用特权

评论回复
15
mituzu| | 2021-2-9 21:49 | 只看该作者
将lua移植到stm32f407  

使用特权

评论回复
16
hellosdc| | 2021-2-9 21:49 | 只看该作者
精简移植最纯洁版的lua框架  

使用特权

评论回复
17
uiint| | 2021-2-9 21:49 | 只看该作者
Lua脚本可以很容易的被C/C++代码调用

使用特权

评论回复
18
chenci2013| | 2021-2-9 21:50 | 只看该作者
可以动态加载您的应用程序  

使用特权

评论回复
19
gygp| | 2021-2-9 21:50 | 只看该作者
把Lua移植到STM32上去   

使用特权

评论回复
20
suzhanhua| | 2021-2-9 21:50 | 只看该作者
是否会提高开发效率。  

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

407

帖子

5

粉丝