在收到新的開(kāi)發(fā)板并準(zhǔn)備開(kāi)始我們的開(kāi)發(fā)之旅之前,我們還需要進(jìn)行一些必要的準(zhǔn)備工作,這些準(zhǔn)備工作包括開(kāi)發(fā)環(huán)境搭建、內(nèi)核編譯、kernel配置等,以確保我們的開(kāi)發(fā)板能夠正常運(yùn)行并為我們提供所需的功能。
接下來(lái),我們將以飛凌OK113i-C開(kāi)發(fā)板為例,詳細(xì)介紹開(kāi)發(fā)板試用的初體驗(yàn),通過(guò)這些步驟幫助你順利地開(kāi)始你的開(kāi)發(fā)板試用之旅。
環(huán)境搭建
板子做工精致很有份量,拿在手里沉甸甸的,各種接口一應(yīng)俱全——USB、TF 卡座、SIM卡座、4G模塊卡座、網(wǎng)口、RGB LCD接口、LVDS、RS485、CAN、各種音頻口、TV-in/TV-Out,板上還自帶一個(gè)RTL8723du wifi/藍(lán)牙二合一模塊,作為一塊主打工業(yè)控制的主控板這些接口實(shí)屬綽綽有余了。
飛凌開(kāi)發(fā)文檔中提到已經(jīng)移植好了Qt5開(kāi)發(fā)環(huán)境,所以這個(gè)內(nèi)存跑跑Qt的UI程序是再合適不過(guò)了,可惜手里沒(méi)有匹配的開(kāi)箱即用的LCD顯示屏不然接上直接能試試出廠自帶的Qt測(cè)試程序了。
提供的開(kāi)發(fā)資料中已經(jīng)包含有Ubuntu 20.04 的虛擬機(jī)文件,因?yàn)槭侵苯佑玫?a href="http://www.ttokpm.com/v/tag/538/" target="_blank">Linux版本系統(tǒng),所以需要自己搭建開(kāi)發(fā)環(huán)境,以下所涉內(nèi)容都是在裝有Ubuntu 20.04的PC上進(jìn)行操作,而且,因?yàn)橐郧霸诎惭b過(guò)T113-S3的開(kāi)發(fā)環(huán)境,所以在編譯SDK過(guò)程中并沒(méi)有碰到其他因缺少依賴(lài)軟件報(bào)的錯(cuò)誤。
解壓SDK
cat OK113i-linux-sdk.tar.bz2* | tar jx -C ~/Dev/sdk/T113-i/
除了 gcc,ncurse,bison,autoconf,wget,patch,texinfo,zlib,dos2unix 之外需要安裝如下:
sudo apt-get install git sudo apt-get install gnupg sudo apt-get install flex sudo apt-get install bison sudo apt-get install gperf sudo apt-get install build-essential sudo apt-get install zip sudo apt-get install curl sudo apt-get install libc6-dev ......
初次編譯內(nèi)核會(huì)遇到python 報(bào)系統(tǒng)庫(kù)語(yǔ)法錯(cuò)誤,根據(jù)經(jīng)驗(yàn)是系統(tǒng)python版本問(wèn)題,首先查看系統(tǒng)中python版本號(hào)
python --version Python 3.8.10
不出意外的話編譯系統(tǒng)依賴(lài)python 2.7,所以切換到python 2.7版本,具體操作如下:
首先,查看系統(tǒng)有幾個(gè)python版本
update-alternatives --list python /usr/bin/python2 /usr/bin/python3
然后,通過(guò)如下切換到想要的版本
update-alternatives --config python There are 2 choices for the alternative python (providing /usr/bin/python). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/bin/python3 2 auto mode 1 /usr/bin/python2 1 manual mode 2 /usr/bin/python3 2 manual mode Pressto keep the current choice[*], or type selection number: 1
切換后,再確認(rèn)python版本后進(jìn)行內(nèi)核編譯。
內(nèi)核編譯完后OK113i-linux-sdk/out目錄需要注意,這個(gè)是所有的編譯輸出目錄,后面buildroot編譯完也是在這個(gè)目錄編譯輸出的。此目錄中如下幾個(gè)目錄需要特別記?。?/p>
編譯內(nèi)核的交叉編譯工具鏈
OK113i-linux-sdk/out/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi
buildroot的交叉編譯工具鏈
printf("hello world!");OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/bin/中 arm-linux-gnueabi-g++
內(nèi)核編譯輸出目錄
OK113i-linux-sdk/out/kernel
Buildroot編譯
默認(rèn)全部編譯運(yùn)行build.sh,會(huì)有如下打印有用信息,此處記錄下編譯Qt測(cè)試程序時(shí)候的打印:
... /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/bin/arm-linux-gnueabi-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot -O2 -O3 -Wall -W -D_REENTRANT -fPIC -DQT_NO_UITOOLS -DQT_NO_DEBUG -DQT_WEBKITWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5 -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtWebKitWidgets -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtPrintSupport -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtWidgets -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtWebKit -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtGui -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtNetwork -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include/qt5/QtCore -I. -I. -I/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/mkspecs/devices/linux-buildroot-g++ -o settings.o settings.cpp /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/bin/qmake -o Makefile /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/platform/framework/auto/qt_demo/terminal/terminal.pro ) && make -f Makefile build emmc rootfs PARTITION_FEX=/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/device/config/chips/t113_i/configs/ok113i/longan/sys_partition.fex ROOTFS_FEX_LINE=64 ROOTFS_FEX_STR= size = 2097152 ROOTFS_FEX_SIZE= 2097152 EXT4_SIZE=1073741824(1073741824/1024/1024) /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/device/config/chips/t113_i/configs/ok113i/longan/sys_partition.fex rootfs.fex size is 2097152 EXT4_SIZE= 2097152*512=1073741824 Creating filesystem with parameters: Size: 1073741824 Block size: 4096 Blocks per group: 32768 Inodes per group: 8192 Inode size: 256 Journal blocks: 4096 Label: Blocks: 262144 Block groups: 8 Reserved blocks: 0 Reserved block group size: 63 Created filesystem with 8976/65536 inodes and 94920/262144 blocks /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/build/bin/make_ext4fs -s -l 1073741824 /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/rootfs.ext4 /home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/target
可以知道:
移植好的qmake所在路徑:
OK113i-linux-sdk/out/t113_i/ok113i/longan/buildroot/host/bin/qmake
Qt示例工程源代碼目錄在:
/home/luoyang/Dev/sdk/T113-i/OK113i-linux-sdk/platform/framework/auto/qt_demo
編譯好的驅(qū)動(dòng)模塊都在:
OK113i-linux-sdk/out/t113_i/ok113i/longan/dist
最后總結(jié)
板子出廠的rootfs中包含的基礎(chǔ)軟件是真的很全面,基本可以做到開(kāi)箱即用了,wifi驅(qū)動(dòng)也已經(jīng)適配了,wpa_supplicant、bluealsa、bluez、alsa、tinyalsa等工具軟件也已經(jīng)包含。因?yàn)槟壳笆诸^沒(méi)有能直接可用的顯示屏,所以HMI顯示和視頻解碼等高級(jí)功能沒(méi)法體驗(yàn)。不過(guò)對(duì)于喜歡折騰的先適配一塊觸摸顯示屏還是很有必要的,這樣可玩性更高。
審核編輯:湯梓紅
-
內(nèi)核
+關(guān)注
關(guān)注
3文章
1336瀏覽量
40082 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
4768瀏覽量
96150 -
開(kāi)發(fā)環(huán)境
+關(guān)注
關(guān)注
1文章
215瀏覽量
16519 -
飛凌
+關(guān)注
關(guān)注
0文章
132瀏覽量
16043
原文標(biāo)題:【T113-i開(kāi)發(fā)板試用】飛凌OK113i-C開(kāi)發(fā)板初體驗(yàn)
文章出處:【微信號(hào):gh_79acfa3aa3e3,微信公眾號(hào):全志在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論