lua 是十分小巧精簡的,編譯安裝也是很簡單。
先來看下在 x86 ubuntu 上的編譯安裝:
curl -r -o
sudo apt-get install libreadline-dev
tar xf lua-5.3.5.tar.gz && cd lua-5.3.5
make linux test
sudo make install
整個過程大約不到 2 分鐘就完成了。
然後我們基於廣州創龍的 tl138-evm 開發板說明移植過程,也是相當簡單的。
curl -r -o
tar xf lua-5.3.5.tar.gz && cd lua-5.3.5
2、在 src/luaconf.h 去掉 readline 依賴。開啟檔案找到以下位置並注釋對應行。
#if defined(lua_use_linux)
#define lua_use_posix
#define lua_use_dlopen /* needs an extra library: -ldl */
//#define lua_use_readline /* needs some extra libraries */
#endif
3、開啟 src/makefile 配置交叉編譯環境。更新以下 cc、libs、ar、ranlib 變數以及 linux 規則。
#cc= gcc -std=gnu99
cc= arm-arago-linux-gnueabi-gcc -std=gnu99
cflags= -o2 -wall -wextra -dlua_compat_5_2 $(syscflags) $(mycflags)
ldflags= $(sysldflags) $(myldflags)
#libs= -lm $(syslibs) $(mylibs)
libs= -lm $(syslibs) $(mylibs) -static
#ar= ar rcu
#ranlib= ranlib
ar= arm-arago-linux-gnueabi-ar rcu
ranlib= arm-arago-linux-gnueabi-ranlib
linux:
$(make) $(all) syscflags="-dlua_use_linux" syslibs="-wl,-e -ldl"
#$(make) $(all) syscflags="-dlua_use_linux" syslibs="-wl,-e -ldl -lreadline"
4、source omapl138 的 mcsdk 開發環境並執行編譯。
source /home/jack/omapl138/ti/mcsdk_1_01_00_02/linux-devkit/environment-setup
make linux
5、strip 生成的 lua 虛擬機器並放到開發板上使用。
arm-arago-linux-gnueabi-strip src/lua
這個操作可以把 lua 檔案從 45+mb 降到 1mb 。
建立乙個內容為 print(「hello world!」) 的 hello.lua 檔案,執行以下命令即可看到執行效果。
./lua hello.lua
至此,移植完成!
參考:2019-4-16 - 廖傑良
ubuntu移植到嵌入式平台
ubuntu乙個以桌面應用為主的開源gnu linux作業系統。ubuntu 用在pc的intel框架,我們比較熟悉,ubuntu 在arm平台下執行,可能比較陌生。以下我們介紹ubuntu 14.04 到dlt rk3288 arm平台上。使用到的硬體平台 dlt rk3288 補充說明 雖然dl...
嵌入式平台移植 libiconv 庫
解壓 tar xvzf libiconv 1.10.tar.gz 編譯前配置 configure prefix root libiconv 1.10 cc arm linux gnueabihf gcc host arm linux enable shared enable static 注 pre...
libcurl移植到嵌入式ARM
curl 庫的主要功能是用不同的協議連線不同的伺服器,也就是相當封裝了的 socket 的協議庫,libcurl 當前支援 等常用協議,libcurl 也支援https 證書授權,是網路程式開發的一把利器。unzip curl curl 7 50 0.zip 也可以把目錄名字修改為libcurl m...