115 lines
3.1 KiB
Markdown
Executable File
115 lines
3.1 KiB
Markdown
Executable File
# 编译步骤
|
||
|
||
## 前言
|
||
|
||
本文档将介绍<B>XiUOS</B>使用jlink软件的配置、调试过程。
|
||
|
||
## 软件安装
|
||
+ jlink包安装
|
||
|
||
第一步,进入jlink官网[下载网址](https://www.segger.com/downloads/jlink)
|
||
|
||
<div class="imgbox">
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_1.png" />
|
||
</div>
|
||
|
||
第二步,选择版本并下载安装包,此处下载的安装包版本为V6.72e,即JLink_Linux_V672e_x86_64.deb。
|
||
|
||
<div class="imgbox">
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/jlink_package_2.png" />
|
||
</div>
|
||
|
||
第三步,安装JLink_Linux_V672e_x86_64.deb
|
||
|
||
$ dpkg -i JLink_Linux_V672e_x86_64.deb
|
||
|
||
+ openocd安装
|
||
|
||
第一步,进入[下载网址](https://github.com/kendryte/openocd-kendryte/releases),
|
||
下载Unbuntu版本的openocd。<B>XiUOS</B>中下载的kendryte-openocd-0.2.3-ubuntu64.tar.gz
|
||
|
||
第二步,安装openocd
|
||
|
||
$ sudo mv kendryte-openocd-0.2.2-ubuntu64.tar.gz /opt
|
||
$ cd /opt
|
||
$ sudo tar -zxvf kendryte-openocd-0.2.2-ubuntu64.tar.gz
|
||
<template>
|
||
<el-alert
|
||
title="注:安装openocd之前需要先安装如下依赖包"
|
||
type="info"
|
||
show-icon>
|
||
</el-alert>
|
||
</template>
|
||
|
||
$ sudo apt install libusb-dev libftdi-dev libhidapi-dev
|
||
|
||
第三步,openocd文件配置
|
||
|
||
打开配置文件,修改第三行 jlink serial 504503073的504503073为具体JLINK设备的标签。
|
||
|
||
$ cd /opt/kendryte-openocd
|
||
$ vim ctl/openocd.cfg
|
||
|
||
<div class="openocd_cfg">
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_cfg.png" height="500" width="1200"/>
|
||
</div>
|
||
|
||
第四步,打开openocd软件
|
||
|
||
$ cd /opt/kendryte-openocd
|
||
$ ./bin/openocd -f ./ctl/openocd.cfg
|
||
成功运行则显示如下的界面。
|
||
<div>
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/open_openocd.png"/>
|
||
</div>
|
||
|
||
## 调试程序
|
||
|
||
$ riscv-none-embed-gdb XiaoShan_kd233.elf --eval-command="target remote 127.0.0.1:3333"
|
||
|
||
运行上述命令,其中,
|
||
+ XiaoShan_kd233.elf是编译过程生成的elf文件;
|
||
+ 127.0.0.1表示本地IP地址,也可以制定远程地址;
|
||
+ 3333是openocd监听的端口号;
|
||
|
||
成功连接openocd之后,界面如下所示,之后就可以使用load\break\continue等gdb命令进行调试了。
|
||
|
||
<div>
|
||
<img src="https://raw.githubusercontent.com/yanyannew/images/branch/openocd_gdb.png"/>
|
||
</div>
|
||
|
||
|
||
## FAQ
|
||
<el-collapse v-model="activeName" accordion>
|
||
|
||
<el-collapse-item title="Question 1: openocd打开提示 No J-Link device found错误。" name="1">
|
||
|
||
> 重新连接JLINK设备。
|
||
|
||
</el-collapse-item>
|
||
<el-collapse-item title="Question 2: 编程过程是xxx错误" name="2">
|
||
|
||
> * Operation feedback: enable the users to clearly perceive their operations by style updates and interactive effects;
|
||
> * Visual feedback: reflect current state by updating or rearranging elements of the page.
|
||
|
||
</el-collapse-item>
|
||
</el-collapse>
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
activeName: '1'
|
||
};
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
.openocd_cfg{
|
||
width: 1500px;
|
||
height: 400px;
|
||
vertical-align: middle;
|
||
display: table-cell;
|
||
text-align: center;
|
||
}
|
||
</style> |