开发环境:Ubuntu 16.04
i.mx6 linux版本:4.9.11
tslib版本:1.4
awtk版本:awtk-v1.3+rc.1@aworks.2
一、首先安装i.mx6交叉编译环境:
1、yocto:bitbake meta-toolchain获取交叉编译工具fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.9.11-1.0.0.sh(不会的可以网上搜索i.mx6的开发环境搭建)
2、安装交叉编译环境:
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.9.11-1.0.0.sh
3、配置交叉编译环境:
source /opt/fsl-imx-x11/4.9.11-1.0.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
ps:也可以将这个语句加入到~/.bashrc里面,开启启动。
4、试验编译是否成功:
1)编写文件main.c并保存
unsigned int dwTimer;
void main(void)
{
dwTimer = 0;
}
2)编译文件
$CC -o main main.c
生成可执行文件main
3) 输入命令file main 检查main文件是否为i.mx6下的可执行文件
file main
执行结果:
mian:ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, BuildID[sha1]=df3032d9e2ceccc66fd70dc1b6a08215454fc6b8, not stripped
二、安装tslib库
下载 tslib-1.4.tar.gz
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
编译:
tar xzf tslib-1.4.tar.gz
cd tslib
./autogen.sh
mkdir tmp
echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
./configure --host=arm-linux --cache-file=arm-linux.cache --prefix=$(pwd)/tmp
make
make install
安装:
cd tmp
cp * -rf /opt/
三、linux下编译awtk
如果没有安装scons和依赖的软件包,请在终端运行下面的命令:
sudo apt-get install scons
sudo apt-get install libsndio dev libgtk 3 dev libglu1 mesa libglu1 mesa dev libgl1 mesa glx libgl1 mesa dev
复制awtk的代码至linux系统并解压。
编译运行(在终端下,进入AWTK所在的目录,并运行下列命令):
scons
./bin/demoui
demoui就是编译出来的可执行程序。
四、移植awtk至i.mx6
修改 awtk-linux-fb/awtk_config.py文件