CrossCore Embedded Studio——Debug on a Hardware Target(七)

记录一下,方便以后翻阅~

本章将介绍如何在CrossCore Embedded Studio(CCES)IDE中,调式硬件终端Hardware Target的整个流程。

1)Debug Quick Start

1.1 创建和启动一个Debug Configuration

首先创建一个调试配置
单击菜单栏里的Run——>Debug As——>Application with CrossCore Debugger,
在这里插入图片描述
弹出Debug Configurations窗口时,还会弹出任务向导界面,先完成任务向导界面的设置:选择处理器型号(这里选项SC589),单击Next,
在这里插入图片描述
选择Emulator连接,如果自定义目标平台有多个CPU或JTAG扫描路径,单击Configurator…进行配置(这里暂不用操作),单击Next,
在这里插入图片描述
选择ADSP-SC589 via ICE-1000连接方式,单击Finish。
在这里插入图片描述
回到Debug Configurations窗口,该向导选择了配置的名称,若要改名称,在Name栏里改名。该向导还确定是否有双核应用软件,然后将dxe文件和各自的核进行映射。如果要手动编辑程序在特定的核上加载,或要手动编辑任何加载选项,可选项目标核的有关项,单击edit,在这里插入图片描述
然后浏览到合适的项目,选择合适的dxe文件。如要调式启动代码,要编辑与加载程序有关的选项,例如禁用run immediately after load 选项。
在这里插入图片描述
大部分设置在session选项卡中进行,其它有关的选项卡有自动断点选项卡,
在这里插入图片描述
对于自定义目标可能会用到的一个选项卡是Custom board support选项卡,调式硬件目标时,要使能定制,定制板支持文件会为几个寄存器提供复位值,通常这些复位值与外部内存控制器有关。
在这里插入图片描述
Multiprocessor Group选项卡可将内核分组,除非需要在来源和公共选项卡下进行更改,否则很少用到。
在这里插入图片描述
单击Apply保存配置,关闭窗口。

然后启动调式任务

单击菜单里的RUN——>Debug启动调试,此时会生成项目,所有修改过的项目会出现空白构建,可以更改此默认操作,选择首选项、运行/调试、启动之后,在启动Windows下拉菜单选项之前,取消选择构建。启动调试任务时会切换到调试透视图,该透视图包含了支持应用程序调式的视图,然后建立与目标的连接,把程序加载到两个内核。由于配置的加载设置,如加载后立即运行程序,所以两个内核会启动。
在这里插入图片描述

默认情况,调式透视图有这么几个视图

1)调试视图显示了加载的可执行文件,程序在运行还是挂起,视图中还有许多工具栏图标可控制执行过程。
调试视图提供了在终端上执行代码的大量控件,Resume图标可启动执行,Suspend可暂定执行,step运行执行一行源代码,包括step into、step over和step return,Assembly step类似step,区别是执行一行汇编代码。step return后面四个图标支持多处理器调试,可以配置或设定多处理器组,默认情况,两个内核都是多处理器组的一部分,包括MP Resume,MP Suspend,MP step into。reset会复位选定的内核,restart会重新载入上一个应用程序,terminate会终止启动。本例程中,调式视图显示core0在断点处挂起,而core1在运行。
在这里插入图片描述
在双核应用程序中,core1启动代码中的循环会检查来自core0的信号并启用它,执行时可跳过core0的前几行代码,会看到执行core1启动函数:

adi_core_enable(ADI_CORE_SHARC0);

之后,core1会自动断点切换到主程序的某项,并进入挂起状态。
在这里插入图片描述
2)变量视图显示运行时所调用函数的入口参数变量和返回变量(个人理解)
如果从一个函数切换到另一个函数,那么变量视图里的变量会发生改变。同时还能在变量视图中看到调用的堆栈,调用某个函数会创建新的堆栈帧,最上边的帧用于当前函数,选择不同的堆栈帧时,还能看到源窗口跳到选定堆栈帧的函数。
在这里插入图片描述
通过单击pin to debug context图标,能把大多数调试视图与某个内核关联,按下后可以看到(下图)变量视图与Core0关联。
在这里插入图片描述
这时可以打开第二个变量视图,选择调式视图的Core1,并关联起来。这样可以切换合适的视图,观察对应内核的变量。
在这里插入图片描述
3)断点视图显示了系统中用户定义的断点。 可以取消复选框,禁用该断点。
在这里插入图片描述
4)其他调试视图可以在菜单栏里window——>show view里找到。
这里介绍一个常用的视图,单击Window——>show view——>Expressions,这个视图可以查看某个核里的全局变量(如下图中,我在core0里放了一个int aaa的全局变量),同时也可以查看该变量的地址(在变量前加&即可),还可以查看内存位置的内容,在寄存器前面加$,还可以检查寄存器。同样我们也可以将expressions与某个核关联。
![![在这里插入图片描述](https://img-blog.csdnimg.cn/20210402114450779.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_50,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xlaXN1cmVfa3Nq,size_16,color_A8A8A8,t_70#pic_center =500x200)
检查内存时,另一个有用的视图是内存浏览器视图,单击Window——>show view——>Memory Browser,在地址行中输入要检查内存地址的数字,或者要查看变量的符号名,还可以选择浏览功能,选择要检查的符号。
在这里插入图片描述
内存浏览器还允许用常量或数据文件的内容来填充内存,数据文件格式可以指定。
在这里插入图片描述
还可以将内存部分内容存储到一个文件,可以是文本格式或二进制格式,输入地址、说明和步长,手动指定内存区域。此外浏览器选择某个符号,会返回实体的正确大小。在这里插入图片描述
同样我们也可以将内存浏览器视图与某个核关联。
在这里插入图片描述
数据缓冲可以可以在内存浏览器中显示为由数字组成的表格,有时以图形方式查看数据,会提供更多有用信息。
在这里插入图片描述

2)低层次调试

调试应用程序时,有时想要进入靠近CPU本身的底层应用程序,包括遍历汇编代码或检查寄存器。

2.1 反汇编视图Disassembly

在已经调试汇编文件时反汇编视图会自动出现,如程序运行完毕后,会看到反汇编视图弹出,并停在lib_prog_term。此处有一个自动断点,一旦程序执行到应用程序的末端就挂起。
在这里插入图片描述
若重新载入时,程序会停在adi_initComponents,在源文件和反汇编视图中都能看到该调用,右击空白区选择show line numbers,可现实行号。
在这里插入图片描述
在这里插入图片描述

2.2 寄存器浏览器视图 Registers Browser

在这里插入图片描述
在寄存器浏览器视图中单击New Tab,弹出可选的寄存器表,可选择指针、数据或调试等内核寄存器,以及DMA、外设、中断控制等系统寄存器。
在这里插入图片描述

2.3 追踪视图 Trace

低层次调试中,追踪视图也很有用。该视图允许查看过去执行的代码。单击Window——>Show View——>Trace打开,该页面显示不支持调式终端(我用的是SC589和ICE1000仿真器),所以暂时不多研究了。
在这里插入图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: CrossCore嵌入式工作室是一种用于开发和调试嵌入式系统的软件工具。它提供了一个集成的开发环境,可以用于处理器编程、代码调试、性能分析和优化等任务。CrossCore嵌入式工作室支持多种处理器架构,包括ARM、Blackfin和SHARC等。它还提供了许多实用工具和库,可以帮助开发人员更快地完成项目。 ### 回答2: CrossCore Embedded Studio (CCES)是一款由美国安富利半导体公司 (ADI) 开发的集成开发环境 (IDE)。它是一个针对安富利的硬件平台的软件工具,主要用于设计复杂的数字信号处理器 (DSP) 和嵌入式系统。CCES 为DSP编程人员提供了一个全面的开发平台,同时具备高效、快速以及灵活的特性。 CCES的主要特点包括: 1. 易用性:CCES提供了一个用户友好的图形界面,可以帮助用户快速地访问所有的开发工具和资源,包括编译器、仿真器、调试器、post-mortem分析工具、OS和驱动程序等。 2. 适应性:CCES支持多种DSP类型和系列,包括SHARC、Blackfin、TigerSHARC以及ADSP-21xx等系列,且可以与Linux、Windows和其他操作系统无缝地进行整合和集成。 3. 可调度性:CCES提供了一个实时系统,能够自动调度各个处理单元,从而实现更快的处理速度和更高的效率。 4. 多样性:CCES提供了数千种可用的函数库、工具和算法,以支持从简单到复杂的所有DSP应用场景。 总的来说,CCES是一款非常实用和高效的开发工具,对于需要进行复杂DSP编程的工程师和开发人员来说,它是一个非常有效的解决方案。通过CCES,用户不仅可以实现高质量的DSP编程,还可以在处理DSP需求时大大提高生产力,并且具备高度的适应性和扩展性。 ### 回答3: CrossCore Embedded StudioCCES)是ADI(Analog Devices, Inc.)公司推出的一款面向嵌入式系统开发的一体化开发环境。该工具主要围绕ADI公司的Blackfin和SHARC处理器进行开发,支持C和C++等多种语言,并提供了完备的调试、优化、代码生成和界面设计等功能。 CCES集成了多种功能模块,包括源代码编辑器、编译器、链接器、调试器、模拟器和硬件仿真器等。其中,内置的源代码编辑器能够提供强大的代码补全、自动格式化和语法高亮等功能。编译器和链接器则可以将源代码转换为可执行的二进制文件,并自动解决依赖关系和库文件的链接问题。 CCES还包含了全面的调试功能,支持单步执行、断点设置、变量监测、寄存器查看和内存访问等操作。此外,CCES还提供了多种优化功能,包括代码大小、执行速度、功耗降低和可靠性提高等方面,可帮助开发者快速优化代码。 除此之外,CCES还具备图形化界面设计功能,可以帮助开发者快速构建用户界面,支持多种控件、信号和图表等高级数据可视化工具。 总之,CCES在嵌入式系统开发领域有着非常广泛的应用,其多种功能和强大的性能可以有效提高开发效率和产品质量,得到了广大开发者的高度赞誉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天亮继续睡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值