D133昆仑派开发板如何编译lvgl内置Demo
mymymind
编辑于 2024年05月15日 11:35
收录于文集
共25篇

        上周买了个D133昆仑派开发板,就是因为能点mipi屏,而且不是跑Linux的单片机。看了半天文档,讲的还不是很适合小白入门,这里整理了下入坑的步骤。

        开发板实物,最便宜的一款,4.3寸电容屏,480*272,没摄像头,自己加的,左下角是复位和UBOOT按键,没错它跑不了Linux,但是能跑UBOOT。

        拿到手后去官方gitee下了个sdk,文档讲怎么下程序了,但是没说在哪下软件,又问了客服才知道的,全下下来解压出来放到随便一个英文文件夹就行(可能中文也行,但是我没试过):https://gitee.com/artinchip

        找到D13x系列的开发入门文档:https://www.artinchip.com/knowledge/oxy_ex-1/topics/d13x-doc-d13x.html

        翻到VSCode编译教程那里,跟着文档装就行。找到sdk文件夹(下下来的带-master,删掉就行),右键用VSCode打开。-doc文档你想不联网看文档就也下下来,双击index.html就可以打开文档了。CBV是另一个全功能开发板的PCB工程,去论坛下的,要积分,最右边是镜像下载软件,编译出来的img用这个软件用USB连接开发板下载。

        我是用的裸机工程的helloworld工程。

        新建一个控制台就会自动启动scons,这个是帮助编译的工具。然后出现ArtInChip的logo就OK了。

        为了减少sdk的大小,所有不同开发板例程大量的重复利用,根据配置来选择和应用包括驱动的demo的代码,为此我们首先需要选择一个开发板配置,也就是确定配置中用了哪些外设、哪些引脚等等,list命令列出所有的开发板配置。

        lunch 11即选择昆仑派RTT_helloworld这个开发板配置,d13x_kunlunpi88-nor_rt-thread_helloworld_defconfig,也就是我买的这个开发板的配置

        对应target中config中,也就是图形化配置文件,因此通过menuconfig我们就可以改变例如LED灯的管脚,所以调试驱动不再需要更改代码,只需要图形化配置选择,因为所有型号的开发板都在用一份程序,不同开发板想更改外设的IO等等就把配置记录到自己对应的配置文件中而不需要动代码。

        输入scons命令开始编译

        编译结束,生成镜像,如果存在错误要修改一下。默认是launcher桌面例程。

        安装AiBurn,打开选择刚才生成的img文件

        按住UBOOT按键,插上USB到电脑和开发板再放开,之后发现了ArtInChip设备

        点击开始下载镜像

        下载完成自动断开了USB,下载成功,再按一下RESET按键重启运行新的镜像

        到此位置,你已经学会了环境搭建、编译、下载。毕竟是点屏专用,还是想看看刷屏到底咋样,于是试了半天想运行一下lvgl内置的demos,比如benchmark、widgets、music什么的,menuconfig改了大半天一直都是有错误的状态,找了客服问了半天,总之就是自己看文档,然后叫我加FAE了。

        默认开发板配置文件运行的是artinchip写的demo,就是launcher_demo。大概长这样,就是几个图标左右可以划过去翻页,仅此而已。

        和launcher一起的有meter_demo等等,于是想换一下demo跑跑看一下效果。scons --menuconfig命令进入图形化配置参数。

        依次进入Application options->ArtInChip LVGL demo菜单,选中LVGL demo of meter

        保存退出。再次scons编译,但是提示内存不够错误,无法生成镜像

        然后FAE说他编译也会遇到这个问题,然后教我改了一下data和romdata的存储位置。

        切换到psram就可以了

        meter表盘的效果,资源按照7寸的设置的,所以小屏只能显示一部分

        还有另一个问题是选择编译lvgl内置demos就会报找不到头文件的错误,他说还在找解决办法

        错误提示找不到头文件,但是实际上是有的,但是不编译lvgl内置demo还就没问题,非常奇怪,但是fae又说他的sdk使能lvgl内置demo编译就没问题。

        然后我就问叫FAE打包他用的sdk发给我了。你别说,还真就没问题,具体因为啥我就懒得找问题了,反正是能编译了。

        还奇怪的是demo有好几个,但是menuconfig中只显示了4个,而且改内存位置以前还就只有launcher能运行,所以怀疑他们pull之前没去测试过,于是打开menuconfig手动加。application中的Kconfig中照抄添加lvgl demo的几个开关。

        aic_ui添加lvgl demo的初始化调用

        lvgl_conf头文件根据不同的demo添加相应demo使能的宏定义,用到的字体也都加上,因为这个sdk中的lvgl配置文件删了太多东西了。

        这样就可以选择lvgl内置的demos了

        接着一样的步骤编译下载。

        顺利运行widgets demo

        最后来个widgets demo看看,V8确实帧率不是很准

        常见问题:如果menuconfig打不开那就把控制台拉高点,太矮了显示不全

        有人说music demo字体显示有问题,我测试的没有问题,贴个图

        主界面