前言
前面交叉编译好了qt,安装好了QtCreator,本篇与上一篇连接紧密,在上一篇的基础上,在QtCreator开发IDE中配置交叉编译环境。
配置海思交叉编译环境
步骤一:打开构建套
步骤二:添加QtVersion
步骤三:添加编译器
自动识别了,如下图:
步骤四:新建构建套
步骤五:使用Hi3516DV300构建套编译“Hello world”
步骤六:检查是否生成成功
步骤七:传入开发板
具体开发板的配置与sftp连接请参考博文《Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输》中的“与开发板使用sftp上传文件”。
步骤八:直接命令行运行
开机启动Qt应用
步骤一:了解自己所用系统的开机启动脚本
开启启动,请参考博文《Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析》中的启动脚本分析。
步骤二:寻找qt环境引入
Qt环境在提供的系统中已经引入了
步骤三:隐藏原先的启动应用
将/usr/script/hi3516dv300.sh中的启动qt程序的部分注视掉
步骤四:修改启动脚本
修改启动的路径名称
顺便将app改成全屏,如下图:
再次编译上传,并改为startApp名称,如下图:
步骤五:启动测试
开启启动失败,手动运行,发现如下:
环境变量一致,那就是参数的问题了,回到原先的,之前做过测试启动原先demo的命令行如下:
直接手动运行,如下图:
再次修改方式,如下图:
测试结果:
所以我们确认程序中的问题,其实这个问题是Hi开发特有的,那就是涉及到海思的的HiMPP多媒体框架了。
这部分需要我们自己初始化设置好海康的HiMPP,然后设置HiFB(),作为海思系统驱动适配开发了解HiMPP是必须的。
(HiFB:Hisilicon Framebuffer(以下简称 HiFB)用于管理叠加图形层,它不仅提供 LinuxFramebuffer 的基本功能,还在 Linux Framebuffer 的基础上增加层间 colorkey、层间 Alpha 等扩展功能。)
所以,启动是启动了,只是失败了,初始化HiMPP才能设置HiFB,初始化HiFB涉及到交叉编译环境引用HiSDK的头文件和库,在下一篇去深入了解。
步骤六:弄个不启动界面的Qt进行开机启动
交叉编译后上传至开发板,并重命名,如下图:
然后重启,如下图: