debuging for ARM Linux boards

了解有关在 Windows 上开发和调试 ARM Linux 板的更多详细信息

您可以在 Windows PC 上拥有完整的开发环境,以创建和调试树莓派、BeagleBone 和其他 Linux 设备的C++程序。

您可能还喜欢:
终极物联网硬件比较指南

所有活动都在 Eclipse 中进行:构建可执行文件,将其部署到 ARM 设备,然后远程调试它。在这篇文章中,我们来看看如何做所有三个,所以不用进一步多做,让我们开始吧!

Remote Debug Experience in Eclipse

您获得什么体验

  • 代码可以用Eclipse编写
  • ARM Linux 目标的编译和链接发生在生成项目时。
  • 启动调试会话时,可执行文件将部署到 Linux 设备,远程调试器将自动启动。源代码加载到编辑器中,执行在 main() 处停止。
  • 您可以单步执行并进入代码、显示程序集、监视变量和表达式以及设置断点。
  • 您可以在 Eclipse 中看到可执行文件生成的标准输出。
  • 调试完成后,ARM 设备上的远程调试服务器将关闭。

系统准备

ARM Linux 设备上的软件要求

  • 工作 SSH 连接
  • 已安装 gdb 服务器

Windows PC 上的软件要求:

  • Eclipse IDE(C/C++开发人员的版本)
  • 臂交叉编译工具链。

没有特定的硬件要求。部署和调试通过网络进行。

准备 Windows 电脑

下载并安装臂-linux交叉编译工具链。该包可作为压缩存档提供。您可以将其提取到选择的位置。

检查您的主板文档,了解正确的文档。我选择了gcc-linaro-5.3-2016.02-i686-mingw32_arm-linux-gnueabihf与比格尔Bone、树莓派和哈东米卡合作

解压缩时,请注意启动具有管理员权限的解压缩实用程序(我使用 7-Zip)。这需要获取在提取过程中创建的正确符号链接。

如果使用 7-zip,则可以通过在 Windows 的”开始”菜单中查找 7-Zip 文件管理器条目来执行此操作,右键单击它,然后选择”作为管理员执行”。然后,导航到存档并提取它。这将为您提供一个工作交叉编译工具集。

然后下载并安装最新的Eclipse。这也作为存档。解压缩该(不需要管理员权限),也解压缩到选择的位置。

Windows 上的设置现已完成。

准备 ARM Linux 板

登录到 Linux 并检查调试服务器是否已安装:

gdbserver --version

如果没有,请安装它:

apt-get install gdbserver

创建一个工作目录,Eclipse 可以在其中部署和运行您的开发您可以自由选择该目录的名称。我叫 ~/bin 它。

ARM Linux 设备上的设置现已完成。

制定计划

通过双击Eclipse.exe在安装Eclipse的文件夹中打开Eclipse。

接受或更改建议的工作文件夹位置。您的项目将存储在那里。

文件 -> 新建 -> 项目

  • 搜索C++项目并选择它。

  • 项目名称: helloworld

  • 使用默认位置

  • 项目类型:你好世界C++项目

  • 工具链:交叉 GCC

下一个 – > 下一个 > 下一个

  • 跨编译器路径:浏览解压缩工具链的位置的bin子目录

  • 交叉编译器前缀:臂-linux-gnueabihf-

前缀是工具链 bin 目录中大多数程序的文件名的固定开始(例如:arm-linux-gnuaabihf-gcc.exe)

完成

  • 如果被要求”打开透视”,请执行此操作(通常,这只是第一次创建此类项目时才询问)。

  • 在”问题”视图中可能会收到两个错误。我们不需要这些

右键单击错误标签 -> 选择全部

再次右键单击错误标签 -> 删除

右键单击项目名称 -> 属性 -> C/C++ 生成 -> 生成器设置

  • 生成器类型:内部生成器

申请和关闭

右键单击项目名称 -> 生成项目

  • 您的控制台应显示类似于此的输出:

16:56:52 **** Incremental Build of configuration Debug for project helloworld ****
Info: Internal Builder is used for build
arm-linux-gnueabihf-g++ -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\helloworld.o" "..\\src\\helloworld.cpp"
arm-linux-gnueabihf-g++ -o helloworld "src\\helloworld.o"
16:56:53 Build Finished. 0 errors, 0 warnings. (took 808ms)

部署和调试程序

运行 -> 调试配置

右键单击 C/C++ 远程应用程序 -> 新配置

  • 名称: helloworld 调试

主选项卡

项目 -> 浏览 -> helloworld

连接 -> 新建 -> SSH -> 确定

  1. 连接名称:如何命名 Linux 板,例如树莓皮

  2. 主机:Linux 设备的网络地址或 IP

  3. 用户:您的 Linux 帐户

  4. 基于密码的身份验证 ->密码

完成

C/C++应用程序的远程绝对文件路径 – > 浏览

  • 这将在 Linux 设备上打开您的主文件夹。

  • 选择您创建并确认的开发文件夹(我在 bin 准备步骤中调用的文件夹)。如果条目字段中未显示应用程序名称,请添加/helloworld

调试器选项卡 -> 调试器选项 -> 主

  • GDB 调试器:浏览 bin 解压缩工具链的位置的子目录,然后选择以 gdb 结尾的程序

exe)

应用 -> 调试

您现在正在调试应用程序。它在 Linux 设备上运行,但您从 Windows 计算机控制它。享受!

进一步阅读

终极物联网硬件比较指南

生产验尸:ARM正在杀死我

Comments are closed.