一、目的

作为命令行的深度用户,本篇就给大家介绍一下HPM6750 Ubuntu开发环境搭建

二、准备

1、系统环境

Ubuntu 18.04        

2、查看cmake版本

cmake --version

        如果版本低于3.12.0则需要更新cmake(通过cmake源码编译升级)

具体方法如下:

编译cmake的过程中依赖一些package,通过以下命令安装一下

sudo apt-get install libncurses-dev
sudo apt-get install libssl-dev

下载cmake源码、解压、配置、编译、安装

wget https://cmake.org/files/v3.22/cmake-3.22.0.tar.gz
tar -zxvf cmake-3.22.0.tar.gz
cd cmake-3.22.0/
./configure
make
sudo make install
sudo update-alternatives --install /usr/bin/cmake  cmake /usr/local/bin/cmake  1 --force
cmake --version

3、下载工具链

riscv-gnu-toolchain_linux_x86-64.tar.gz

链接: https://pan.baidu.com/s/1Rdd5RTn7KpwFXYfxWh-0Rg 提取码: 21r5

4、下载openocd工具

openocd_linux_x86-64.tar.gz

链接: https://pan.baidu.com/s/1Jts-PDSySl6r8euhn2093A 提取码: m9mp

以上两个压缩包也可以从先楫官网获取

三、实战

1、创建工作目录,专门存放跟hpm有关的内容

mkdir -p ~/workspace/third/hpm
cd ~/workspace/third/hpm

2、准备工具链

cd ~/workspace/third/hpm
mdkir toolchain

将先前下载的工具链压缩包拷贝到toolchain目录下解压

tar -zxvf riscv-gnu-toolchain_linux_x86-64.tar.gz

解压后目录如下

ls -al

3、准备openocd工具

cd ~/workspace/third/hpm
mdkir openocd

将刚才下载openocd压缩包拷贝到~/workspace/third/hpm/openocd目录下然后解压

tar -zxvf openocd_linux_x86-64.tar.gz

4、下载hpm_sdk仓库代码

GitHub - hpmicro/hpm_sdk: No PR will be accepted for now, but feel free to submit issue, very appreciated.No PR will be accepted for now, but feel free to submit issue, very appreciated. - GitHub - hpmicro/hpm_sdk: No PR will be accepted for now, but feel free to submit issue, very appreciated.https://github.com/hpmicro/hpm_sdk

git clone https://github.com/hpmicro/hpm_sdk.git

5、准备必要编译环境

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

6、准备环境变量

export GNURISCV_TOOLCHAIN_PATH="/home/fire/workspace/third/hpm/toolchain/riscv-gnu-toolchain"
export HPM_SDK_TOOLCHAIN_VARIANT=

注意要替换成自己工具链路径

为了避免每次都要导出环境变量,我们将这两行放到.bashrc文件中

保存后重新打开一个新的terminal

7、获取python依赖

cd ~/workspace/third/hpm/hpm_sdk
source env.sh
pip3 install --user -r "$HPM_SDK_BASE/scripts/requirements.txt"

8、编译

cd samples/hello_world/
mkdir build
cd build
cmake -DBOARD=hpm6750evkmini ..

make

如果没有问题的话,输出如下

7、调试下载

查看一下gdb工具是否可用

这边指出我的机器上C库版本太低,故需要升级(这边强烈建议先备份系统)

cd ~/Desktop/
wget https://ftp.gnu.org/pub/gnu/glibc/glibc-2.30.tar.gz
tar -zxvf glibc-2.30.tar.gz
cd glibc-2.30
mkdir build
cd build
../configure --prefix=/usr/local/glibc
make
sudo make install
cd /lib/x86_64-linux-gnu/
sudo ln -sf /usr/local/glibc/lib/libm-2.30.so libm.so.6

以上步骤请仔细操作,尤其最后一行链接操作,请先确认新安装的c库存在

ll /usr/local/glibc/lib/libm-2.30.so

重新打开一个terminal再次确认gdb可用

cd ~/workspace/third/hpm/hpm_sdk/
source env.sh
cd ../toolchain/riscv-gnu-toolchain/bin/
./riscv32-unknown-elf-gdb

8、开始调试

新开一个terminal调用openocd

cd ~/workspace/third/hpm/hpm_sdk/
source env.sh
cd boards/openocd
/home/fire/workspace/third/hpm/openocd/bin/openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg

如果有以下错误则按提供的方法解决(缺少libhidapi-hidraw.so.0)

sudo apt-get install -y libhidapi-hidraw0

再次执行openocd命令

上图报告libusb访问权限问题,可以按下面的方法解决(执行命令时添加sudo)

此时说明openocd已经正常工作,注意GDB Server在端口3333上监听

starting gdb server for hpm6750.cpu0 on 3333

9、GDB调试

新开一个terminal,执行调试命令

cd ~/workspace/third/hpm/hpm_sdk/
source env.sh
cd samples/hello_world

分别执行命令

file build/output/demo.elf
target remote localhost:3333
load

当执行target remote localhost:3333时,openocd窗口有如下输出

添加断点

b main

更多关于GDB调试的内容请自行查找

如果整个过程没有任何问题的话,通过minicom串口工具能有如下输出

至此,HPM6750的Ubuntu开发环境搭建完成

HPM6750系列--第二篇 搭建Ubuntu开发环境相关推荐

  1. 一键搭建Ubuntu开发环境

    一键搭建Ubuntu开发环境 1.将正文中的bash脚本内容代码直接复制后使用vim创建文件并写入一个sh后缀的文件,然后直接使用bash命令执行文件即可,可以多次执行无其他影响 2.安装目录可按需更 ...

  2. 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第二节:Cocos引擎开发环境搭建与项目创建!

    <使用Cocos2d-x 开发3D游戏>系列在线课程 第二节:Cocos引擎开发环境搭建与项目创建! 视频地址:http://edu.csdn.net/course/detail/1330 ...

  3. 【快速开发App实战】BUI高仿网易新闻App系列一、搭建App开发环境和工作空间

    一. 搭建App开发环境和工作空间 前言 我们的目标是要做一个真实的案例, 着重通过BUI框架及其相关工具的使用, 结合原生打包平台, 帮助大家理解一个App的开发过程. 以最新网易新闻的App为例, ...

  4. 第二章 搭建Android开发环境 读书笔记

    本章主要介绍了Ubuntu Linux环境下的Android开发环境的配置.搭建Android底层开发的环境,主要包括Android的应用程序开发环境.Android NDK开发环境和交叉编译环境的搭 ...

  5. HPM6750系列--第一篇 初识HPM6750

    一.目的 HPM6750系列--第二篇 搭建Ubuntu开发环境_coder.mark的博客-CSDN博客https://blog.csdn.net/tianizimark/article/detai ...

  6. ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk

    [置顶] ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk.jdk(by 星空武哥) <div class="article_manage c ...

  7. ESP32 Ubuntu开发环境搭建

    在Ubuntu下搭建ESP32开发环境 文章目录 在Ubuntu下搭建ESP32开发环境 说明 开发环境 硬件准备 ESP32(NodeMCU-32S) NodeMCU-32S 引脚图 搭建步骤 安装 ...

  8. PX4-AutoPilot教程-0-使用VMware虚拟机安装Ubuntu系统并搭建PX4开发环境(ROS+mavros+jMAVSim+gazebo+QGC+QT)

    使用VMware虚拟机安装Ubuntu系统并搭建PX4开发环境 本教程使用VMware虚拟机安装Ubuntu18.04系统(官方推荐使用版本),搭建PX4固件版本为v1.9.2,飞控板为pixhawk ...

  9. 手把手教你搭建Linux开发环境(VMware+Ubuntu)(一)——安装VMware虚拟机和Ubuntu

    前言 近期好多小伙伴都开始学习Linux内核了,那么如何搭建一个Linux运行环境,变成Linux内核初学者的拦路虎,今天我就一步步详细解说一下,如何使用虚拟机VMware安装Ubuntu,跟我一起开 ...

最新文章

  1. Python将图像分割成小块然后将所有的块重新拼接在一起
  2. Linux内核补丁升级
  3. [云炬创业基础笔记]第一章创业环境测试6
  4. 【渝粤教育】广东开放大学 系统工程 形成性考核 (25)
  5. uni-app自定义tabBar;uni-app小程序自定义tabBar;uni-app小程序修改中间tabBar导航栏大小;uni-app中间导航栏凸起;uni-app修改底部导航栏
  6. Openstack的RPC通信代码调用架构
  7. Tomcat映射虚拟路径到指定磁盘(eclipse)
  8. 【VC编程技巧】窗口☞3.4利用bitmap改变对话框的背景。
  9. DataReader类访问字段的值
  10. Android攻城狮—TextView实现跑马灯
  11. Django实战(一)——教育网站
  12. 游戏开发入行大师攻略
  13. pta 计算圆周率(C语言实现)
  14. PyTorch中的torch.max()和torch.maximum()的用法详解
  15. SketchUp2016如何安装插件
  16. VS2015+MATLAB2016b混合编程
  17. DNS无法解析IP_DNS之基本原理
  18. python如何获取星期几
  19. java中级工程师所需的技能_Java 工程师要具备哪些技能或技术?
  20. 我的世界(10)-快速建筑(创世神WorldEdit)

热门文章

  1. 李白街上走,提壶去买酒,遇店加一倍,见花喝一斗,五遇店和花,喝光壶中酒,壶中原有多少酒?请编程计算李白的壶中原有多少酒。
  2. java婚纱影楼管理系统论文_Springboot+mybatis+html婚纱摄影网站,包括后台管理系统...
  3. 数字孪生智能核电建设内容及中国技术路线展示
  4. 模板测试与镜面特效专场
  5. 安卓游戏录屏v2.5.4会员版
  6. 好工具推荐——Hutool工具类
  7. 基于SpringBoot零食销售系统的设计与实现【Java毕业设计·安装调试·代码讲解·文档报告】
  8. iQOO U5x手机到手测评
  9. 微信 6.0.2 for android bug,安卓手机微信bug来了,你中招了吗?
  10. 在CAD绘图时创建新的面域对象是怎么操作的?