• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# device_bestechnic
2
3#### 介绍
4
5##### 目录
6
7```
8device/soc/
9├── bes2600                               # 芯片SOC名称
10├── bes2x00                               # 芯片SOC名称
11├── ...                                   # 芯片SOC名称
12|
13├── hals                                  # hals适配目录
14│   └── communication                     # 连接类接口适配目录
15│       └── wifi_lite                     # 轻量级wifi适配目录
16├── Kconfig.liteos_m.defconfig            # kconfig 默认宏配置
17├── Kconfig.liteos_m.series               # bes系列soc配置宏
18└── Kconfig.liteos_m.soc                  # soc kconfig配置宏
19```
20
21整个编译框架如下:
22
23```
24#                                    +-----------------+
25#                                    | topographic map |
26#                                    +-----------------+
27# topographic map descripe how to generate write_flash_gui.tar.gz, according to depends rules.
28#
29#                               +-----------------------------+
30#                       +-----> |    copy_${exe_bin}_to_gui   |
31#                       |       +-----------------------------+
32#                       |       +-----------------------------+
33#                       +-----> |   copy_${fs_name}_to_gui    |
34# +---------------+     |       +-----------------------------+
35# | pack_flash_gui|---> +
36# +---------------+     |       +-----------------------------+
37#                       +-----> | copy_${bsp_bin_name}_to_gui |
38#                       |       +-----------------------------+
39#                       |       +-----------------------------+     +-----------------+
40#                       +-----> | update_${product_name}_yaml | --> | init_burn_tools |
41#                               +-----------------------------+     +-----------------+
42#                                                                                             +--------------------+     +---------+
43#                                                                                             | gen_bin_${exe_bin} | --> | exe_bin |
44# excutable bin topographic map:                                                              +--------------------+     +---------+
45#                             +--------+                  +-------------------------------+   /                                |
46#                             | no sig | ---------------> | copy_${exe_bin}_to_relase_bin | -+                                \|/
47#                             +--------+                  +-------------------------------+   \                                V
48# +------------------------+   /                                ^                              +-----------------+  +------------------------+
49# | copy_${exe_bin}_to_gui | -+                                /|\                             | init_burn_tools |  | gen_bsp_lib_${exe_bin} |
50# +------------------------+   \                                |                              +-----------------+  +------------------------+
51#                             +--------+     +--------------------------+                                                       |
52#                             |  sig   | --> | gen_bin_${burn_name}_sig |                                                      \|/
53#                             +--------+     +--------------------------+                                                       V
54#                                                                                                                    +--------------------+
55#                                                                                                                    | build_sdk_into_lib |
56#                                                                                                                    +--------------------+
57#
58# fs bin topographic map:
59#                             +--------+         +------------------+   +-----------------+
60#                             | no sig | ------> | genfs_${fs_name} |-->| init_burn_tools |
61#                             +--------+         +------------------+   +-----------------+
62# +------------------------+   /                         ^
63# | copy_${fs_name}_to_gui | -+                         /|\
64# +------------------------+   \                         |
65#                             +--------+     +----------------------+
66#                             |  sig   | --> | genfs_${fs_name}_sig |
67#                             +--------+     +----------------------+
68#
69# bsp bin topographic map:
70#                                                                                               +--------------------+
71#                                                                                               | build_sdk_into_lib |
72#                                                                                               +--------------------+
73#                                  +--------+         +------------------------------------+   /
74#                                  | no sig | ------> | copy_${bsp_bin_name}_to_relase_bin | -+
75#                                  +--------+         +------------------------------------+   \
76# +------------------------------+   /                         ^                                +-----------------+
77# | copy_${bsp_bin_name}_to_gui  | -+                         /|\                               | init_burn_tools |
78# +------------------------------+   \                         |                                +-----------------+
79#                                  +--------+     +------------------------------+
80#                                  |  sig   | --> | gen_bsp_bin_${burn_name}_sig |
81#                                  +--------+     +------------------------------+
82```
83
84以下内容步骤参考[quickstart-lite-env-setup-linux](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/Readme-CN.md)85
86仓库包含编译构建脚本和打包镜像工具。
87
88系统要求: Ubuntu18.04 64位系统版本。
89
90编译环境搭建包含如下几步:
91
921. 获取源码
932. 安装的库和工具
943. 安装python3
954. 安装hb
965. 安装arm-none-eabi-gcc
976. 编译流程
987. 烧录打印
99
100## 获取源码
101
102```shell
103mkdir openharmony_bestechnic
104
105cd openharmony_bestechnic
106
107repo init -u https://gitee.com/openharmony/manifest --no-repo-verify
108
109repo sync -c
110
111repo forall -c 'git lfs pull'
112```
113
114## 安装的库和工具
115
116> - 通常系统默认安装samba、vim等常用软件。
117
118> - 使用如下apt-get命令安装下面的库和工具:
119
120```
121sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi
122```
123
124## 安装Python3
125
1261. 打开Linux编译服务器终端。
1272. 输入如下命令,查看python版本号:
128
129   ```
130   python3 --version
131   ```
132   1. 运行如下命令,查看Ubuntu版本:
133
134   ```
135   cat /etc/issue
136   ```
137
138   2. ubuntu 18安装python。
139   ```
140   sudo apt-get install python3.8
141   ```
142
1433. 设置python和python3软链接为python3.8。
144
145   ```
146   sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
147   sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
148   ```
1494. 安装并升级Python包管理工具(pip3),任选如下一种方式。
150
151   - **命令行方式:**
152
153     ```
154     sudo apt-get install python3-setuptools python3-pip -y
155     sudo pip3 install --upgrade pip
156     ```
157   - **安装包方式:**
158
159     ```
160     curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
161     python get-pip.py
162     ```
163
164## 安装hb
165### 安装方法
166
1671. 运行如下命令安装hb
168
169   ```
170   pip3 uninstall ohos-build # 如果安装了hb,先卸载
171   pip3 install build/lite
172   ```
1732. 设置环境变量
174
175   ```
176   vim ~/.bashrc
177   ```
178
179   将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
180
181   ```
182   export PATH=~/.local/bin:$PATH
183   ```
184
185   执行如下命令更新环境变量。
186
187   ```
188   source ~/.bashrc
189   ```
1903. 执行"hb -h",有打印以下信息即表示安装成功:
191
192   ```
193   usage: hb
194
195   OHOS build system
196
197   positional arguments:
198     {build,set,env,clean}
199       build               Build source code
200       set                 OHOS build settings
201       env                 Show OHOS build env
202       clean               Clean output
203
204   optional arguments:
205     -h, --help            show this help message and exit
206   ```
207
208## 安装arm-none-eabi-gcc
209
2101. 打开Linux编译服务器终端。
2112. 下载[arm-none-eabi-gcc 编译工具下载](https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2)
2123. 解压 [gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2](https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2) 安装包至\~/toolchain/路径下。
213
214   ```shell
215   mkdir -p ~/toolchain/
216   tar -jxvf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 -C ~/toolchain/
217   ```
2184. 设置环境变量。
219
220   ```
221   vim ~/.bashrc
222   ```
223
224   将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
225
226   ```
227   export PATH=~/toolchain/gcc-arm-none-eabi-10.3-2021.10/bin:$PATH
228   ```
2295. 生效环境变量。
230
231   ```
232   source ~/.bashrc
233   ```
234
235## 编译流程
236
237```shell
238hb set -root .
239hb set -p
240
241bestechnic
242 > display_demo
243   iotlink_demo
244   xts_demo
245
246选择display_demo
247
248hb build -f
249```
250
251## 烧录打印
252
2531. windows10 安装uart 串口驱动 [CP2102usbqd](https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers)2542. 把 out/`<board>`/`<product name>`/write_flash_gui-`<product name>`-`<timestamp>`.tar.gz 拷贝到windows 环境解压。
2553. 双击 write_flash_gui-`<product name>`-`<timestamp>`/write_flash_gui/Wifi_download_main.exe2564. 点击串口列表 ![fileset](https://gitee.com/bestechnic/images/raw/master/fileset.png) 点击 list 按钮勾选弹出来的串口,然后点击ok。
2575. 点击开始烧录 ![start](https://gitee.com/bestechnic/images/raw/master/start.png) 等待烧录。
2586. 模组 单击 reset按钮(详见板子的按钮)进行烧录,烧录成功图形界面会显示success,反之显示fail。
2597. 打开串口工具(BAUDRATE:1500000),reset 或者power 按键(详见板子的按钮) 启动板子,查看log。
260
261# 相关仓
262
263* [device/soc/bestechnic](https://gitee.com/openharmony/device_soc_bestechnic)
264