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 版本,则需要调整软件包的依赖和版本。
Git安装:
sudo apt install git
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 进程可能会停止某些软件包的更新,但这也会增加计算机受攻击的风险。因此,建议仅在必要时关闭此进程。
git clone https://gitee.com/artinchip/baremetal.git
执行效果如上图所示,新增了一个文件夹。
sudo apt install scons
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
$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
解决报错问题:
sudo apt install build-essential
报错如下:
scons --menuconfig
还是报文件缺少
重新下载程序:
git clone https://gitee.com/artinchip/baremetal.git
还是报错,最终下面方案解决:
sudo apt-get install libncurses5-dev
sudo apt-get install libncursesw5-dev
问题解决:
scons --menuconfig
编译配置完成后,可以使用以下的命令进行编译:
$ cd baremetal
scons ∥编译当前工程,,简洁输出
scons --verbose ∥编译当前工程,详细输出
$ scons -c ∥清理当前工程
$ ls output/$chip_$board_$kernel_$app/images/$soc.elf //编译生成的目标文件
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方法
注意:程序目录内不能包含空格和中文字符。
$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
$ cd baremetal
scons ∥编译当前工程,,简洁输出
scons --verbose ∥编译当前工程,详细输出
$ scons -c ∥清理当前工程
$ ls output/$chip_$board_$kernel_$app/images/$soc.elf //编译生成的目标文件
1.3:vscode方法
打开终端有问题原因是工程目录里面不能有空格和中文字符
./win_cmd.bat
应用上述指令将vs code上的power shell终端改为如下所示的cmd终端:
2: LCD 显示屏以及电容触摸屏使用测试;
上电后,屏幕显示如下:
实际测试滑动点击流畅
3:串口打印测试;
上电后调试串口打印信息如下:
4:LVGL界面修改测试:
LVGL的官方推荐开发环境,SequareLine Studio下载地址:
https://squareline.io/downloads
D13x开发板默认配置是屏幕分辨率是1024*600,模拟器的width和Height也要保持一致。
使用SequareLine的Export功能将界面导出来代码,如下图所示:
提示错误如下:
There may be some complie errors because your project path is not set in the project settings!
在settings设置路径解决,如下图所示:
导出得文件如下:
输入me 来配置,选择下图中所示demo
串口0-2:115200
5:程序烧录测试:
先安装Aiburn安装后打开如下图所示;
按住uboot键不放,再按reset进入烧录模式
按照上述方法操作,结果软件并没有识别到设备,显示瓶呈现黑屏状,如下图所示:
此时查看串口打印信息如下图所示:
串口一直打印A,咨询技术人员,说是已经进入烧录模式了,上位机还是未检测到设备。
尝试更换usb线、更换电脑usb接口、重新安装aiburn软件都未能解决问题,咨询技术人员,说是最大可能是电路板上的usb接口有问题解决不了,如下图所示。
总结:昆仑派的技术人员还是很给力的,能够及时、积极回复并帮助解决问题,只是开发板硬件不太可靠。