前言 之前我们体验了c开发,但是很多时候我们希望进行轻量级开发,使用脚本语言开发更合适。
很多平台一般都集成了Python脚本语言,本该发板默认的镜像并没有集成Python,所以考虑移植脚本开发环境到开发板, 方便后面的开发测试。
除了比较热门的Python,实际上还有一门优秀的脚本语言,LUA也适合移植到嵌入式平台中使用。鉴于Python的内容网上已经够多了,所以这里不再移植Python,而是LUA。
参考http://www.lua.org/
过程
准备从http://www.lua.org/ftp/下载最新版本
解压,路径为d:/lua-5.4.4。 将src下的luac.c移动到外面,不需要编译。
编译WSL中cd /mnt/d/lua-5.4./src 4进入工作目录
aarch64-linux-gnu-gcc *.c -o lua -lm -O3
运行(GLIBC版本问题)通过串口rz将可执行文件lua下载到开发板
添加可执行权限
chmod +x lua
./lua
如果提示如下
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开发我们还可以使用脚本进行开发了。