1:开发环境搭建及上手体验

1.1:linux系统方法

Bare metal SDK 的开发需要在 Linux 系统中进行,用户需确保计算机上有可运行的 Linux 系统。关于如何在虚拟机上搭建 Linux 系统,查看创建虚拟机。 ArtInChip 推荐的 Linux 发行版为 Ubuntu 20.04 LTS(Long Term Support)版本。本节以 Ubuntu 20.04 LTS 版本为例介绍 Ubuntu 系统的安装步骤。如需其他 Ubuntu 版本,则需要调整软件包的依赖和版本。

201954kmwa2jz2mxm89p22

201954c26jlav7zvn6vpyv

201954f01rvjr1ryqdwawv

Git安装:

sudo apt install git

201956deuf7fj793fu7ffx

unattended-upgrades 是 Ubuntu 操作系统自动更新软件包的一个进程。它默认开启,定期检查可用更新并自动升级。

要关闭 unattended-upgrades 进程,您可以执行以下步骤:

输入以下命令并运行:

   sudo systemctl stop unattended-upgrades.service

   这会立即停止 unattended-upgrades 进程。

3. 如果您想要禁用 unattended-upgrades 进程,输入以下命令并运行:

   sudo systemctl disable unattended-upgrades.service

   这会禁用 unattended-upgrades 进程,使其在启动时不会自动启动。

请注意,虽然关闭 unattended-upgrades 进程可能会停止某些软件包的更新,但这也会增加计算机受攻击的风险。因此,建议仅在必要时关闭此进程。

201956m231csrkt2j2j2ht

git clone https://gitee.com/artinchip/baremetal.git

201956lwoj3zxiwwisowsx

执行效果如上图所示,新增了一个文件夹。

201959sjj1i952d2112xrd

201959ipd19bdec3ze45bn

sudo apt install scons

201959i0crvjqrogqpto02

202000khpvruutsstn3hsu

sudo apt install pip

cd tools/env/local_pkgs/

tar xvf pycryptodomex-3.11.0.tar.gz

cd pycryptodomex-3.11.0

sudo python3 setup.py install

202000jk7kl1vf8kwbzkbo

202000kmgzof3o1mqlo1bi

202001cluglip4iup54skl

202001e93i3rrvk5mhzpbi

$cd baremetal

$ scons --list-def   //列出当前所有的工程默认配置

202001wg822qx2qmnx2dd3

$ scons --apply-def=xxx_defconfig   //加载应用上述列表其中一条工程配置

scons --apply-def=d13x_demo88-nor_baremetal_bootloader_defconfig  

scons --apply-def=d13x_demo88-nor_baremetal_helloworld_defconfig

scons --apply-def=6         //选择 0 号配置

202003emiz11ibc96k6g3k

和工程相关的命令还有:

$ scons --save-def    //手工保存当前工程配置

$ scons --info         / /列出当前工程的基本配置

202003x7b4rkvkbvbwfb1b

202003m8ohrzpor8z8o8vk

在加载完工程配置后,可以使用 menuconfig 命令来修改当前配置:

$cd baremetal

$ scons --menuconfig    ///Linux 命令行下启动Menuconfig

202005vu3koo66cs4o6ou6

解决报错问题:

sudo apt install build-essential

202005ublb5n4py6u69vfj

报错如下:

202005iowoonz5hgshognh

scons --menuconfig

还是报文件缺少

重新下载程序:

git clone https://gitee.com/artinchip/baremetal.git

还是报错,最终下面方案解决:

202006jty52uvuyvi6rwwt

sudo apt-get install libncurses5-dev

sudo apt-get install libncursesw5-dev

问题解决:

scons --menuconfig

202006kc0jc7mvvj4piivs

202006y7xr22kj5km2dx5j

202008q1z1fb41ky16b6yf

编译配置完成后,可以使用以下的命令进行编译:

$ cd baremetal

scons              ∥编译当前工程,,简洁输出

scons --verbose       ∥编译当前工程,详细输出

$ scons -c                        ∥清理当前工程

$ ls output/$chip_$board_$kernel_$app/images/$soc.elf              //编译生成的目标文件

202008oaj88a33z84q188g

202008rv95vm3xg3793z0g

202009vhslsfxxrcfzr7cj

pip install pycryptodomex

其他命令

$cd baremetal

$ scons --run-qemu                        ///运行当前编译出来的gemu目标文件

scons --list-size                                ////size 命令列出所有.o文件的text/datalbss 各个section 大小

scons --pkgs-update                        ///下载选择的在线 packages

1.2:windows下:OneStep方法

202009m3a467ue439t66a7

注意:程序目录内不能包含空格和中文字符。

202009ffrpam25ttpzn5m2

202011h34oouoj3zypj5pu

202011rx7wzh0gx4gl7dvg

$cd baremetal

$ scons --list-def   //列出当前所有的工程默认配置

$ scons --apply-def=xxx_defconfig   //加载应用上述列表其中一条工程配置

scons --apply-def=d13x_demo88-nor_baremetal_bootloader_defconfig  

scons --apply-def=d13x_demo88-nor_baremetal_helloworld_defconfig

scons --apply-def=6         //选择 0 号配置

和工程相关的命令还有:

$ scons --save-def    //手工保存当前工程配置

$ scons --info         / /列出当前工程的基本配置

在加载完工程配置后,可以使用 menuconfig 命令来修改当前配置:

$cd baremetal

$ scons --menuconfig    ///Linux 命令行下启动Menuconfig

202011c9kx4zzqxqjpjjgk

202013adqjesj4tsj7r05i

$ cd baremetal

scons              ∥编译当前工程,,简洁输出

scons --verbose       ∥编译当前工程,详细输出

$ scons -c                        ∥清理当前工程

$ ls output/$chip_$board_$kernel_$app/images/$soc.elf              //编译生成的目标文件

202013whshnhqwj5pm5s4b

1.3:vscode方法

202013iret44qql8mmr4sq

202014psgggtg2pe40sphz

202014lqqgfc9gq1nsr1vc

打开终端有问题原因是工程目录里面不能有空格和中文字符

./win_cmd.bat

应用上述指令将vs code上的power shell终端改为如下所示的cmd终端:

202014c36wxq0o558rroox

2: LCD 显示屏以及电容触摸屏使用测试;

上电后,屏幕显示如下:

202017r1avrvjt2dt22lv2

实际测试滑动点击流畅

202017tieftmtk6t8q78ze

3:串口打印测试;

上电后调试串口打印信息如下:

202017b8z3x3kdu87crx68

202019po6s85c6xnqv58yn

4:LVGL界面修改测试:

LVGL的官方推荐开发环境,SequareLine Studio下载地址:

https://squareline.io/downloads

D13x开发板默认配置是屏幕分辨率是1024*600,模拟器的width和Height也要保持一致。

202019lwvvxfz7if7snpqq

202019ft37a3151tmd4pyl

使用SequareLine的Export功能将界面导出来代码,如下图所示:

202020pzsl6u6gs65nr08n

提示错误如下:

202020f3ytyp743fxfdn8d

There may be some complie errors because your project path is not set in the project settings!

在settings设置路径解决,如下图所示:

202020kqw27z5wql7qhpw0

导出得文件如下:

202021ednfdntnzrdzt7fh

202021onfnjuzclizxwusc

202021dp0h5401tlp0g464

202022cz5uxxtfw8fd8zcg

输入me 来配置,选择下图中所示demo

202022i1nukudzjkuula3k

202022xctb6cll8tcotbkb

202023jkt199h9mlt99158

串口0-2:115200

202023yxfnvrgnzvitfxfp

202023u27koydmexs7yj7y

202024medxwsdrnevedr33

202024tzipopkob9oifnlq

5:程序烧录测试:

先安装Aiburn安装后打开如下图所示;

202024rrtuzxswcfr53re1

按住uboot键不放,再按reset进入烧录模式

按照上述方法操作,结果软件并没有识别到设备,显示瓶呈现黑屏状,如下图所示:

202025a11m337zztdlqflw

此时查看串口打印信息如下图所示:

202025i9weeltdedufd4cl

串口一直打印A,咨询技术人员,说是已经进入烧录模式了,上位机还是未检测到设备。

尝试更换usb线、更换电脑usb接口、重新安装aiburn软件都未能解决问题,咨询技术人员,说是最大可能是电路板上的usb接口有问题解决不了,如下图所示。

202025pamhhgrhh1is01a1

总结:昆仑派的技术人员还是很给力的,能够及时、积极回复并帮助解决问题,只是开发板硬件不太可靠。