SBC-T113產品特性:
? 采用Allwinner公司Cortex-A7雙核T113-i處理器,運行最高速度為1.2GHZ;
? 內置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默認;512MB可選);可選EMMC啟動和存儲( 4G默認;8GB可選);
? 支持4路USB2.0 HOST和1路OTG,1路I2C,6路UART(RS232), 1路PWM(應用于背光)
? 支持雙路CAN BUS通信
? 支持雙路以太網,一路10/100M;一路10/100/1000M;
? 標準3.5寸主板, 尺寸為:146*102MM
SBC-T113功能評估圖:
配置內核代碼及保存當前內核配置為默認配置:
執行./build.shconfig命令配置SDK后,編譯內核生成的相關配置文件會存放在SDK目錄下"out/kernel/build/"目錄,這里含.config內核配置文件,此時才能配置內核選項。如需定制內核,可以在"out/kernel/build/"目錄下執行"make ARCH=armmenuconfig"命令或在SDK目錄下執行./build.shmenuconfig打開圖形配置界面進行內核的配置。這些命令通過讀取當前目錄的.config文件,以圖形界面的方式提供內核編譯配置查看和修改。如無需修改內核編譯選項配置,可跳過此步驟。
menuconfig是一套圖形化的配置工具,需要ncurses庫支持。ncurses庫提供了一系列的API函數供調用者生成基于文本的圖形界面,因此需要先執行如下命令通過網絡安裝ncurses庫,如果執行
Host$sudo apt-get installlibncurses5-dev
Host$sudo apt-get installlibncursesw5-dev
ncurses庫安裝完成后,執行如下命令打開圖形配置界面。
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
可通過鍵盤的方向鍵選中對應菜單欄。在<Select>被選中的情況下,可按Enter鍵進入子菜單。菜單選項中藍色高亮的字母代表此菜單選項的快捷鍵,可在鍵盤上按下對應的字母快速選中對應的菜單選項。
每個菜單選項前的括號內容表示當前菜單選項的配置狀態。選中對應的菜單選項后,按下Y鍵,會將相應的選項配置編譯到內核中,同時菜單選項前面變為<*>。按下N鍵,不會將相應的選項配置編譯到內核中。按下M鍵,會將相應的選項配置編譯為內核模塊,菜單選項前面變為<M>。如需搜索,可按下/鍵打開搜索框,然后輸入要搜索的內容。
配置完成后,如何把這個配置保存下來后續再使用呢?內核默認的配置文件都來自于SDK/kernel/linux-5.4/arch/arm/configs目錄,對于NAND啟動的產品來說,內核的配置文件是sun8iw20p1smp_auto_nand_defconfig。可以通過如下兩條指令把當前使用的配置文件保存下來。指令如下(以下指令任選其一):
(1)在SDK目錄下執行如下指令:
Host$./build.sh saveconfig
(2)在SDK目錄下"out/kernel/build/"執行如下指令
Host$ make ARCH=arm savedefconfig
內核代碼及設備樹的編譯:
在T113-i_v1.0目錄下執行如下命令,單獨編譯Linux內核。
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內核鏡像文件為"out/t113_i/sbc-t113_nand/longan/boot.img "。
通常來說,編譯了內核,設備樹也會一并進行編譯。為了快速適配不同的板卡,有些時候也會單獨編譯dts,根據顯示設備的不同,我司已提供分別支持HDMI OUT、TFT LCD、MIPI LCD、LVDS
LCD、CVBS顯示的設備樹文件,如下表所示。其中“device/config/chips/t113_i/configs/sbc-t113_nand/linux-5.4/”目錄下存放Linux設備樹源文件,“device/config/chips/t113_i/configs/sbc-t113_nand/”目錄下存放U-Boot設備樹源文件(uboot-board-xxx.dts)。
對于EMMC啟動的產品,設備樹保存的目錄分別是:“device/config/chips/t113_i/configs/sbc-t113_emmc/linux-5.4/”目錄下存放Linux設備樹源文件,“device/config/chips/t113_i/configs/sbc-t113_emmc/”目錄下存放U-Boot設備樹源文件(uboot-board-xxx.dts)。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 表 8 設備樹文件
步驟如下:
在T113-i_v1.0目錄(SDK所在目錄)下執行如下命令,單獨編譯dts。
Host$??./build.sh dts
在T113-i_v1.0目錄(SDK所在目錄)執行如下命令,將鏡像文件轉化為.fex格式,并打包生成新的Linux系統鏡像。
Host$ ??./build.shpack