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.exe。 2564. 点击串口列表 ![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