| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| gr551x/ | 12-May-2024 | - | 138,997 | 56,251 | ||
| BUILD.gn | D | 12-May-2024 | 772 | 21 | 19 | |
| Kconfig.liteos_m.defconfig | D | 12-May-2024 | 632 | 14 | 13 | |
| Kconfig.liteos_m.series | D | 12-May-2024 | 624 | 15 | 13 | |
| Kconfig.liteos_m.soc | D | 12-May-2024 | 753 | 22 | 19 | |
| LICENSE | D | 12-May-2024 | 9.9 KiB | 177 | 150 | |
| OAT.xml | D | 12-May-2024 | 2.4 KiB | 43 | 24 | |
| README.en.md | D | 12-May-2024 | 973 | 37 | 25 | |
| README.md | D | 12-May-2024 | 19.3 KiB | 449 | 298 |
README.en.md
1# devboard_device_goodix_gr551x 2 3#### Description 4{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} 5 6#### Software Architecture 7Software architecture description 8 9#### Installation 10 111. xxxx 122. xxxx 133. xxxx 14 15#### Instructions 16 171. xxxx 182. xxxx 193. xxxx 20 21#### Contribution 22 231. Fork the repository 242. Create Feat_xxx branch 253. Commit your code 264. Create Pull Request 27 28 29#### Gitee Feature 30 311. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md 322. Gitee blog [blog.gitee.com](https://blog.gitee.com) 333. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) 344. The most valuable open source project [GVP](https://gitee.com/gvp) 355. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) 366. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) 37
README.md
1# device_gr551x 2 3## 介绍 4 5以下内容步骤参考[quickstart-lite-env-setup-linux](https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-lite-env-setup-linux.md) 6 7系统要求:Ubuntu16.04 或 Ubuntu18.04 64位系统版本。 8 9编译环境搭建包含如下几步: 10 11 121. 安装必要的库和工具 132. 安装python3 143. 安装hb 154. 安装编译工具链 165. 获取源码 176. 确认目录结构 187. 编译流程 198. 烧录 20 21## 工具安装 22 23### 安装repo 24 251. 创建repo安装目录:命令行输入`mkdir ~/bin` 262. 下载repo:命令行输入`wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/` 273. 改变执行权限:命令行输入`chmod a+x ~/bin/repo` 284. 设置环境变量:在~/.bashrc文件的最后输入`export PATH=~/bin:$PATH`和`export REPO_URL=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/` 295. 重启shell 30 31 32### 安装必要的库和工具 33 34> - 通常系统默认安装samba、vim等常用软件,需要做适当适配以支持Linux服务器与Windows工作台之间的文件共享。 35 36> - 使用如下apt-get命令安装编译所需的必要的库和工具: 37 38``` 39sudo 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 40``` 41 42### 安装Python3 43 441. 打开Linux编译服务器终端。 452. 输入如下命令,查看python版本号: 46 47 ``` 48 python3 --version 49 ``` 50 51 如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。 52 53 1. 运行如下命令,查看Ubuntu版本: 54 55 ``` 56 cat /etc/issue 57 ``` 58 59 1. 根据Ubuntu不同版本,安装python。 60 - 如果Ubuntu 版本为18+,运行如下命令。 61 62 ``` 63 sudo apt-get install python3.8 64 ``` 65 - 如果Ubuntu版本为16。 66 67 a. 安装依赖包 68 69 ``` 70 sudo apt update && sudo apt install software-properties-common 71 ``` 72 73 b. 添加deadsnakes PPA 源,然后按回车键确认安装。 74 75 ``` 76 sudo add-apt-repository ppa:deadsnakes/ppa 77 ``` 78 79 c. 安装python3.8 80 81 ``` 82 sudo apt upgrade && sudo apt install python3.8 83 ``` 843. 设置python和python3软链接为python3.8。 85 86 ``` 87 sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 88 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 89 ``` 904. 安装并升级Python包管理工具(pip3),任选如下一种方式。 91 92 - **命令行方式:** 93 94 ``` 95 sudo apt-get install python3-setuptools python3-pip -y 96 sudo pip3 install --upgrade pip 97 ``` 98 - **安装包方式:** 99 100 ``` 101 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 102 python get-pip.py 103 ``` 104 105### 安装hb 106 107#### 前提条件 108 109请先安装Python 3.7.4及以上版本,请见[安装Python3](#section1238412211211)。 110 111#### 安装方法 112 1131. 运行如下命令安装hb 114 115 ``` 116 python3 -m pip install --user ohos-build 117 ``` 1182. 设置环境变量 119 120 ``` 121 vim ~/.bashrc 122 ``` 123 124 将以下命令拷贝到.bashrc文件的最后一行,保存并退出。 125 126 ``` 127 export PATH=~/.local/bin:$PATH 128 ``` 129 130 执行如下命令更新环境变量。 131 132 ``` 133 source ~/.bashrc 134 ``` 1353. 执行"hb -h",有打印以下信息即表示安装成功: 136 137 ``` 138 usage: hb 139 140 OHOS build system 141 142 positional arguments: 143 {build,set,env,clean} 144 build Build source code 145 set OHOS build settings 146 env Show OHOS build env 147 clean Clean output 148 149 optional arguments: 150 -h, --help show this help message and exit 151 ``` 152 153### 安装编译工具链 154 1551. 编译链工具推荐使用gcc-arm-none-eabi-10-2020-q4-major。(下载网站:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads )。 1562. 执行`vim ~/.bashrc`。 1573. 将工具链的路径加入环境变量, 如:`export PATH=/home/tools/ARM/gcc-arm-none-eabi-10-2020-q4-major/bin:$PATH`。 1583. 保存后执行`source ~/.bashrc`使环境变量生效。 159 160## 获取代码流程 161 1621. 新建代码存放目录(用户可以自行指定为其他目录),并进入: 163``` 164mkdir ~/openharmony 165cd ~/openharmony 166``` 1672. 打包下载所有文件,此时默认的Harmony版本为Master: 168``` 169repo init -u https://gitee.com/openharmony/manifest --no-repo-verify 170``` 1713. 下载好仓库后,输入:`repo sync -c`,也就是下载当前分支的代码。 1724. 下载好代码后,输入:`repo forall -c 'git lfs pull'`,下载部分大容量二进制文件。 173 174## 确认目录结构 175 176在device文件夹下,确保device/soc目录结构如下 177 178```shell 179user:~/openharmony/device/soc$ tree -L 3 180. 181└── goodix 182 ├── BUILD.gn # GN构建脚本 183 ├── gr551x # gr551x soc适配目录 184 │ ├── adapter # 外设驱动、BLE、文件系统适配 185 │ ├── BUILD.gn # GN构建脚本 186 │ ├── components # 组件 187 │ ├── hcs # 设备描述文件 188 │ ├── Kconfig.liteos_m.defconfig.gr551x # gr551x Kconfig默认配置 189 │ ├── Kconfig.liteos_m.defconfig.series # series Kconfig默认配置 190 │ ├── Kconfig.liteos_m.series # series Kconfig配置项 191 │ ├── Kconfig.liteos_m.soc # soc Kconfig配置项 192 │ ├── sdk_liteos # Liteos GR551x SDK适配 193 │ └── tools # 固件生成工具 194 ├── Kconfig.liteos_m.defconfig # liteos_m Kconfig默认配置 195 ├── Kconfig.liteos_m.series # liteos_m series配置项 196 └── Kconfig.liteos_m.soc # liteos_m soc配置项 197``` 198 199在device文件夹下,确保device/board目录结构如下 200 201```shell 202user:~/openharmony/device/board$ tree -L 3 203. 204└── goodix 205 ├── BUILD.gn # GN构建脚本 206 ├── drivers # 板级驱动存放目录 207 │ └── BUILD.gn # GN构建脚本 208 ├── gr5515_sk # GR5515 Starter Kit开发板配置目录 209 │ ├── BUILD.gn # GN构建脚本 210 │ ├── gr5515_sk_defconfig # GR5515 Starter Kit Kconfig默认配置 211 │ ├── Kconfig.liteos_m.board # Board liteos_m Kconfig配置项 212 │ ├── Kconfig.liteos_m.defconfig.board # Board liteos_m Kconfig默认配置 213 │ └── liteos_m # 构建脚本目录 214 ├── hcs # hcs硬件描述配置目录 215 │ ├── BUILD.gn # GN构建脚本 216 │ └── gr5515_sk.hcs # GR5515 Starter Kit hcs硬件描述脚本 217 ├── Kconfig.liteos_m.boards # Board liteos_m Kconfig配置项 218 └── Kconfig.liteos_m.defconfig.boards # Board liteos_m Kconfig默认配置 219``` 220 221在vendor文件夹下,确保vendor文件夹目录结构如下 222 223```shell 224user:~/openharmony/vendor$ tree -L 3 225. 226└── goodix 227 ├── gr5515_sk_iotlink_demo # BLE应用示例工程 228 │ ├── ble_template # BLE示例代码 229 │ ├── BUILD.gn # GN构建脚本 230 │ ├── config.json # 子系统裁配置裁剪脚本 231 │ ├── hals # 产品参数配置 232 │ ├── hdf_config # HDF硬件描述配置 233 │ └── kernel_configs # Kconfig配置输出 234 └── gr5515_sk_xts_demo # XTS测试示例工程 235 ├── BUILD.gn # GN构建脚本 236 ├── config.json # 子系统裁配置裁剪脚本 237 ├── tests # 测试用例 238 ├── hals # 产品参数配置 239 ├── hdf_config # HDF硬件描述配置 240 └── kernel_configs # Kconfig配置输出 241``` 242 243## 编译工程 244 245进入源码根目录编译工程 246 247 `hb set -root .` 选择当前路径为工程根目录 248 249 `hb set -p ` 选择工程 250 251 goodix 252 >gr5515_sk_iotlink_demo 253 gr5515_sk_xts_demo 254 255 `hb build -f` 开始编译,后续修改了文件只需要执行`hb build -f`即可,不需要重复以上步骤。 256 257如果hb set命令提示报错,请先执行一次`python3 -m pip install build/lite` 258 259## 固件烧录 260 261生成的固件位于**out/{board_name}/{product_name}/bin/application_fw.bin**。 262 263### Windows下固件烧录 264 265#### 软件安装 266 267GProgrammer仅支持在Windows平台下安装使用,其可执行安装程序为GProgrammer Setup Version.exe。[点击下载GProgrammer](https://product.goodix.com/zh/software_tool/gprogrammer) 268 269用户可按照以下步骤安装GProgrammer: 270 2711. 双击GProgrammer的可执行安装程序GProgrammer Setup Version.exe,进入GProgrammer安装界面,然后按照安装向导提示逐步完成安装操作。 272 273 274 2752. GProgrammer安装完成后,将提示用户继续安装JLink驱动,如下图所示。 276 277 278 2793. JLink安装完成后,用户可通过桌面或开始菜单的快捷方式启动GProgrammer软件。 280 281#### 硬件连接 282 283GProgrammer既支持JLink SWD方式烧录,也支持串口方式烧录,这里推荐使用SWD连接方式。 284 285选择SWD连接方式时,用户需使用J-Link仿真器来连接PC和目标板。使用USB线将仿真器的一端与PC相连,使用杜邦线将仿真器的另一端与目标板上的芯片管脚相连。 286 287 288 289 290J-Link仿真器与芯片管脚的连接对应关系如下: 291 292| J-Link仿真器管脚 | GR551x芯片管脚 | 293| ---------------- | -------------- | 294| VCC | VCC | 295| GND | GND | 296| SWDIO | GPIO_1 | 297| SWCLK | GPIO_0 | 298 299 300**提示:** 如过用户使用的是Goodix的GR5515 Starter Kit开发板,开发板已经集成J-Link OB芯片,用户只需使用一根Micro USB 2.0线连接开发板和PC,Mirco USB用于供电以及通过J-Link进行固件烧录。 301 302#### 芯片选型 303 304启动GProgrammer后,默认进入芯片选型页面,如下图所示,根据自己产品或者开发板使用的芯片型号选择对应的芯片型号。 305 306 307 308选择芯片型号后,进入主界面: 309 310 311 312软件界面的左侧为功能导航栏(具体描述见下表),右侧为功能操作区域。 313 314| 图标 | 功能名称 | 描述 | 315| ------------------------------------------------------------------------------------------------------------------------------- | ------------------ | -------------------------------- | 316|  | Firmware | 点击该图标,进入固件操作页面 | 317|  | Flash | 点击该图标,进入Flash操作页面 | 318|  | Encrypt & Sign | 点击该图标,进入加密加签操作页面 | 319|  | eFuse Layout | 点击该图标,进入eFuse展示操作页面 | 320|  | Chip Configuration | 点击该图标,进入芯片配置操作页面 | 321|  | Device Log | 点击该图标,进入设备日志操作页面 | 322|  | Help | 点击该图标,进入帮助操作页面 | 323 324 325#### 连接设备 326 327用户可管理控制目标板与主机之间的连接。 328 329点击软件界面右上角的 ,可展开连接管理面板;再次点击 ,可收起并隐藏该面板。 330 331GProgrammer支持SWD和串口两种连接方式。 332 333* SWD连接 334 335在SWD连接方式下,用户只需配置传输速率**Speed**,即可点击**Connect**按钮连接目标板。 336 337<img src="https://docs.goodix.com/zh/docimg/gprogrammer_user_guide/227/gprogrammer_V2.3/zh//images/3_7SWD_connect.png" width = "323" height = "450" alt="SWD连接" align=“center” /> 338 339* 串口(UART)连接 340在串口(UART)连接方式下,用户可根据实际情况配置串口号Port(需点击Refresh按钮获取串口号列表,再选择正确的串口号)和波特率,其他参数默认配置不可修改。 341 342<img src="https://docs.goodix.com/zh/docimg/gprogrammer_user_guide/227/gprogrammer_V2.3/zh//images/3_8UART_connect.png" width = "323" height = "450" alt="串口连接" align=“center” /> 343 344参数配置完成后,点击**Connect**按钮连接目标板。 345 346目标板连接成功后,连接管理面板将自动收起并隐藏。同时,按钮将变成,表示当前的连接状态为“已连接”。 347 348如需断开连接,再次点击,打开连接管理面板,然后点击Disconnect按钮即可。 349 350<img src="https://docs.goodix.com/zh/docimg/gprogrammer_user_guide/227/gprogrammer_V2.3/zh//images/3_9disconnect.png" width = "323" height = "450" alt="断开连接" align=“center” /> 351 352 353#### 固件下载 354 355GProgrammer以图形化方式展示Flash Firmware Layout(如图下图所示),可帮助用户直观了解Flash中固件区域的占用情况。 356 357 358 359(浅灰色):可下载的Flash空间。 360 361(深蓝色):软件默认配置的NVDS区域。固件不能下载至该区域。 362 363(深灰色):待删除的固件,如ble_app_ancs。 364 365(浅绿色):待下载的固件,如ble_app_hrs。 366 367(深绿色):已存在于Flash中的固件,如ble_app_bps。 368 369(红色):两个固件的占用空间的重叠区域,如ble_app_T3u和ble_app_hts。 370 371用户下载固件时,请按以下步骤操作: 372 3731. 点击**Add**按钮,从本地添加需下载的固件文件。固件文件添加后,可查看到该固件的详细信息,例如固件文件路径、固件Image Info信息。 374 3752. 在图形化展示的Flash Firmware Layout区域中,选中要启动的固件,点击**Startup**按钮,此时该选中的固件会出现一个小火箭,表示下载成功后立即启动该固件。 376 3772. 点击**Commit**按钮,将固件文件下载到Flash。 378 379下载完成后,若Layout示意图中的固件由浅绿色变为深绿色,则表示固件下载成功。 380 381**提示:** 更详细的GProgrammer使用指导,参考[GProgrammer用户手册](https://docs.goodix.com/zh/online/detail/gprogrammer_user_guide/V2.3/49d7f26f7b5054f6b7ea83e073f8e6c6) 382 383### Linux下固件烧录 384 385#### 1. GProgrammer获取: 386 387``` 388git clone https://gitee.com/sink-top/gprogrammer-linux.git 389 390``` 391#### 2. 解压: 392 393``` 394cd gprogrammer-linux/ 395tar -xjvf GProgrammer-1.2.15.tar.bz2 396 397``` 398 399#### 3. 安装J-Link软件: 400 401``` 402cd GProgrammer-1.2.15/ 403sudo dpkg -i JLink_Linux_V618c_x86_64.deb 404 405``` 406 407#### 4. 固件下载 408 409参考上面"编译工程"章节,选中**gr5515_sk_xts_demo**工程编译后,生成的固件存放在"~/openharmony/out/gr551x/gr5515_sk_xts_demo/bin/application_fw.bin"。 410 411##### 1. 硬件连接 412 413J-Link仿真器与开发板或者产品正确连接,且J-Link仿真器的USB与Ubuntu连接,确保Ubuntu USB列表能找到J-Link设备。 414 415##### 2. 固件下载 416 417在GProgrammer-1.2.15目录下: 418 4191. 先擦除Flash上已经存在的固件 420 421* 全部擦除,包括文件系统、NVDS区域保存的用户信息,如果用户不关心这些信息,执行此命令: 422 423``` 424./GR551x_console eraseall 425``` 426 427* 擦除部分区域,保留文件系统、NVDS区域保存的用户信息: 428 429``` 430 ./GR551x_console erase 0x1000000 0x10c3000 y 431``` 432 433上面两种擦除方式,二选一执行。 434 4352. 烧录固件: 436 437``` 438 ./GR551x_console program ~/openharmony/out/gr551x/gr5515_sk_xts_demo/bin/application_fw.bin y 439``` 440 441**提示:** 更多GProgrammer命令的使用,请参考[GProgrammer命令行](https://docs.goodix.com/zh/online/detail/gprogrammer_user_guide/V2.3/c2309a4b419cd3bb0d5cb6b7335c077d) 442 443## 相关仓库 444 445[vendor_goodix](https://gitee.com/openharmony/vendor_goodix) 446 447[device_board_goodix](https://gitee.com/openharmony/device_board_goodix) 448 449