前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >瑞芯微RV1109 SDK编译&支持QT程序开发

瑞芯微RV1109 SDK编译&支持QT程序开发

作者头像
杨源鑫
发布2022-03-24 08:52:24
8.1K1
发布2022-03-24 08:52:24
举报
文章被收录于专栏:嵌入式开发圈

1、Rockchip SDK架构图

2、RV1126_RV1109开发环境搭建

2.1、搭建过程中遇到的问题

我用的是韦东山老师的ubuntu18.04虚拟机来编译的。

解决方法:

代码语言:javascript
复制
sudo rm /var/lib/dpkg/lock-frontend       
sudo rm /var/lib/dpkg/lock
2.2、安装和更新软件包
代码语言:javascript
复制
sudo apt-get update
sudo apt-get upgrade
2.3、安装QT开发环境
代码语言:javascript
复制
sudo apt-get install cmake qt5-default qtcreator
2.4、安装编译rockchip sdk必要的软件
代码语言:javascript
复制
sudo apt-get install repo gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools
device-tree-compiler gcc-aarch64-linux-gnu mtools parted libudev-dev libusb-1.0-0-dev python-linaro-image-tools linaro-image-tools autoconf autotools-dev libsigsegv2 m4 intltool libdrm-dev curl sed make binutils build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio python unzip rsync file bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev libglade2-dev cvs git mercurial rsync openssh-client subversion asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 libssl-dev expect fakeroot cmake flex bison liblz4-tool libtool keychain expect-dev

安装环境成功:

2.5、编译sdk包
2.5.1、u-boot编译
代码语言:javascript
复制
cd u-boot
make rv1126_defconfig
make menuconfig
# 保存配置到对应的文件 rv1126_defonfig
make savedefconfig
cp defconfig configs/rv1126_defconfig
./build.sh uboot
2.5.2、Kernel编译
代码语言:javascript
复制
# 执行以下命令前先保证处在工程根目录下
./build.sh device/rockchip/rv1126_rv1109/BoardConfig-aybering.mk
cd kernel
make ARCH=arm rv1126_defconfig
makeARCH=arm menuconfig # 配置内核
make ARCH=arm savedefconfig
cp defconfig arch/arm/configs/rv1126_defconfig
# 执行下面命令之前要保证在工程根目录下
./build.sh kernel
2.5.3、Rootfs编译
代码语言:javascript
复制
# 1. 先 SDK 根目录查看 Board Config 对应的 rootfs 是哪个配置
./build.sh -h rootfs
source envsetup.sh rockchip_rv1126_rv1109
make menuconfig
make savedefconfig   # 保存到 rootfs 配置文件
./build.sh -h rootfs # 查看 Rootfs 详细编译命令
./build.sh rootfs    # Rootfs 编译命令
2.5.4、SDK整体编译

进行整体编译时遇到相应的错误,这个是为了跟RK原厂SDK同步的代码,由于我这个是从第三方买来的,故下面这个功能需要屏蔽掉。

然后再重新进行./build.sh整体编译,最后是成功的:

3、RV1126_RV1109系统开发

3.1、uboot开发
3.2、Kernel开发

主要是配置和修改dts设备树文件。

RK平台的dts文件存放于:

代码语言:javascript
复制
ARM:arch/arm/boot/dts/
ARM64 :arch/arm64/boot/dts/rockchip

一般 dts 文件的命名规则为soc-board_name.dts

soc 指的是芯片名称,board_name 一般是根据板子丝印来命名。

公用的硬件描述放在dtsi文件,而dts文件则描述不同的硬件模块,并且通过include "xxx.dtsi"将公用的硬件描述包含进来。

3.3、Buildroot开发
3.3.1、buildroot配置qt5和tslib

其它的功能都可以选配,配置完以后,在SDK根目录执行完成编译即可:

代码语言:javascript
复制
make savedefconfig
./build.sh
2、 QTCreator配置

(1)交叉编译工具链配置

(2)qmake配置

(3)开发工具配置

4、文件系统端配置
4.1、添加QT启动的环境变量

修改/etc/profile文件,在文件的末尾增加:

代码语言:javascript
复制
export QT_QPA_FB_DRM=1
export QT_ROOT=/usr/lib/qt
export QT_QPA_FONTDIR=/usr/share/fonts
export QT_QPA_EGLFS_PHYSICAL_WIDTH=400
export QT_QPA_EGLFS_PHYSICAL_HEIGHT=240
export QT_QPA_PLATFORM=linuxfb:rotation=90
export QT_QPA_FONTDIR=$QT_ROOT/plugins/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QT_ROOT/plugins
export QT_QPA_GENERIC_PLUGINS="tslib:/dev/input/event1"
export XDG_RUNTIME_DIR=/tmp
export RUNLEVEL=3

在使用QT Creator编写了相应的QT程序以后,通过交叉编译拷贝到ARM板端文件系统,在运行前需要执行:

代码语言:javascript
复制
source /etc/profile

这句话相当于让环境变量生效。这样配置完毕以后就可以编写相应的QT程序然后在开发平台上运行了。

4.2、添加字库文件

/usr/share/fonts目录下添加文泉驿字库文件

调试过程中发现,如果不添加字库,则会导致QT运行后,如果带有字体显示的话,字体会无法显示出来,这是因为系统字体库缺失的情况,需要我们手动将字体库复制到文件系统内,当然也有另外一种方法,那就是将字体库与文件系统进行打包,然后在下载的时候,文件系统就自带了字体库了。

4.3、运行QT应用程序

前提是已经将qt程序拷贝到开发板的文件系统的目录下,然后在开发板端执行以下命令:

代码语言:javascript
复制
source /etc/profile   //使能环境变量
/oem/test_qt &        //你编写的QT应用程序

当然,也可以把它增加到启动脚本里去。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式应用研究院 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Rockchip SDK架构图
  • 2、RV1126_RV1109开发环境搭建
    • 2.1、搭建过程中遇到的问题
      • 2.2、安装和更新软件包
        • 2.3、安装QT开发环境
          • 2.4、安装编译rockchip sdk必要的软件
            • 2.5、编译sdk包
              • 2.5.1、u-boot编译
              • 2.5.2、Kernel编译
              • 2.5.3、Rootfs编译
              • 2.5.4、SDK整体编译
            • 3.1、uboot开发
              • 3.2、Kernel开发
                • 3.3、Buildroot开发
                  • 3.3.1、buildroot配置qt5和tslib
                  • 2、 QTCreator配置
                  • 4、文件系统端配置
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档