“极客福音!HPM SDK Linux编译环境搭建”

描述

简介

HPM6700/6400 系列 MCU 是来自上海先楫半导体科技有限公司的高性能实时 RISC-V 微控制器,采用RISC-V内核,主频高达816MHz,为工业自动化及边缘计算应用提供了极大的算力、高效的控制能力及丰富的多媒体功能。
 

 

HPM SDK支持用Cmake为Segger和GCC提供示例项目,并同时集成进RT Thread、Zephyr等开源项目中。对于钟爱于命令行界面的极客来说,Linux环境编译是必不可少的,本文介绍了先楫半导体高性能MCU配套的HPM SDK(以下可简称SDK)在Linux系统上开发环境搭建指导说明,更多信息,请参考官网应用手册。 

 

Linux环境准备

 

· Linux建议使用 Ubuntu 18 以上的 LTS 版本。


 

· Linux环境交叉编译工具链:riscv32-gnu-toolchain-linux.zip


 

·  Linux环境openocd工具:openocd_linux_x86-64.tar.gz


 

·  HPM SDK

 

环境搭建

 

A.编译工具安装

 

sudo apt install build-essential cmake ninja-build libc6-i386 libc6-i386-cross libstdc++6-i386-cross

 

 

B.用于debug console串口工具cutecom安装

sudo apt install cutecom

 

C. Python安装

sudo apt install python3 python3-pip

 

D. 环境变量配置

l 下载riscv32-gnu-toolchain-linux.zip工具链压缩包,并解压到任意目录;

l 下载openocd_linux_x86-64.tar.gz工具压缩包,并解压到任意目录;

l 下载HPM SDK,并解压到任意目录;

l 申明系统环境变量“GNURISCV_TOOLCHAIN_PATH”指向工具链路径;

l 申明系统环境变量“HPM_SDK_BASE”指向SDK根目录;

l 申明系统环境变量“OPENOCD_SCRIPTS”指向SDK目录borads/openocd;

l 添加openocd工具路径到bash变量;

为了安全起见,修改.bashrc文件添加环境变量:

vi ~/.bashrc

注意:修改.bashrc文件后必须重启终端才能生效。

在文件末尾添加:

export GNURISCV_TOOLCHAIN_PATH=/home/zhangeg/work/toolchain/riscv32-gnu-toolchain-linux

export HPM_SDK_TOOLCHAIN_VARIANT=

export HPM_SDK_BASE=/home/zhangeg/work/hpm_sdk

export OPENOCD_SCRIPTS=$HPM_SDK_BASE/boards/openocd

export PATH=$PATH:/home/zhangeg/work/toolchain/openocd_linux_x86-64/bin/

注意:路径替换为自己的实际路径

 

LinuxLinux

编辑保存.bashrc文件后,重启终端。

 

E. 安装python依赖包

pip3 install --user -r $HPM_SDK_BASE/scripts/requirements.txt

 

Linux

 

构建编译

 

A. 切换到示例hello_world目录

cd samples/hello_world

 

Linux


 

B. 创建build目录并进入

mkdir build

cd build

 

Linux

C. Ninja-build产生构建文件

cmake -GNinja -DBOARD=hpm6750evkmini ..

 

Linux

D. ninja编译

ninja

 

Linux

当编译完成后,生成的elf以及对应其他文件可以在output目录中找到。

 

Linux

 

调试运行

 

A. 切换目录到openocd:

PC电脑连接HPM6750 EVK mini开发板。

切换到sdk boards/openocd目录:

 

Linux


 

B. 运行openocd:

需要按顺序指定配置文件: 调试器配置, 内核配置, 目标板配置。例如,通过ft2232在hpm6750evkmini上进行单核调试,可以运行如下命令:

openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg

 

Linux

注意:

如遇到:

1.Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND,检查FTDI usb驱动。如果驱动未正确安装,请重新安装。

2.Error: libusb_open() failed with LIBUSB_ERROR_ACCESS,权限问题:sudo chmod -R 777 /dev/bus/

 

Linux

 

C. 打开串口cutecom工具

打开串口cutecom工具,设置波特率115200,并打开串口。

 

Linux


 

D. GDB调试运行:

打开另一个终端,切换到hello_world目录

cd samples/hello_world

 

启动GDB client调试:

$GNURISCV_TOOLCHAIN_PATH/bin/riscv32-unknown-elf-gdb

 

Linux


 

依次运行gdb指令:

gdb> file build/output/demo.elf

gdb> target remote localhost:3333

gdb> load

gdb> b main

gdb> c

 

Linux

 

运行后,可在串口工具打印“hello_world”:

 

Linux

 

Segger Embedded Studio安装激活

 

A. SES下载

Segger Embedded Studio for RISC-V 可以从 https://www.segger.com/downloads/embedded-studio/ 下载。

 

Linux

下载linux版本,并解压。

 

B. SES 安装

sudo ./install_segger_embedded_studio

 

Linux

依次next 直到finsh。

 

LinuxLinuxLinux

C. SES激活

激活流程:

http://www.hpmicro.com/support/detail.html?id=e9b65dc7-4cb4-4749-bf41-dbb9e725c32b

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

全部0条评论

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

×
20
完善资料,
赚取积分