1.4. Eclipse

Baremetal 支持使用 Eclipse IDE 来进行调试,首先下载最新版本的 [Eclipse IDE for Embedded C/C++ Developers](https://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/2023-03/R/eclipse-embedcpp-2023-03-R-win32-x86_64.zip) 。

1.4.1. 生成 Eclipse 工程

注解

首先确保工程已经在命令行环境下正确配置并且能成功编译以后,再使用下述命令一键生成工程对应的 Eclipse 工程文件。在工程配置发生改变以后,需要重新在命令行下编译成功后再重新生成 Eclipse 工程文件。

使用命令生成当前工程对应的 Eclipse 工程文件:

$ cd baremetal
$ scons --target=eclipse            // 生成当前工程对应的 Eclipse 工程文件

生成的 Eclipse 工程文件存储在 baremetal/output/xxxx/project_eclipse 目录:

$ ls -a output/d21x_demo100-nand_rt-thread_helloworld/project_eclipse
./  ../  .cproject  .project  .settings/

为了方便用户使用 Eclipse IDE 来添加自己的代码,还增加了一条命令来生成一个完整的 Eclipse SDK 软件包。该命令会把用户需要的所有源文件和库文件都独立的拷贝一份:

$ scons --target=eclipse_sdk        // 生成当前工程对应的 Eclipse SDK 工程

生成的 Eclipse 工程文件存储在 baremetal/output/xxxx/project_eclipse_sdk 目录。因为所有需要的文件都已经拷贝,所以 project_eclipse_sdk 目录已经是一份独立的 SDK 了,可以拷贝到任何路径下进行调试。

1.4.2. 导入 Eclipse 工程

打开下载的 Eclipse IDE for Embedded C/C++ Developers,通过菜单 File -> Import -> Existing Projects into Workspace 来导入上一步创建的 Eclipse 工程:

../../_images/eclipse_import_proj.png

1.4.3. 编译

Project Explorer 中选择成功导入的工程,在右键菜单中选择 Build Project 即可对整个工程进行编译。

../../_images/eclipse_build_proj.png

编译生成的目标文件在 baremetal/output/xxxx/project_eclipse/Debug 目录:

$ ll output/d21x_demo100-nand_rt-thread_helloworld/project_eclipse/Debug/
d21x.bin
d21x.elf                           // 调试需要的 elf 文件
d21x.map
d21x_demo100_nand_page_2k_block_128k_v1.0.0.img    // 烧录需要的 img 文件

1.4.4. 调试

Eclipse 通过 JTAG 调试器在线调试还需要以下关键组件:

  • ddr_init_only.img。 仅仅初始化 DDR 的固件,方便直接加载工程的 elf 文件到内存当中。

  • AiBurn。烧录软件,把上述固件烧录到单板。

  • CKLink。JTAG 调试器。

  • T-HeadDebugServer。调试器在 PC 端的代理,以 GDB-Server 的形式提供调试服务。

Eclipse 在线调试的具体步骤如下:

  • Step 1:安装 AiBurn 软件,使用 AiBurn 将 ddr_init_only.img 固件烧录到单板。烧录成功后,每次单板上电和复位后都会自动把 DDR 初始化好。

  • Step 2:启动 T-HEADDebugServer,配置 GDB-Server 端口号:

../../_images/debug_server.png
  • Step 3: Eclipse 中创建对应的 Debug Configuration。通过菜单 Run -> Debug Configurations 给编译成功的工程新建一个对应的调试配置:

../../_images/eclipse_debug_config.png

经过上述配置以后,就可以方便的在 Eclipse 下进行在线调试了。