新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AM335x的U-Boot/SPL 的CCS 调试

基于AM335x的U-Boot/SPL 的CCS 调试

作者:时间:2016-09-12来源:网络收藏

XDS560v2和XDS100v2在PC机上的驱动(Windows,Linux)都已经包含在中了,所以安装了最新版的,就会安装相应的驱动。

2.2 集成开发环境

TI有自己的集成开发环境(IDE).目前最新的版本是基于Eclipse IDE架构的,界面新颖方便。

下载地址 http://processors.wiki.ti.com/index.php/Download_CCS。

CCS有Windows版本和Linux 版本,后面会在介绍调试过程中具体介绍两者的差异。

2.3 开发板

目前,针对不同的应用,TI发布了基于的多个开发板。其中BeagleBone,Starter Kit和ICE上配置了基于FT2232的xds100v2。而GPEVM和IDK上引出了CTI JTAG接口。

这里选择GP EVM和 Spectrum DigitalXDS560v2 作为调试平台。

3. CCS 调试Uboot/SPL的具体步骤

下面正式开始CCS的调试。调试的过程主要分为导入U-Boot/SPL 工程, CCS 连接,代码调试等几个部分。

3.1 导入CCS代码

在CCS中, Menu File -》 Import … 选择 Makefile 方式导入,如下图所示:

import

在ezsdk中,U-Boot/SPL所对应的Makefile的具体路径如下:

/home/sitara/ti-sdk-am335x-evm-05.05.00.00/board-support/U-Boot-2011.09-psp04.06.00.08

如前面所提到,U-Boot 和SPL的源码在同一个文件夹的,通过不同的Makefile管理不同的编译宏来区分的。这里导入的是U-Boot的代码对应的Makefile,会相应的导入U-Boot对应的预编译选项,因为其包含了所有的代码。而对于SPL,也会相应的一起带入,只是在CCS中看到的代码的宏定义有些不对,但这个不影响调试。

3.2 CCS 连接 .

主要分成仿真器的连接,target连接和Debug配置等几部分:

3.2.1 [url=]仿真器的连接[/url]

对于 AM335x GP EVM选用Spectrum DigitalXDS560v2 的20 pin的接口板,连在baseboard的J2口上即可,注意pin脚的顺序,不要把JTAG 接口插反了。

对于beaglebone,StarterKit,ICE等,这些板子已经把XDS100v2 仿真器集成到板子上了,所以直接用usb线连到PC机上即可。

A. CCS的配置

CCS的配置主要包括Target的配置和连接两部分。

a. Target 配置

Target的配置包含两个部分,一个是仿真器(XDS560v2),另一个就是SOC(AM335x)。具体操作如下:

i. View -》 Target Configurations

ii. 点右键选择New Target Configuration.

iii. 新建一个叫做AM335_EVM的target.

iv. Connection中选择 Spectrum Digital XDS560V2 STM USB Emulator.

v. 对于XDS100v2 , 可以选择 Texas InstrumentsXDS100v2 USB Emulator.

vi. 在Board or Device 中选择AM335x.

vii. 点击Save 保存。

viii. 点击Test Connection 看是否能够正常连接。

配置target成功后,会看到如下界面

06

3.2.2 Target 连接

A. 右键选中Target Configurations中已配置好的target,AM335x_EVM.ccxml, 在右键菜单中选择Launch SelectedConfiguration,连接成功后,可以得到下图

05

此时,PC 和仿真器以及仿真器和SOC的JTAG连接成功,但是ARM core还没有连上。从图中可以看到,有多个core的配置选项,由于U-Boot/SPL,Linux 运行在ARM coretex-A8 core上,这里只关注ARM core。

B. 在Debug窗口中,右键点击CortxA8 core, 选择Connect Target. 连接成功后,如下图所示:

D

此时,已经成功连上AM335x的Cortex-A8 core了。

3.2.3 Debug配置

这里的debug配置,是对emulator连上core后行为的设置。 可以通过鼠标右键点击properties,得到以下界面:

03

在该页配置中,在调试过程需要调整的就是Auto RunOptions,可以根据需要设置,当加载了image后,core自动运行到指定的symbol,并且被JTAG接口所停住

调试U-Boot/SPL的方式有两种,主要涉及如何加载image:一种是把image通过JTAG下载到片上RAM或者DDR中,然后导入 symbol,重置 PC指针到image的入口处,进行调试;另一种,把image烧到SD卡或者其他启动存储器上,启动板子,通过JTAG停住core的PC指针,导入 symbol,重置 PC指针到image的入口处,进行调试。

下面会在具体步骤中说明这两种方式如何操作:

A. 下载SPL image到AM335x中。

如果AM335x是从SD卡方式启动,此时 SPL image已经被ROM code成功读到片上 RAM中,就不需要加载 SPLimage了。

如果选择SPL image通过CCS下载,鼠标左键选择CortxA8core , 然后在CCS菜单中, Tools -》 Load Memory, 选择编译好的SPL image U-Boot-.bin,如下图所示:

HOME

选择加载的地址。由于加载的U-Boot-.bin是RAW data,所以需要指定loadaddress,这个地址就是SPL的入口地址

对于AM335x,SPL的入口地址是0x402F0400,对应的宏定义为CONFIG_SPL_TEXT_BASE, 该宏定义在include/configs/am335x_evm.h中。通过编译出的map文件U-Boot-.map也可以查到,是 __startsymbol对应的地址。

设定加载image内型。 由于所有的代码都是运行在ARM(32bit)模式下。所以Type-size也要设成32bit。设置界面如下:



关键词: AM335x spl u-boot CCS

评论


相关推荐

技术专区

关闭