【MindStudio】【GDB Server】海思SOC环境准备(linux, android)
1 预置条件
需要海思Soc环境已部署sshd。具体可以参考https://bbs.huaweicloud.com/community/myblog
2 Linux gdbserver搭建
2.1 交叉编译
交叉编译环境以Ubuntu18.04_x86_64为例。
海思Soc板端以CS形态为例。
2.2 获取gdb源码
当前MindStudio仅支持ubuntu18.04,该发行版自带的gdb版本为8.1。
由于gdb与gdbserver的版本兼容性做的很好,我们这里可以直接选用8.3版本的源码来编译板端的gdbserver。
下载源码压缩包至交叉编译服务器,获取链接:https://ftp.gnu.org/gnu/gdb/gdb-8.3.1.tar.gz
2.3 获取与安装海思Soc交叉编译工具链
获取发布包中的对应交叉编译器,这里以CS形态的aarch64-himix210-linux为例。
解压编译器压缩包并进入解压后路径:
1 |
tar xf aarch64-himix210-linux.tgz |
2 |
cd aarch64-himix210-linux |
根据readme.txt中的指导安装交叉编译器:
1 |
sudo ./aarch64-himix210-linux.install |
此时交叉编译器已安装至/opt/hisi-linux/x86-arm下,且编译器路径已在/etc/profile中加入PATH环境变量。
执行:
1 |
aarch64-himix210-linux-g++ -v |
若安装正常,则可以输出编译器的版本信息。
2.4 交叉编译gdbserver
解压gdb源码压缩包,并进入gdbserver的子目录中:
1 |
tar xf gdb-8.3.1.tar.gz |
2 |
cd gdb-8.3.1/gdb/gdbserver |
配置编译参数:
1 |
./configure --host=aarch64-himix210-linux --prefix=$HOME/install/himix210/gdbserver |
编译及安装:
1 |
make -j |
2 |
make install |
此时目标文件已安装至指定目录:
2.5 部署gdbserver
将编译好的gdbserver拷贝至海思Soc板端(通过scp或nfs挂载),并将对应路径加入环境变量PATH中。
执行:
1 |
gdbserver --version |
若部署正确,则显示如下:
GNU gdbserver (GDB) 8.3.1
Copyright (C) 2019 Free Software Foundation, Inc.
gdbserver is free software, covered by the GNU General Public License.
This gdbserver was configured as "aarch64-himix210-linux"
2.6 验证
以gdb运行在Ubuntu18.04_x86_64环境为例,由于gdb区分架构,若gdb的运行架构与gdbserver运行架构不一致,则会导致架构不识别的错误。
此时在Ubuntu上可以按照多架构支持的gdb-multiarch。
1 |
sudo apt install gdb-multiarch |
启动gdb:
1 |
gdb-multiarch --interpreter=mi |
|
|
3 Android gdbserver 搭建
Android上面的gdbserver请从ndk安装目录:ndk/android-ndk-r21b/prebuilt/android-arm64下获取。
- 点赞
- 收藏
- 关注作者
评论(0)