单片机/MCUwilliam hill官网
直播中

jf_1137202360

8年用户 1379经验值
擅长:嵌入式技术
私信 关注
[文章]

【HD-G2UL-EVM开发板体验】LUA脚本语言移植-使用LUA脚本控制蜂鸣器

前言
  之前我们体验了c开发,但是很多时候我们希望进行轻量级开发,使用脚本语言开发更合适。
很多平台一般都集成了Python脚本语言,本该发板默认的镜像并没有集成Python,所以考虑移植脚本开发环境到开发板,
方便后面的开发测试。
  除了比较热门的Python实际上还有一门优秀的脚本语言,LUA也适合移植到嵌入式平台中使用。鉴于Python的内容网上已经够多了,所以这里不再移植Python,而是LUA
参考http://www.lua.org/
过程

准备
http://www.lua.org/ftp/下载最新版本
图片1.png
解压,路径为d:/lua-5.4.4 src下的luac.c移动到外面,不需要编译。
图片2.png
编译
WSLcd /mnt/d/lua-5.4./src 4进入工作目录
aarch64-linux-gnu-gcc *.c -o lua -lm -O3

运行(GLIBC版本问题)
通过串口rz将可执行文件lua下载到开发板
添加可执行权限
chmod +x lua
./lua
图片3.png

如果提示如下
root@g2uliot:~# ./lua
./lua: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./lua)
这是因为glibc版本不匹配,编译器的glibc版本高于开发板中glibc的版本。
可以使用ubuntu18,查看版本为2.27
lhj@lhj:~$ ldd --version
ldd (Ubuntu GLIBC 2.27-3ubuntu1.5) 2.27
对应的gcc版本是gcc-7-aarch64-linux-gnu-

开发板上版本是
root@g2uliot:~# strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_PRIVATE

使用LUA脚本控制蜂鸣器
编译脚本
vi beep.lua
输入如下内容保存
引用: os.execute("echo 363 > /sys/class/gpio/export")

os.execute("echo out > /sys/class/gpio/P0_23/direction")

for i=1,10,1 do

    os.execute("echo 1 > /sys/class/gpio/P0_3/value")

    os.execute("sleep 1")

    os.execute("echo 0 > /sys/class/gpio/P0_3/value")

    os.execute("sleep 1")

end

执行
./lua beep.lua
可以听到beep响一秒停一秒。

总结
   以上移植了LUA到开发板上,并测试了使用lua脚本控制蜂鸣器。
这样除了常规的C开发我们还可以使用脚本进行开发了。

更多回帖

发帖
×
20
完善资料,
赚取积分