xuos-web/docs/doc/constructenv/debug.md

115 lines
3.1 KiB
Markdown
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 编译步骤
## 前言
本文档将介绍<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>