HPM6750系列--第三篇 搭建MACOS编译和调试环境
一、目的
二、准备
首先我们在Mac电脑上打开一个terminal,然后创建一个目录,专门存放跟hpm有关的内容,如下
1、创建工作目录
$ cd $ mkdir -p ~/workspace/third/hpm $ cd ~/workspace/third/hpm
2、下载HPM-SDK代码仓库
git clone https://github.com/hpmicro/hpm_Sdk.git
3、安装brew
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
4、安装cmake
brew install cmake cmake --version
如果cmake版本低于3.12.0则需要更新,直接从官网下载安装包即可
5、下载工具链
下载完成后,解压到~/workspace/third/hpm/toolchain目录下
cd ~/workspace/third/hpm mkdir toolchain cp ~/Dowload/riscv32-unknown-elf-newlib-multilib_2022.05.15_macos_intel.tar toolchain/ cd toolchain/ tar -xvf riscv32-unknown-elf-newlib-multilib_2022.05.15_macos_intel.tar
验证一下工具链可用,我们可以执行一下命令
cd ~/workspace/third/hpm/toolchain/riscv32-unknown-elf-newlib-multilib/bin ./riscv32-unknown-elf-gcc -v
6、设置环境变量并保存到~/.bash_profile
export GNURISCV_TOOLCHAIN_PATH="/Users/coder/workspace/third/hpm/toolchain/riscv32-unknown-elf-newlib-multilib" export HPM_SDK_TOOLCHAIN_VARIANT= export HPM_SDK_BASE="/Users/coder/workspace/third/hpm/hpm_Sdk" export OPENOCD_SCRIPTS="/Users/coder/workspace/third/hpm/hpm_Sdk/boards/openocd"
7、确认环境变量生效
新开一个Terminal然后输入
8、安装python依赖
cd ~/workspace/third/hpm/hpm_Sdk/ pip3 install --user -r "$HPM_SDK_BASE/scripts/requirements.txt"
9、编译openocd
1、下载openocd源码
cd ~/workspace/third/hpm/ https://github.com/hpmicro/riscv-openocd.git
2、准备编译环境
brew install libtool automake libusb wget pkg-config gcc texinfo
3、编译
cd riscv-openocd ./bootstrap ./configure --disable-werror make
如果编译没有任何问题在src目录下有openocd程序,确认一下是否可运行
三、实战
1、编译hello_world
mkdir -p ~/workspace/work/hpm cp -r ~/workspace/third/hpm/hpm_Sdk/samples/hello_world ~/workspace/work/hpm/ cd ~/workspace/work/hpm/hello_world/ mkdir build cd build cmake -DBOARD=hpm6750evkmini -DCMAKE_BUILD_TYPE=Debug ..
make
至此我们就已经编译完成
2、下载调试
新开一个Terminal执行openocd
cd ~/workspace/third/hpm/riscv-openocd ./src/openocd -f probes/ft2232.cfg -f soc/hpm6750-single-core.cfg -f boards/hpm6750evkmini.cfg
3、GDB调试
在GDB调试时我们发现工具链的里面的gdb不能使用(本地依赖未满足),故通过brew安装了一个通用版本的GDB
关于这个问题正在跟进后面会贴出解决办法!!!
上图的问题是缺少guile模块
brew install guile
上图的问题是缺少python2.7,针对这个问题必须从官网下载这个版本进行安装,使用brew无法安装
再次检查工具链中的gdb是否可用
cd ~/workspace/third/hpm/toolchain/riscv32-unknown-elf-newlib-multilib/bin ./riscv32-unknown-elf-gdb
问题解决。
安装通用版本的GDB
brew install gdb
新开一个Terminal定位到工程目录
cd ~/workspace/work/hpm/hello_world gdb output/demo.elf
连接GDB和OpenOCD
target remote localhost:3333
加载代码
load
复位、设置断点、单步执行
至此我们已经完成了HPM-SDK的MACOS开发环境搭建,我们会介绍如何配合visual studio code进行开发调试 。
