首先感谢MYIR & ELECFANS给与的使用米尔-全志T113-i开发板的机会。
一、开发板简介
米尔-全志T113-i开发板搭载全志T113处理器,双核A7@1.2GHz,适用于低成本网关产品和商业显示产品,具有丰富多媒体接口MIPI-DSI/RGB/LVDS/Parallel CSI,支持1080P@60FPS显示;此外摄像头接口(Parallel-CSI)、显示器接口(MIPI-DSI/LVDS/RGB)、USB2.0接口、CAN接口、千兆以太网等接口。
二、开发环境搭建
开发主机是X86 PC,操作系统是Ubuntu 18.04。
root@EliteDesk800:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.6 LTS"
首先安装必要的依赖包,一股脑全装上。
**sudo apt install -y git gnupg flex bison gperf build-essential zip curl** libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib tofrodos python markdown libxml2-utils xsltproc zlib1g-dev:i386 gawk texinfo gettext
build-essential gcc libncurses5-dev bison flex zlib1g-dev gettext libssl-dev autoconf libtool linux-libc-dev:i386 wget patch dos2unix tree u-boot-tools
gcc交叉编译器用的是myir提供的gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz
,这个文件从myir各位下载即可。然后解压缩至/opt文件夹。
tar -xf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi.tar.xz -C /opt
设置环境变量:
export PATH=$PATH:/opt/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin
然后验证是否安装成功:
root@EliteDesk800:~$ arm-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/opt/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/5.3.1/lto-wrapper
Target: arm-linux-gnueabi
Configured with: /home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/snapshots/gcc-linaro-5.3-2016.05/configure SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-c99 --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=softfp --with-mode=thumb --disable-multilib --enable-multiarch --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/sysroots/arm-linux-gnueabi --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu/arm-linux-gnueabi/libc --enable-languages=c,c++,fortran,lto --enable-checking=release --disable-bootstrap --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release/label/docker-trusty-amd64-tcwg/target/arm-linux-gnueabi/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 5.3.1 20160412 (Linaro GCC 5.3-2016.05)
从上面的log,看出gcc安装OK。
三、开发板设置
米尔-全志T113-i开发板默认root缺省密码,直接输入root登录即可。
(一)网络配置
发现系统网络接口eth0,直接配置上。
root@myd-yt113-i:~# ifconfig
eth0 Link encap:Ethernet HWaddr 9A:04:AB:40:B2:09
inet6 addr: fe80::9804:abff:fe40:b209/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:60 (60.0 B) TX bytes:726 (726.0 B)
Interrupt:37
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ifconfig eth0 192.168.99.200 netmask 255.255.255.0 up
直接配置好。
DNS需要修改/etc/resolv.conf
文件,加上nameserver 192.168.99.1
来定义DNS服务器的IP地址,之后重启网络服务即可。
(二)SSH配置
米尔-全志T113-i开发板默认安装了SSH服务端。
首先,使用passwd
命令给米尔-全志T113-i开发板的root账号加上密码,因为我的SSH客户端不允许root空密码。
然后,在开发板上修改/etc/ssh/sshd_config
文件内容,增加PermitRootLogin yes
内容,允许root账号SSH登录。
然后再PC侧通过SSH客户端登录开发板。
四、hellworld测试
至此,初步完成米尔-全志T113-i开发板开发环境的搭建,先来个helloworld简单测试。
内容很简单:
#include<stdio.h>
void main()
{
printf("hello, MYIR T113-i !");
return;
}
在PC上编译完成,检查下a.out文件,是ARM架构的。
root@EliteDesk800:~$ file a.out
a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=d2ee17dd6cbb14403b65dfd728267e7ed9c0e5b6, with debug_info, not stripped
scp传输到米尔-全志T113-i开发板上,执行,打印后忘记换行了。
至此,米尔-全志T113-i开发板编译环境搭建完成。