使用 ARM DS-5

转自:http://ds.arm.com/zh-cn/developer-resources/tutorials/working-with-arm-ds-5/

创建一个以裸机为目标的简单 Hello World C 程序

在安装并获取使用 DS-5 所需的许可证后,本教程将指导您创建、配置并生成简单的裸机应用程序。

应用程序生成后,本教程指导您完成一系列配置步骤,建立与软件中提供的系统模型的调试连接,以运行该程序。这些模型称为固定虚拟平台 (FVP),DS-5 附带了其中一些模型。本教程将使用基于 Cortex-A8 处理器的 FVP_EB_Cortex-A8

创建新的 C 项目

  1. 在 DS-5 主菜单中选择文件 > 新建 > C 项目,显示 C 项目对话框。
  2. C 项目对话框中:

    C 项目对话框选项

    选择“裸机可执行文件”选项后,工具链假定应用程序直接在硬件上执行,而不是在 Linux 等复杂操作系统上执行。

    有关 ARM 编译器信息,请参见:http://infocenter.arm.com/help/topic/com.arm.doc.subset.swdev.coretools/index.html

    1. 项目名称字段中,输入 HelloWorld 作为项目名称。
    2. 项目类型下,选择裸机可执行文件 > 空项目
    3. 工具链下,选择 ARM 编译器 5
    4. 单击完成创建名为 Hello World 的 C 项目。

您可在“项目资源管理器”视图中查看此项目。

项目资源管理器 - Hello World

创建源代码并生成项目

  1. 项目资源管理器视图中,右击 Hello World 项目并选择新建 > 源文件

    Hello World 新源文件

  2. 新源文件对话框中,输入文件名 hello_world.c

    输入文件名

  3. 单击完成创建源文件,然后在代码编辑视图中打开。

    代码编辑视图

    源文件在项目资源管理器视图中也可见,位于 Hello World 下。

    项目资源管理视图中的 Hello World

  4. 将以下代码添加到新的源文件中,然后按 CTRL+S 进行保存。
    #include <stdio.h>
    main()
    {
        printf("Hello World\n");
    }
  5. 项目资源管理器视图中,右击 Hello World 项目并选择生成项目

您可在 HelloWorld 项目下的 Debug 文件夹中查看输出映像 hello_world.axf

.axf 文件包含目标代码和调试符号,后者供调试器执行源代码级别的调试。


在固定虚拟平台 (FVP) 上调试应用程序

在您创建项目并生成代码后,启动调试器在随 DS-5 提供的一个固定虚拟平台 (FVP) 上运行该应用程序。

对于本教程,我们使用随 DS-5 提供的 Cortex-A8 固定虚拟平台 (FVP)。

创建 DS-5 调试配置并连接到 FVP

  1. 在 DS-5 主菜单中,选择运行 > 调试配置
  2. 调试配置对话框中:
    1. 选择 DS-5 调试器
    2. 单击新建启动配置按钮。

      调试配置 — 新建

      这会创建一个新的 DS-5 调试配置,并显示用于指定相关设置的各选项卡,这些设置用于在目标上加载应用程序。

      调试配置 — 选项卡

  3. 调试配置对话框中:

    调试配置 —“连接”选项卡

    调试配置 —“文件”选项卡

    工作区包含您在生成 Hello World 项目时创建的 HelloWorld.axf 应用程序文件。

    注意:确保选中“加载符号”选项。

    打开 Hello World

    调试配置 —“调试器”选项卡

    1. 为调试配置提供名称。例如,HelloWorld_FVP
    2. 连接选项卡中,选择 ARM FVP > Cortex-A8 > 裸机调试 > 调试 Cortex-A8
    3. 选择文件选项卡,然后在目标配置下的主机上要下载的应用程序字段中,单击工作区
    4. 选择 HelloWorld.axf
    5. 选择调试器选项卡,确保选择通过符号调试选项并将其设置为 main
    6. 单击调试以在目标上加载应用程序,然后将调试信息加载到调试器中。
    7. 在出现的确认透视图切换对话框中,单击

      DS-5 连接到模型并在调试控制视图中显示连接状态。

      “调试控制”视图 — 连接了 Hello World

      应用程序在目标上加载,并在 main () 函数处停止,准备好运行。

      Hello world 代码编辑器视图

    8. 单击 继续按钮 以继续运行应用程序

      可以在目标控制台视图中查看应用程序输出。

       

      “目标控制台”视图

      其他视图显示与调试连接相关的信息。

      例如:

      • 命令视图显示调试器输出的消息。还可使用此视图输入 DS-5 命令。

        “命令”视图

      • C/C++ 编辑器视图显示当前 C、C++ 或 makefile 的结构。该视图随着您编辑这些文件相应更新。

        Hello world 代码编辑器视图

      • 反汇编视图显示在内存中运行的程序的反汇编视图。

        “反汇编”视图

        位于行 指示当前处理的代码行。在此例中,它位于 main () 函数处。该视图显示代码的其他详细信息,使您可以进一步了解代码的详细信息。

        反汇编视图还显示代码的十六进制值以及与内存值等效的 ASCII 字符。

      • 可以使用内存视图查看代码在目标内存上的表示方式。

        例如,要查看应用程序中的字符串 Hello World 在内存中的表示方式:

        “内存”视图

        在上面的示例中,内存视图显示代码的十六进制值,以及与内存值等效的 ASCII 字符,使您可以进一步了解代码的详细信息。

        1. 打开内存视图。
        2. 地址字段中,输入 0x8000,然后按键盘上的 Enter。该视图以各种大小和格式显示目标内存的内容。
        3. 选择并突出显示文字 Hello World

单步运行应用程序

使用调试控制视图中提供的控件可单步运行应用程序。

 

调试控制

 

继续按钮 — 单击可继续处理代码。

 

暂停按钮 — 单击可中断或暂停代码处理。

 

单步运行按钮 — 单击可单步运行代码。

 

越过按钮 - 单击可越过源代码行。

 

退出按钮 - 单击可退出。

 

单步运行指令 — 这是一个开关。如果希望以上控件单步运行指令,请选择此项。

断开调试连接

要断开调试连接,可以右击连接并选择从目标断开连接,或选择连接并在调试控制视图工具栏中单击 断开连接按钮


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值