各位關注先楫的小伙伴們,基于OpenHarmony 4.0-Release版本和hpm_sdk v1.4.0 版本的 HPMicro ohos v1.0.0 正式發布了。
支持的開發板:
- HPM6750EVK2
- HPM6800EVK
- HPM6300EVK
- HPM6200EVK
- HPM5300EVK
提供的主要功能
對如下組件和驅動進行了適配:
定時器類: WATCHDOG
文件系統: littlefs
網絡協議棧: lwip
C庫:musl
組件類: bootstrap_lite,utils_lite,liteos_m,samgr_lite,hilog_lite,hievent_lite,hiview_lite,xts_acts,xts_tools
開發環境
推薦采用Windows+Ubuntu環境進行開發:
- Windows環境用于編寫代碼、下載程序和燒入固件等,系統要求:Windows 10 64位系統。
- Linux環境用于代碼下載、編譯工程和生成固件等,系統要求:Ubuntu 20.04 64位及以上版本。
注意:若不確定所使用的Linux設備的系統及版本,請在bash中運行如下命令查看:
lsb_release -a
請在確認Linux系統不低于Ubuntu 20.04.XX LTS的情況下執行后續的步驟;否則,請升級或更換合適的Liunx設備。
若需要支持在Linux與Windows之間的文件共享以及編輯,請在Linux設備上適當地安裝和配置samba、vim等常用軟件。
OpenHarmony開發環境搭建:
[準備開發環境]
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-prepare.md
[安裝庫和工具集]
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-install-package.md
編譯工具安裝
[gcc工具下載]
https://repo.huaweicloud.com/harmonyos/compiler/gcc_riscv32/7.3.0/linux/gcc_riscv32-linux-7.3.0.tar.gz
設置環境變量
說明:如果直接采用編譯好的riscv32 gcc包,請先執行以下命令將壓縮包解壓到用戶的home(也可以是其他目錄,注意使用實際的PATH即可):
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
將以下命令拷貝到`.bashrc`文件的最后一行,保存并退出。
export PATH=~/gcc_riscv32/bin:$PATH
執行下面命令使環境變量生效:
source ~/.bashrc
Shell命令行中輸入如下命令 `riscv32-unknown-elf-gcc -v`,如果能正確顯示編譯器版本號,表明編譯器安裝成功。
Using built-in specs.
COLLECT_GCC=riscv32-unknown-elf-gcc
COLLECT_LTO_WRAPPER=/home/hhp/ohos/tools/gcc_riscv32/bin/../libexec/gcc/riscv32-unknown-elf/7.3.0/lto-wrapper
Target: riscv32-unknown-elf
Configured with: ../riscv-gcc/configure --prefix=/home/yuanwenhong/gcc_compiler_riscv/gcc_riscv32/gcc_riscv32 --target=riscv32-unknown-elf --with-arch=rv32imc --with-abi=ilp32 --disable-__cxa_atexit --disable-libgomp --disable-libmudflap --enable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared --disable-threads --disable-multilib --enable-poison-system-directories --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-system-zlib CFLAGS='-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -fPIE' CXXFLAGS='-fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wl,-z,relro,-z,now,-z,noexecstack -fPIE' LDFLAGS=-Wl,-z,relro,-z,now,-z,noexecstack 'CXXFLAGS_FOR_TARGET=-Os -mcmodel=medlow -Wall -fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fno-short-enums -fno-short-wchar' 'CFLAGS_FOR_TARGET=-Os -mcmodel=medlow -Wall -fstack-protector-strong -Wl,-z,relro,-z,now,-z,noexecstack -Wtrampolines -fno-short-enums -fno-short-wchar' --with-headers=/home/yuanwenhong/gcc_compiler_riscv/gcc_riscv32/gcc-riscv32/riscv32-unknown-elf/include --with-mpc=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.2
Thread model: single
源碼獲取:
[獲取源碼]
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-sourcecode.md
[安裝hb工具]
https://gitee.com/openharmony/docs/blob/master/zh-cn/device-dev/quick-start/quickstart-pkg-install-tool.md
注意:默認下載的是master分支版本,如果想下載其他分支版本請將-b master改為需要下載的分支。
比如下載OpenHarmony-4.0-Release:
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verify
hb 安裝報錯:
WARNING: The scripts alldefconfig, allmodconfig, allnoconfig, allyesconfig, defconfig, genconfig, guiconfig, listnewconfig, menuconfig, oldconfig, olddefconfig, savedefconfig and setconfig are installed in '/home/xxx/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The script hb is installed in '/home/xxx/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.```
解決辦法:
1. 將以下命令拷貝到.bashrc文件的最后一行,保存并退出。
export PATH=~/.local/bin:$PATH
2. 執行如下命令更新環境變量
source ~/.bashrc
python3 -m pip uninstall ohos-build
python3 -m pip install --user build/hb
工程編譯
選擇目標工程:
執行hb set選擇hpmicro下的hpm6750evk2:
也可以直接通過命令指定
hb set -p hpm6750evk2
編譯工程
執行`hb build -f` 進行工程編譯,編譯成功后顯示如下內容:
打開xts功能
執行hb build -f --gn-args="build_xts=true"命令進行xts編譯。
鏡像燒錄
下載安裝燒錄工具(windows)
點擊[先楫系列資料] 百度網盤下載sdk/HPMicro_Manufacturing_Tool_vx.x.x.zip
網盤鏈接:https://pan.baidu.com/s/1RaYHOD7xk7fnotmgLpoAlA?pwd=xk2n
下載后解壓HPMicro_Manufacturing_Tool_vx.x.x.zip文件到任意目錄。
找到 hpm_manufacturing_gui.exe,雙擊執行程序:
下載程序到開發板:
1. 將開發板的USB2UART0接口連接至PC,正確連接后,PC可識別到一路usb串口,hpm6750evk2板載了ch340 usb轉串口芯片。
2. 將BOOT撥碼開關設置為:
boot0: 0
boot1: 1
撥碼開關設置好后,點擊開發板的`RESTN`按鈕,進行復位,復位后進入到isp模式。
3. 配置hpm_manufacturing_gui的 類型為:UART 并選擇選擇步驟1中對用的串口,點擊連接:
連接成功:
4. 拷貝編譯好的固件程序out/hpm6750evk2/hpm6750evk2/OHOS_Image.bin到windows。
5. 選擇固件程序,點擊燒寫進行下載:
6. 設置撥碼開關為正常模式
boot0: 0
boot1: 0
7. 打開一個串口終端MobaXterm,重啟開發板,串口打印啟動信息
8. hpm_manufacturing_gui更多用法,請參考:HPMicro_Manufacturing_Tool_vx.x.x\doc\user_manual.html
openocd 進行調試鏡像
1. 下載openocd
git clone git@gitee.com:hpmicro/riscv-openocd.git -b riscv-hpmicro
2. 安裝依賴工具
sudo apt install libtool libusb-1.0-0-dev libhidapi-dev libftdi-dev
3. 安裝
進入源碼目錄,并執行下面的命令
./bootstrap
./configure
make -j16
sudo make install
sudo cp contrib/60-openocd.rules /etc/udev/rules.d/
4. 連接燒寫和目標板
5. 啟動openocd
進入到ohos源碼device/soc/hpmicro/sdk/hpm_sdk/boards/openocd,執行如下命令:
$ openocd -s . -f probes/cmsis_dap.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evk2.cfg
Open On-Chip Debugger 0.11.0+dev (2024-01-08-14:39)
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : CMSIS-DAP: SWD supported
Info : CMSIS-DAP: JTAG supported
Info : CMSIS-DAP: Atomic commands supported
Info : CMSIS-DAP: Test domain timer supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (JTAG)
Info : SWCLK/TCK = 0 SWDIO/TMS = 1 TDI = 0 TDO = 1 nTRST = 0 nRESET = 0
Info : CMSIS-DAP: Interface ready
Info : clock speed 8000 kHz
Info : cmsis-dap JTAG TLR_RESET
Info : cmsis-dap JTAG TLR_RESET
Info : JTAG tap: hpm6750.cpu tap/device found: 0x1000563d (mfg: 0x31e (Andes Technology Corporation), part: 0x0005, ver: 0x1)
Info : [hpm6750.cpu0] datacount=4 progbufsize=8
Info : Examined RISC-V core; found 2 harts
Info : hart 0: XLEN=32, misa=0x4094112d
[hpm6750.cpu0] Target successfully examined.
Info : starting gdb server for hpm6750.cpu0 on 3333
Info : Listening on port 3333 for gdb connections
6. 打開另一個終端,并進入ohos源碼目錄,啟動gdb
$ riscv32-unknown-elf-gdb
GNU gdb (GDB) 8.1.50.20180718-git
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "--host=x86_64-pc-linux-gnu --target=riscv32-unknown-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)
7. 選擇需要調試的鏡像,并進行加載調試
(gdb) file out/hpm6750evk2/hpm6750evk2/OHOS_Image
Reading symbols from out/hpm6750evk2/hpm6750evk2/OHOS_Image...done.
(gdb) target extended-remote :3333
Remote debugging using :3333
warning: Target-supplied registers are not supported by the current architecture
_start () at ../../../device/soc/hpmicro/hpm6700/liteos_m/los_start.S:26
26 la gp, __global_pointer$
(gdb) load
Loading section .nor_cfg_option, size 0x10 lma 0x80000400
Loading section .boot_header, size 0x90 lma 0x80001000
Loading section .start, size 0x2e lma 0x80003000
Loading section .vectors, size 0x3c0 lma 0x8000302e
Loading section .text, size 0x5876e lma 0x800033ee
Loading section .data, size 0x1158 lma 0x8005bb5c
Start address 0x80003000, load size 367956
Transfer rate: 6 KB/sec, 13141 bytes/write.
(gdb) c
相關倉庫
[vendor_hpmicro]
https://gitee.com/openharmony/vendor_hpmicro
[device_soc_hpmicro]
https://gitee.com/openharmony/device_soc_hpmicro
[device_board_hpmicro]
https://gitee.com/openharmony/device_board_hpmicro
-
開發板
+關注
關注
25文章
5032瀏覽量
97375 -
OpenHarmony
+關注
關注
25文章
3713瀏覽量
16255 -
先楫半導體
+關注
關注
10文章
214瀏覽量
2102
發布評論請先 登錄
相關推薦
評論