HPMicro Nuttx 快速上手指南

仓库链接

Repo链接为:https://github.com/hpmicro/nuttx_hpmicro

支持的开发板

  • HPM6750EVK2
  • HPM6300EVK
  • HPM6200EVK
  • HPM5300EVK

提供的主要功能

  • 对如下drivers进行了适配

    • 基本通信外设: UART, I2C, SPI, CAN, SDIO
    • 高速通信接口: USB, Ethernet
    • 定时器类: GPTMR, RTC
    • 其他:FPU, DMA, ADC, PWM, GPIO, LCDRANDOM
  • 提供了如下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

克隆 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系列串口芯片无法识别问题

  • hpm6750evk2使用CH340作为调试串口,但在Ubuntu 22.04不识别,主要原因是驱动被brltty占用了,解决办法禁用占用项,指令如下:
    sudo systemctl stop brltty-udev.service
    sudo systemctl mask brltty-udev.service
    sudo systemctl stop brltty.service
    sudo systemctl disable brltty.service

编译并执行NSH示例

编译nsh示例

  • nsh为例,到nuttx_hpmicro/nuttx目录下,执行指令如下:
    ./tools/configure.sh -l hpm6750evk2-sdk:nsh
    make

    nuttx_config_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

    nuttx_openocd

  • 打开串口调试终端Console,指令如下:

    sudo picocom -b 115200 /dev/ttyUSB0

    nuttx_picocom

  • nuttx_hpmicro/nuttx目录下,使用GDB下载并运行程序,指令如下:

    riscv32-unknown-elf-gdb ./nuttx
        (gdb) target remote localhost:3333
        (gdb) mon reset halt
        (gdb) load
        (gdb) c

    nuttx_gdb

  • 可在串口调试终端进行交互

    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
0

订阅

发表回复 0

Your email address will not be published. Required fields are marked *

captcha
Enter the characters shown in the image:
Reload

This CAPTCHA helps ensure that you are human. Please enter the requested characters.