Skip to content

Commit e70a9bf

Browse files
codebug8claude
andcommitted
Add D1h-DualDisplay community review articles collection
在 docs/D1h-DualDisplay/评测文章/ 下新增 8 位评测者的 37 篇社区评测文章 (GzMark、HonestQiao、Jason、pomin张海良、宁静致远、拍一下_彭延鑫、 百拙上人、罗马不起多),含 274 张图片。每篇含 frontmatter 与作者署名; docx 通过 mammoth 转换并提取内嵌图片;图片路径归一化;MDX 兼容性已处理; 构建验证通过。 Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 0389904 commit e70a9bf

320 files changed

Lines changed: 7759 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
sidebar_position: 1
3+
sidebar_label: "硬件及开发环境简述"
4+
---
5+
# 硬件及开发环境简述
6+
7+
> 评测作者:GzMark · 本篇为社区评测文章,来自开发者实测,未经官方逐字校对。
8+
9+
这次感谢百问网的活动,有幸参与D1-H开发板的评测活动,因为也是第一次玩soc的板子,之前主要做mcu的,所以评测呢,选了简单点的部分,红外遥控切换由HDMI输出的lvgl的界面。这么选原因呢,一个是19年接触过lvgl,那时候是5.3的版本,后面产品定型后,几年主要软件开发,也没太关注硬件,这次也想试试,熟悉下soc的流程,尤其是咱们国产的全志D1—H,这个其实很早也关注过,后面国产化大环境,起码得上下手。
10+
其他就不说了,根据开发流程,后面按照下面的流程进行测试
11+
- 熟悉硬件
12+
- 熟悉开发环境
13+
- 熟悉开发流程
14+
- 配置HDMI输出流程
15+
- 在HDMI屏幕上显示LVGL
16+
- 测试红外遥控键值
17+
- 整体测试红外遥控器切换lvgl界面
18+
## 1. 熟悉硬件
19+
1. 本次采用百问网提供的东山D1-H开发板,板子暂时没有手册,根据提供的图纸看开发板配置如下:
20+
- 硬件:开发板可以参考[东山哪吒STU硬件](https://dongshanpi.com/DongshanNezhaSTU/01-BoardIntroduction/)
21+
* CPU : 全志D1-H,是玄铁C906,RISCV架构的,可以从全志官网看介绍
22+
* 内存:从free看,应该是512M的
23+
* 存储:du的结果是82M
24+
* 板载有4个A口usb,2个C口usb(一个是串口调试,一个是usb,后面烧录用的就是这个usb)
25+
* 一个mipi口,一个hdmi,可以做双显
26+
* 供电是2.2的供电口,6~12V供电
27+
* 两个按键(一个fel,一个reset,烧录用)
28+
* 核心板是D1-h和内存、存储器、及xr829wifi组,ipx接口的外置天线
29+
* 其他有红外,及背板部位预留的贴片排针位置
30+
31+
32+
## 2. 环境搭建
33+
1. 从官网下载已装好编译环境所需依赖的ubuntu虚拟机
34+
2. SDK及其他资料的获取(见百问网资源下载)
35+
3. 解压SDK,**这里必须在虚拟机下解压**,本来这里是想在win下解压,然后在虚拟机挂个共享目录来着,但因文件格式问题,在win下解压报错(解压过程中会提示莫名的权限问题,然后网上有网友遇到过,讲是文件格式在win下无法识别导致的,我猜测是特殊的文件格式触发了用户权限),因此压缩包必须在虚拟机下解压
36+
但是由于虚拟机空间可能不够,所以这里需要先在win下将压缩包的分包文件,综合为单独的压缩文件,然后再在虚拟机下解压这个单独的文件(很大的压缩包)
37+
38+
步骤如下:
39+
40+
​ 3.1 先用cat将多个分包输出到一个压缩包,步骤如下:
41+
42+
```
43+
在虚拟机(或wsl)命令行,切换到共享目录,然后执行
44+
cat tina-d1-h.tar.bz2* > tina-d1-h.tar
45+
将多个sdk分包打包为一个tar.bz2,此时路径下会有一个tina-d1-h.tar文件
46+
这里的压缩文件及前面分包都可以用文件的md5跟下载源里的md5文件比对下,看下载有无问题
47+
```
48+
​ 3.2 在虚拟机下解压到桌面,执行如下:
49+
50+
```
51+
在虚拟机的shell下(切换到压缩包目录),执行
52+
tar -xvf tina-d1-h.tar ~/Desktop/tina-d1-h
53+
等待个几分钟吧,在桌面会有一个tina-d1-h的文件夹,这个就是sdk的目录了,后面基本都在这里面操作
54+
```
55+
56+
4. 前面sdk解压完成,可以验证下sdk,具体步骤如下:
57+
58+
```
59+
1. 在shell执行,cd ~/Desktop/tina-d1-h,切换到sdk目录下
60+
2. 继续执行,source build/envsetup.sh,设置tina的开发环境变量到当前shell
61+
3. 执行lunch tina-d1-h-tina,选择编译目标,这个首次需要选tina-nezha,后面如果虚拟机不重启,再新建shell,直接lunch,然后两次回车(第二次会有个确认是不是tina-nezha的)就行
62+
4. 最后执行make看下 ,如果前面没问题,这里能执行成功,则编译环境搭建ok(编译时间跟配置的虚拟机性能有关,我的要十分种左右,给的20线程)
63+
```
64+
65+
5. 在windows下安装好板子usb口的驱动,串口的驱动,确保在设备管理器能识别到一个adb设备,和ch343的串口设备,后面会通过adb下载测试应用及烧录镜像,用串口终端打开这个串口进行一些板子shell下的调试,所以这里驱动要装ok
66+
67+
## 3. 熟悉编译命令及固件烧录
68+
在上一步已经搭建好的编译环境下,可以执行下面的命令
69+
命令 | 命令有效目录 | 作用
70+
-|-|-
71+
make | tina根目录 | 编译整个sdk
72+
make menuconfig |tina根目录 |启动软件包配置界面
73+
make kernel_menuconfig |tina根目录 |启动内核配置界面
74+
croot |tina下任意目录 |快速切换到tina根目录
75+
cconfigs |tina 下任意目录 |快速切换到方案的 bsp 配置目录
76+
cdevice |tina 下任意目录 |快速切换到方案配置目录
77+
cgeneric |tina 下任意目录| 快速切换到方案 generic 目录
78+
cout |tina 下任意目录 |快速切换到方案的输出目录
79+
cboot |tina 下任意目录 |快速切换到 bootloader 目录
80+
cgrep |tina 下任意目录 |在 c / c++ / h 文件中查找字符串
81+
minstall |path/to/package/ |tina 根目录 编译并安装软件包
82+
mclean |path/to/package/ |tina 根目录 clean 软件包
83+
mm [-B] |软件包目录 |编译软件包, -B 指编译前先 clean
84+
pack |tina 根目录| 打包固件
85+
m |tina 下任意目录 |make 的快捷命令,编译整个 sdk
86+
p |tina 下任意目录 |pack 的快捷命令,打包固件
87+
88+
在上一步已经在根目录执行了make,编译完整个sdk之后,按照上面列表里的命令在之前的shell里执行pack进行镜像打包,可能需要等个一分钟左右才能打包完毕,打包完在根目录下的out目录会有tina的img镜像文件,像下面这样:
89+
90+
```
91+
tina_d1-h-nezha_uart0.img
92+
```
93+
94+
格式应该是“tina开发平台+芯片型号+开发板+调试串口“这样子
95+
96+
最后就开始烧录
97+
98+
1. 在shell中将img拷贝到win下(之前挂的共享目录)
99+
2. 在win中执行phoenixsuit烧录软件
100+
3. 在一键刷机选择上面共享目录中拷贝出来的img文件
101+
4. 选择全盘擦除升级,然后点击立即升级就完事儿(当然前提是驱动得装好,后面调试应用会用到adb),这里如果升级没反应,按下fel,然后reset两秒左右松开,然后松开fel就行了

0 commit comments

Comments
 (0)