先楫半导体HPMicro Nuttx v0.2.0 发布

描述

 

各位关注先楫的小伙伴们,基于Nuttx v12.4.0版本和hpm_sdk v1.4.0版本的HPMicro Nuttx v0.2.0正式发布了。
 

 


 

支持的开发板

HPM6750EVK2
 

HPM6300EVK
 

HPM6200EVK

HPM5300EVK

 

提供的主要功能

对如下drivers进行了适配:

基本通信外设: UARTI2C, 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 中。
 

  • export PATH=$PATH:~/Toolchain/openocd-linux
     

 

 

克隆 nuttx_hpmicro 代码仓库

nuttx_hpmicro 包含 nuttxapps 两个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!!

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分