Git Product home page Git Product logo

xmz2020's Introduction

环境配置

一键编译

在/AnyCloudV500_PDK_V1.02/PDK/SDK/sdk_release_dir下执行./auto_build.sh

Type of chip : AK3760D (64M RAM)
Type of screen : RGB
Type of flash : spi nor flash
Wifi card : rtl8188ftv

可能的依赖

sudo apt-get install u-boot-tools
sudo apt-get install liblzo2-dev:i386 liblzma5:i386 liblzma-dev libncurses5-dev libreadline6-dev:i386 build-essential lib32stdc++6 lib32z1

burnfile中为编译生成的文件uImageanyka_ev500.dtbu-boot.binroot.sqsh4usr.jffs2usr.sqsh4,用burntool烧录需要将6个文件全部复制到burntool目录下。不要用uart_burntool。

NFS挂载

sudo apt-get install nfs-kernel-server

/etc/exports 最后添加

/home/bk/nfs-share *(rw,sync,no_root_squash,no_subtree_check)

重启NFS

sudo /etc/init.d/nfs-kernel-server restart

登陆板子终端
查看串口号ls -l /dev/ttyUSB*
username : root
password : anycloudv500
先运行nfs_start.sh,然后进行挂载,根据情况修改IP和主机目录。

mount -t nfs -o nolock 192.168.1.116:/home/bk/nfs-share /mnt

交叉编译工具链arm-anykav500-linux-uclibcgnueabi-gcc

修改根文件系统

/AnyCloudV500_patch2-1/PDK/SDK/sdk_release_dir/platform/rootfs/rootfs.tar.gz中进行修改,修改完成后重新编译和烧录。
/usr/sbin/nfs_start.sh最后添加挂载指令,就不用每次手动输入了。

mount -t nfs -o nolock 192.168.1.104:/home/nfs_share /mnt

Tslib移植

程序说明见program/readme.md

主要步骤参考【正点原子】I.MX6U Qt移植V1.0.pdf ,下面是一些要修改的步骤。
安装automake工具

sudo apt-get install autoconf automake libtool  pkg-config

编译

./autogen-clean.sh
./autogen.sh
./configure --host=arm-anykav500-linux-uclibcgnueabi --cache-file=tmp.cache --prefix=/home/bk/nfs-share/arm-tslib CC=/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-gcc
make; make install;

make install后将arm-tslib复制到nfs共享目录
在nfs目录中新建profile文件,然后source /mnt/profile,这样就不用每次修改根文件然后烧录。

export T_ROOT=/mnt/arm-tslib
export LD_LIBRARY_PATH=/mnt/arm-tslib/lib:$LD_LIBRARY_PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal

source以后,需要调用一下显示屏例程ak_vo_sample,然后才能运行./mnt/arm-tslib/bin/ts_test不知道为什么。ts_calibrate由于文件系统只读暂时没效果。

编写的程序为tests文件夹中的GUI.chello_ts_world.cfont_big.c
tests复制到tslib中覆盖并重新编译,会生成可执行文件hello_ts_worldGUI。添加新的.c文件需要修改Makefile.amCMakeLists.txt相应部分。

ak_sample运行

ak_vi_sample

sensor.sh加载驱动并复制isp_ar0230_dvp.conf/etc/jffs2/

sensor.sh install ar0230
ak_vi_sample -n 5 -p /mnt/vi -f /etc/jffs2/isp_ar0230_dvp.conf

MiniGUI移植

到MiniGUI官网下载libminigui-4.0.7.tar.gzmg-samples-4.0.1.tar.gzminigui-res-4.0.0.tar.gzzlib-1.2.9.tar.gzjpegsrc.v7.tar.gzlibpng-1.2.37.tar.gz6个压缩包并解压。注意zlib下载1.2.9版本否则会导致系统炸裂。

核心库编译

先下载harfbuzz-master,将src中的.h复制到/libminigui-4.0.7/include

[email protected]:harfbuzz/harfbuzz.git

安装依赖

sudo apt-get install libfreetype6-dev 

进入libminigui-3.2.3运行

./configure CC=/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-gcc --host=arm-anykav500-linux-uclibcgnueabi --prefix=/home/bk/minigui/mg-build --build=i386-linux --target=arm-linux --disable-cursor --disable-videopcxvfb

注意--prefix=改成自己的目录;--disable-videopcxvfb必须加上
然后makemake install

修改etc目录下的MiniGUI.cfg配置文件,首先我们要修改指定我们使用的图像引擎为fbcon然后将其分辨率信息设置我们板子对应的分辨率如下:

# GAL engine and default options
gal_engine=fbcon
defaultmode=800x480-16bpp

第二个需要配置的为输入引擎IAL这里我们使用tslib作为我们的输入引擎即如下:

# IAL engine
ial_engine=tslib
mdev=/dev/input/event0
mtype=IMPS2

还有要修改的地方就是配置正确的资源文件路径,如光标图片资源等,如下:

[cursorinfo]
#Edit following line to specify cursor files path
cursorpath=/share/minigui/res/cursor/

[resinfo]
respath=/share/minigui/res/

资源文件编译

进入minigui-res-3.2.0运行

./configure --prefix=/home/bk/minigui/mg-build/; make; make install

依赖库编译

zlib库,注意不要加--prefix

./configure; make; make install

jpeg库

./configure --prefix=/home/bk/minigui/tpl-build CC=/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-gcc --host=arm-anykav500-linux-uclibcgnueabi --build=i386-linux --build=i386-linux --enable-shared --enable-static

png库

./configure --prefix=/home/bk//minigui/tpl-build

sample编译

sudo cp /minigui/mg-build/lib/pkgconfig/minigui.pc /usr/local/lib/pkgconfig

在/etc/bash.bashrc最后添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

下载mgutils

git clone https://github.com/VincentWei/mgutils.git
./autogen.sh
./configure CPPFLAGS=-I/home/bk/minigui/mg-build/include; make; sudo make install

编译sample,注意CPPFLAGS=-I/...改成核心库输出目录,否则error: minigui/common.h: No such file or directory

./configure CC=/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-gcc --host=arm-anykav500-linux-uclibcgnueabi --prefix=/home/bk/minigui/mg-build --build=i386-linux --target=arm-linux CPPFLAGS=-I/home/bk/minigui/mg-build/include

Qt移植

板子可能带不动qt,以下可以忽略。
autoconfigure.sh配置和qmake.conf配置见documents。make install后将arm-qt复制到nfs共享目录
profile后面添加

export QTEDIR=/mnt/arm-qt
export LD_LIBRARY_PATH=/mnt/arm-qt/lib:$QTEDIR/plugins/platforms:$LD_LIBRARY_PATH
export QT_QPA_GENERIC_PLUGINS=tslib
export QT_QPA_FONTDIR=$QTEDIR/lib/fonts 
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0

目前arm_qt_test界面需要很长时间才能加载出来,而且按钮也要很久才有反应,估计是性能不够。

xmz2020's People

Contributors

zaeio avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.