各位關(guān)注先楫的小伙伴們,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式發(fā)布了。
支持的開(kāi)發(fā)板
HPM6750EVK2
HPM6300EVK
HPM6200EVK
HPM5300EVK
提供的主要功能
對(duì)如下drivers進(jìn)行了適配:
基本通信外設(shè): 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
開(kāi)發(fā)環(huán)境搭建
開(kāi)發(fā)環(huán)境
Ubuntu 22.04 LTS
下載并安裝軟件依賴(lài)包
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
請(qǐng)安裝相關(guān)軟件依賴(lài)包,執(zhí)行指令如下
下載并安裝GCC
下載鏈接為:
https://github.com/hpmicro/riscv-gnu-toolchain/releases/tag/2022.05.15
在Home路徑中新建ToolChain文件夾,路徑為 ~/Toolchain ,并將工具鏈解壓至該文件夾中
在 ~/.bashrc 文件中的最后一行新增如下語(yǔ)句,將工具鏈加入到環(huán)境變量 $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 文件中的最后一行新增如下語(yǔ)句,將工具加入到環(huán)境變量 $PATH 中。
- export PATH=$PATH:~/Toolchain/openocd-linux
克隆 nuttx_hpmicro 代碼倉(cāng)庫(kù)
nuttx_hpmicro 包含 nuttx 和 apps 兩個(gè)submodule,克隆指令如下:
git clone --recursive https://github.com/hpmicro/nuttx_hpmicro.git
- HPMicro 移植的相關(guān)源碼路徑
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系列串口芯片無(wú)法識(shí)別問(wèn)題
sudo systemctl stop brltty-udev.service
sudo systemctl mask brltty-udev.service
sudo systemctl stop brltty.service
sudo systemctl disable brltty.service
hpm6750evk2使用CH340作為調(diào)試串口,但在Ubuntu 22.04不識(shí)別,主要原因是驅(qū)動(dòng)被brltty占用了,解決辦法禁用占用項(xiàng),指令如下:
編譯并執(zhí)行NSH示例
編譯nsh示例
以nsh為例,到nuttx_hpmicro/nuttx目錄下,執(zhí)行指令如下:
./tools/configure.sh -l hpm6750evk2-sdk:nsh
make
下載并運(yùn)行
使用 FireDAP仿真器 + OpenOCD 的方式進(jìn)行下載調(diào)試
以hpm6750evk2為例,到nuttx_hpmicro/nuttx/arch/risc-v/src/hpmicro/hpm_sdk/boards/openocd目錄下啟動(dòng)OpenOCD,指令如下:
openocd -f probes/cmsis_dap.cfg -f soc/hpm6750-single-core.
cfg -f boards/hpm6750evk2.cfg
打開(kāi)串口調(diào)試終端Console,指令如下:
sudo picocom -b 115200 /dev/ttyUSB0
到nuttx_hpmicro/nuttx目錄下
使用GDB下載并運(yùn)行程序,指令如下
riscv32-unknown-elf-gdb ./nuttx
(gdb) target remote localhost:3333
(gdb) mon reset halt
(gdb) load
(gdb) c
可在串口調(diào)試終端進(jìn)行交互
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!!
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5074瀏覽量
97656 -
先楫半導(dǎo)體
+關(guān)注
關(guān)注
10文章
214瀏覽量
2130
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論