某宝购得芒果后从芒果官方下载SDK包(https://mangopi.cc/t113dev),再下载《T113_Longan_Linux_SDK开发环境配置手册.pdf》(https://github.com/mangopi-sbc/aw-doc/tree/main/linux-doc)。
下载SDK包后解压缩SDK包 "tar -xvf t113.tar -C t113/"
根据SDK开发手册中搭建编译环境相关章节下载如下软件包
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
sudo apt-get install libncurses5-dev:i386
sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev:i386
sudo apt-get install libreadline6-dev:i386
sudo apt-get install libgl1-mesa-glx:i386
sudo apt-get install libgl1-mesa-dev
sudo apt-get install g++-multilib
sudo apt-get install mingw32
sudo apt-get install tofrodos
sudo apt-get install python-markdown
sudo apt-get install libxml2-utils
sudo apt-get install xsltproc
sudo apt-get install zlib1g-dev:i386
sudo apt-get install gawk
sudo dpkg-reconfigure dash 选择no
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
若编译遇到报错,请再根据报错信息,安装对应的软件包。
进入到SDK目录开始编译
source build/envsetup.sh
依次选择:
0.Linux
2.longan
0.linux-5.4
0.t113
1.evb1_auto
0.default
0.gnueabi
然后编译:
./build.sh #一键编译
./build.sh pack #打包生成固件
按照上面步骤编译生成的 img 参考:out/t113_linux_evb1_auto_uart0.img。(文件名与调试串口不符,实际调试串口默认是 UART3)
在device/config/chips/t113/configs/evb1_auto/board.dts 中有如下定义
uart3_pins_a: uart3_pins@0 { /* For t113_evb */
pins = "PG8", "PG9";
function = "uart3";
drive-strength = <10>;
bias-pull-up;
};
烧录好镜像到TF卡中连接串口到PG8,PG9对应PIN脚上接通电源发现串口无输出。根据电流判断系统有正常启动。
查看device/config/chips/t113/configs/evb1_auto/sys_config.fex
[uart_para]
uart_debug_port = 3
uart_debug_tx = port:PG08<5><1><default><default>
uart_debug_rx = port:PG09<5><1><default><default>
uart_debug_port 为uart3没问题,查看dts中uart3 也处于okay状态。最后在device/config/chips/t113/configs/evb1_auto/linux-5.4/config-5.4中发现不对劲做如下修改后
-CONFIG_CMDLINE="loglevel=8 initcall_debug=1 console=ttyS0 init=/init"
+CONFIG_CMDLINE="loglevel=8 initcall_debug=1 console=ttyS3 init=/init"
重新编译打包烧录后uart3打印正常。
离线