SBC-T113產(chǎn)品特性:
? 采用Allwinner公司Cortex-A7雙核T113-i處理器鲁森,運行最高速度為1.2GHZ蛤育;
? 內(nèi)置64位玄鐵C906 RISC-V CPU和 DSP破镰,提供高效的計算能力;
? 支持1080P 視頻編碼放椰,多格式1080P 60fps視頻解碼 (H.265,H.264, MPEG-1/2/4)
? 支持LVDS/MIPI-DSI缔刹,分辨率最高1920x1080;
? 支持512-1G? Bytes DDR3 SDRAM杀迹;
? 支持SPI NAND啟動和存儲(256MB默認(rèn)梅誓;512MB可選);可選EMMC啟動和存儲( 4G默認(rèn)佛南;8GB可選)梗掰;
? 支持4路USB2.0 HOST和1路OTG,1路I2C嗅回,6路UART(RS232)及穗, 1路PWM(應(yīng)用于背光)
? 支持雙路CAN BUS通信
? 支持雙路以太網(wǎng),一路10/100M;一路10/100/1000M;
? 標(biāo)準(zhǔn)3.5寸主板, 尺寸為:146*102MM
SBC-T113功能評估圖:
配置內(nèi)核代碼及保存當(dāng)前內(nèi)核配置為默認(rèn)配置:
執(zhí)行./build.shconfig命令配置SDK后绵载,編譯內(nèi)核生成的相關(guān)配置文件會存放在SDK目錄下"out/kernel/build/"目錄埂陆,這里含.config內(nèi)核配置文件,此時才能配置內(nèi)核選項娃豹。如需定制內(nèi)核焚虱,可以在"out/kernel/build/"目錄下執(zhí)行"make ARCH=armmenuconfig"命令或在SDK目錄下執(zhí)行./build.shmenuconfig打開圖形配置界面進行內(nèi)核的配置。這些命令通過讀取當(dāng)前目錄的.config文件懂版,以圖形界面的方式提供內(nèi)核編譯配置查看和修改鹃栽。如無需修改內(nèi)核編譯選項配置,可跳過此步驟躯畴。
menuconfig是一套圖形化的配置工具民鼓,需要ncurses庫支持。ncurses庫提供了一系列的API函數(shù)供調(diào)用者生成基于文本的圖形界面蓬抄,因此需要先執(zhí)行如下命令通過網(wǎng)絡(luò)安裝ncurses庫丰嘉,如果執(zhí)行
Host$sudo apt-get installlibncurses5-dev
Host$sudo apt-get installlibncursesw5-dev
ncurses庫安裝完成后,執(zhí)行如下命令打開圖形配置界面嚷缭。
Host$??cd /home/embfly/T113/T113-i_v1.0/out/kernel/build/
Host$?? make ARCH=arm menuconfig
embfly@embfly-virtual-machine:~$cd /home/embfly/T113/T113-i_v1.0/out/ker
nel/build/
embfly@embfly-virtual-machine:~/T113/T113-i_v1.0/out/kernel/build$
make ARCH=arm menuconfig
可通過鍵盤的方向鍵選中對應(yīng)菜單欄饮亏。在<Select>被選中的情況下,可按Enter鍵進入子菜單阅爽。菜單選項中藍色高亮的字母代表此菜單選項的快捷鍵路幸,可在鍵盤上按下對應(yīng)的字母快速選中對應(yīng)的菜單選項。
每個菜單選項前的括號內(nèi)容表示當(dāng)前菜單選項的配置狀態(tài)优床。選中對應(yīng)的菜單選項后劝赔,按下Y鍵,會將相應(yīng)的選項配置編譯到內(nèi)核中胆敞,同時菜單選項前面變?yōu)?lt;*>着帽。按下N鍵,不會將相應(yīng)的選項配置編譯到內(nèi)核中移层。按下M鍵仍翰,會將相應(yīng)的選項配置編譯為內(nèi)核模塊,菜單選項前面變?yōu)?lt;M>观话。如需搜索予借,可按下/鍵打開搜索框,然后輸入要搜索的內(nèi)容频蛔。
配置完成后灵迫,如何把這個配置保存下來后續(xù)再使用呢?內(nèi)核默認(rèn)的配置文件都來自于SDK/kernel/linux-5.4/arch/arm/configs目錄晦溪,對于NAND啟動的產(chǎn)品來說瀑粥,內(nèi)核的配置文件是sun8iw20p1smp_auto_nand_defconfig∪玻可以通過如下兩條指令把當(dāng)前使用的配置文件保存下來狞换。指令如下(以下指令任選其一):
(1)在SDK目錄下執(zhí)行如下指令:
Host$./build.sh saveconfig
(2)在SDK目錄下"out/kernel/build/"執(zhí)行如下指令
Host$ make ARCH=arm savedefconfig
內(nèi)核代碼及設(shè)備樹的編譯:
在T113-i_v1.0目錄下執(zhí)行如下命令,單獨編譯Linux內(nèi)核舟肉。
Host$ ??./build.sh kernel
embfly@embfly-virtual-machine:~/T113/T113-i_v1.0$./build.sh kernel
ACTIONList:mkkernel;==
Executecommand: mkkernel
INFO:build kernel
INFO:prepare_buildserver
INFO:Prepare toolchain .
buildserverstart already!
toolchain_archivedir=/home/embfly/T113/T113-i_v1.0/build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz
(cd/home/embfly/T113/T113-t_v1.o/butld && [ -x mkkernel.sh ] &&./mkkernel.sh)
Buildingkernel
……
GPU]:Build done
-builddts for sun8iw20p1 sbc-t113_nand
/home/embfly/T113/T113-i_v1.0/out/kernel/build/arch/arm/boot/dts//board.dtb
'/home/embfly/T113/T113-i_v1.0/out/kernel/staging/sunxi.dtb
Copymodules to target
16149blocks
18550blocks
buildramfs
Copyboot.img to output directory
sun8iw20p1compile Kernel successful
INFO:Prepare toolchain
toolchatn_archivedtr=/home/embfly/T113/T113-i_v1.0/build/toolchain/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz
--builddts for sun8iw20p1 sbc-t113_nand
make[1]:Entering directory '/home/embfly/T113/T113-i_v1.0/out/kernel/build'
DTCarch/arm/boot/dts/board.dtb
make[1]:Leaving directory '/home/embfly/T113/T113-i_v1.0/out/kernel/build'
'/home/embfly/T113/T113-t_v1.0/out/kernel/build/arch/arm/boot/dts//board.dtb
>'/home/embfly/T113/T113-i_v1.0/out/kernel/staging/sunxt.dtb'
cp:cannot stat '/home/embfly/T113/T113-i_v1.0/kernel/linux-5.4/scripts/dtc/dtc
Nosuch file or directory
/home/embfly/T113/T113-i_v1.0/out/kernel/staging/sunxi.dtb''/home/embfly
/T113/T113-i_v1.0/out/t113_i/sbc-t113_nand/longan/sunxi.dtb
INFO:build kernel OK.
embfly@embfly-virtual-machine:~/T113/T113-i_v1.0$
編譯完成后修噪,生成Linux內(nèi)核鏡像文件為"out/t113_i/sbc-t113_nand/longan/boot.img "。
通常來說路媚,編譯了內(nèi)核黄琼,設(shè)備樹也會一并進行編譯。為了快速適配不同的板卡整慎,有些時候也會單獨編譯dts适荣,根據(jù)顯示設(shè)備的不同,我司已提供分別支持HDMI OUT院领、TFT LCD弛矛、MIPI LCD、LVDS
LCD比然、CVBS顯示的設(shè)備樹文件丈氓,如下表所示。其中“device/config/chips/t113_i/configs/sbc-t113_nand/linux-5.4/”目錄下存放Linux設(shè)備樹源文件强法,“device/config/chips/t113_i/configs/sbc-t113_nand/”目錄下存放U-Boot設(shè)備樹源文件(uboot-board-xxx.dts)万俗。
對于EMMC啟動的產(chǎn)品,設(shè)備樹保存的目錄分別是:“device/config/chips/t113_i/configs/sbc-t113_emmc/linux-5.4/”目錄下存放Linux設(shè)備樹源文件饮怯,“device/config/chips/t113_i/configs/sbc-t113_emmc/”目錄下存放U-Boot設(shè)備樹源文件(uboot-board-xxx.dts)闰歪。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表 8 設(shè)備樹文件
步驟如下:
在T113-i_v1.0目錄(SDK所在目錄)下執(zhí)行如下命令,單獨編譯dts蓖墅。
Host$??./build.sh dts
在T113-i_v1.0目錄(SDK所在目錄)執(zhí)行如下命令库倘,將鏡像文件轉(zhuǎn)化為.fex格式临扮,并打包生成新的Linux系統(tǒng)鏡像。
Host$ ??./build.shpack