前言 之前我们体验了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开发我们还可以使用脚本进行开发了。
|