先看看开发板实物:
正面:
![反面.jpg](//file1.elecfans.com/web2/M00/B1/C4/wKgaomVm3dyACsyEAEpKBLXR9nU018.jpg)
反面:
![正面.jpg](//file1.elecfans.com/web2/M00/B3/83/wKgZomVm3bGARcVEAE2-F1Ituhg550.jpg)
下面进入主题。
1、clone 先楫SDK
1)下载hpm_sdk
终端输入“git clone https://github.com/hpmicro/hpm_sdk”。下载完成后会生成hpm_sdk文件夹。如下图:
![1.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjRPSAe5qpAAH445FVZxc292.jpg)
2)设置环境变量
终端输入“sudo vim ~/.bashrc”。在最后一行添加“export HPM_SDK_BASE=$HOME/hpm_sdk”。这个路径根据自己hpm_sdk文件夹的实际路径填写。如下图红框所示:
![6.jpg](//file1.elecfans.com/web2/M00/B3/0A/wKgZomVjSJmAce6qAAJ3a7SzMDI462.jpg)
3)设置SDK环境
终端输入
cd hpm_sdk
source env.sh
2、安装OpenOCD
1)安装依赖包
在终端输入“sudo apt install make libtool pkg-config autoconf automake texinfo
”。
2)clone OpenOCD
在终端输入“git clone -b riscv-hpmicro https://github.com/hpmicro/riscv-openocd.git”。
下载完成后会生成riscv-openocd文件夹。
进入该文件夹,输入
./bootstrap
![2.jpg](//file1.elecfans.com/web2/M00/B3/0A/wKgZomVjRX6AJ-SAAAHPrV5GtJ0385.jpg)
输入
./configure
3)编译和安装
输入
make -j4
输入
make install
![4.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjRmeAfA5uAALVEWDb1qA460.jpg)
3、安装交叉工具链
直接在官方网盘中下载编译好的工具链。将工具链路径添加到环境变量中,如下图红框所示:
![7.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjSPmAVIynAALDCvIbrNk142.jpg)
4、编译Hello World工程
1)首先进入到hpm_sdk文件夹的sanmple/hell_world文件夹中。
创建build文件夹,然后进入build文件夹。如下图:
![8.jpg](//file1.elecfans.com/web2/M00/B3/0A/wKgZomVjSpOAPHC3AAEjIEayhSM304.jpg)
2)编译hello_world
输入
cmake -GNinja -DBOARD=hpm5300evk ..
编译成功后会生成很多文件。此时output文件夹是空的。
接着输入
ninja
会在output文件夹中生成demo.elf目标文件。之后就可以用调试工具对它进行调试了。如下图:
![9.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjS52AWxyPAAKdjhlOOyI462.jpg)
5、调试hello_world
1)安装mcueclipse调试平台。
这里使用开源的mcueclipse作为调试平台。
其下载地址为:https://www.eclipse.org/downloads/
下载好后,解压缩进入文件夹,
输入
./eclipse-inst
如下图,选择"Ecllpse for Embeded C/C++ Deverlopers"
![10.jpg](//file1.elecfans.com/web2/M00/B3/0A/wKgZomVjTv6AZtbDAAJID0IN4rY772.jpg)
安装好后,进入软件。
2)调试
用此工具进行调试前,需要重新编译上面的helloworld生成eclipse工程。先删除之前编译过的build文件夹,新建空的build文件夹,并进入。
终端输入以下指令重新编译:
cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBOARD=hpm5300evk ..
![12.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjU0-AVEY_AAKEV1XZvSA747.jpg)
make -j4
![13.jpg](//file1.elecfans.com/web2/M00/B3/0A/wKgZomVjVEyAL4baAAMQg3zbWug977.jpg)
点击软件左上角“File->Import->General->Existing Projects into Workspace->Next->选择hello_world的build文件夹->Fnish”如下图:![14.jpg](//file1.elecfans.com/web2/M00/B1/4C/wKgaomVjVVGAYXUqAAG5yb6Ly28626.jpg)
右键选择“Debug As ->Debug configurations->GDB OpenOCD Debuging”,如下图:
![15.jpg](//file1.elecfans.com/web2/M00/B3/13/wKgZomVj9vCASCrqAALf67_dxmc453.jpg)
对hello_world-Debug_build进行配置,右边选择Debugger,在Config options框内添加文件路径。根据实际路径填写,注意芯片型号和开发板型号不要弄错。
之后在GDB Client Setup下面的Executable name选择我们的交叉编译工具链,在Commands:里面添加:set arch riscv:rv32
set remotetimeout 250
如下图:
![16.jpg](//file1.elecfans.com/web2/M00/B1/5A/wKgaomVj_TKAWQLbAANwNwgscC8368.jpg)
最后选择“Apply”,"Debug"。可以看到调试结果,没有报错,如下图:
![17.jpg](//file1.elecfans.com/web2/M00/B1/5A/wKgaomVj_ZuAe561AAKPbgLhvko738.jpg)
至此Linux开发环境搭建完毕,整个工程结束。