各位关注先楫的小伙伴们,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式发布了。
支持的开发板
HPM6750EVK2
HPM6300EVK
HPM6200EVK
HPM5300EVK
提供的主要功能
对如下drivers进行了适配:
基本通信外设: UART,I2C, SPI, CAN, SDIO
高速通信接口: USB, Ethernet
定时器类: GPTIMER, RTC
其他: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 中。
克隆 nuttx_hpmicro 代码仓库
nuttx_hpmicro 包含 nuttx 和 apps 两个submodule,克隆指令如下:
git clone --recursive https://github.com/hpmicro/nuttx_hpmicro.git
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!!
全部0条评论
快来发表一下你的评论吧 !