各位關注先楫的小伙伴們,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式發布了。
支持的開發板
HPM6750EVK2
HPM6300EVK
HPM6200EVK
HPM5300EVK
提供的主要功能
對如下drivers進行了適配:
基本通信外設: UART,I2C, SPI, CAN, SDIO
其他:FPU, DMA, ADC, PWM, GPIO, RANDOM
提供了如下apps示例
HPM6750EVK2: fpu, gpio, nsh, adc, can, cansock, lvgl_lcd, mmcsd, i2c_tools, nx_lcd_demo, pwm, random, rtc, tcpecho, timers, usb_dev_cdcacm, usb_dev_msc, usb_host, userled
HPM6300EVK: fpu, gpio, nsh
HPM6200EVK: fpu, gpio, nsh
HPM5300EVK: fpu, gpio, nsh
開發環境搭建
開發環境
Ubuntu 22.04 LTS
下載并安裝軟件依賴包
sudo apt install \
bison flex gettext texinfo libncurses5-dev libncursesw5-dev xxd \
gperf automake libtool pkg-config build-essential gperf genromfs \
libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \
libexpat-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux \
kconfig-frontends curl
請安裝相關軟件依賴包,執行指令如下
下載并安裝GCC
下載鏈接為:
https://github.com/hpmicro/riscv-gnu-toolchain/releases/tag/2022.05.15
在Home路徑中新建ToolChain文件夾,路徑為 ~/Toolchain ,并將工具鏈解壓至該文件夾中
在 ~/.bashrc 文件中的最后一行新增如下語句,將工具鏈加入到環境變量 $PATH 中。
export PATH=$PATH:~/Toolchain/riscv32-unknown-elf-newlib-multilib_2022.05.15_linux/riscv32-unknown-elf-newlib
下載并安裝OpenOCD
下載鏈接為:
https://github.com/hpmicro/riscv-openocd/releases/tag/hpm_xpi_v0.2.0
將其解壓至 ~/Toolchain 文件夾中
在 ~/.bashrc 文件中的最后一行新增如下語句,將工具加入到環境變量 $PATH 中。
- export PATH=$PATH:~/Toolchain/openocd-linux
克隆 nuttx_hpmicro 代碼倉庫
nuttx_hpmicro 包含 nuttx 和 apps 兩個submodule,克隆指令如下:
git clone --recursive https://github.com/hpmicro/nuttx_hpmicro.git
- HPMicro 移植的相關源碼路徑
nuttx_hpmicro/nuttx/arch/risc-v/include/hpmicro
nuttx_hpmicro/nuttx/arch/risc-v/src/hpmicro
nuttx_hpmicro/nuttx/boards/risc-v/hpmicro
解決Ubuntu 22.04 CH340系列串口芯片無法識別問題
sudo systemctl stop brltty-udev.service
sudo systemctl mask brltty-udev.service
sudo systemctl stop brltty.service
sudo systemctl disable brltty.service
hpm6750evk2使用CH340作為調試串口,但在Ubuntu 22.04不識別,主要原因是驅動被brltty占用了,解決辦法禁用占用項,指令如下:
編譯并執行NSH示例
編譯nsh示例
以nsh為例,到nuttx_hpmicro/nuttx目錄下,執行指令如下:
./tools/configure.sh -l hpm6750evk2-sdk:nsh
make
下載并運行
使用 FireDAP仿真器 + OpenOCD 的方式進行下載調試
以hpm6750evk2為例,到nuttx_hpmicro/nuttx/arch/risc-v/src/hpmicro/hpm_sdk/boards/openocd目錄下啟動OpenOCD,指令如下:
openocd -f probes/cmsis_dap.cfg -f soc/hpm6750-single-core.
cfg -f boards/hpm6750evk2.cfg
打開串口調試終端Console,指令如下:
sudo picocom -b 115200 /dev/ttyUSB0
到nuttx_hpmicro/nuttx目錄下
使用GDB下載并運行程序,指令如下
riscv32-unknown-elf-gdb ./nuttx
(gdb) target remote localhost:3333
(gdb) mon reset halt
(gdb) load
(gdb) c
可在串口調試終端進行交互
NuttShell (NSH)
nsh>
nsh> help
help usage: help [-v] []
? echo free ls ps uname
cat env help mount pwd usleep
cd exec kill printf sleep
Builtin Apps:
hello nsh sh
nsh> hello
Hello, World!!
-
開發板
+關注
關注
25文章
5032瀏覽量
97375 -
先楫半導體
+關注
關注
10文章
214瀏覽量
2102
發布評論請先 登錄
相關推薦
評論