使用CCS调试Linux 转

[复制链接]
7437|40
 楼主| wangdezhi 发表于 2013-11-7 17:11 | 显示全部楼层 |阅读模式
本帖最后由 wangdezhi 于 2013-11-7 17:21 编辑

目录
实验前准备
创建工程
配置仿真器文件
编译Linux
调试Linux

实验前准备
Ubuntu 10.04
Linux CCSv5
SDK:本文使用的是SDK-05.05.00.00

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:11 | 显示全部楼层
创建工程
需要在CCS中创建一个makefile工程,并将Linux源码导入。具体步骤为:
1)打开CCS


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:13 | 显示全部楼层
(2)创建makefile project
        选择 File -> New -> Project
        展开 C/C++ 分类
        选择 Makefile Project with Existing Code

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:13 | 显示全部楼层
(3)导入Linux
按如下步骤导入Linux:
        点击Browse
        找到Linux 源码目录。如 /home/sitara/ti-sdk-am335x-evm-xx.xx.xx.xx/board-support/linux-xx.xx.xx

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:13 | 显示全部楼层
当你导入工程成功后,会看到如下界面:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:14 | 显示全部楼层
配置仿真器文件
以XDS100V2仿真器为例,
        选择File -> New -> Target Configuration File
        在 New Target Configuration对话框的file name中输入仿真器配置文件的文件名,如AM335x-TC

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:15 | 显示全部楼层
点击Finish后,会弹出如下的编辑窗口,在Connection中选择”Texas Instruments XDS100v2 USB Emulator”仿真器,并在Board of Device中选择AM335x。之后点击Save即可。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:15 | 显示全部楼层
Save 之后,可以点击Test Connection,如看到如下窗口出现”The JTAG DR Integrity scan-test has succeeded. ”表示仿真器连接正常。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:16 | 显示全部楼层
编译Linux
在调试Linux前,需要编译Linux,并加上相关调试选项。
(1)        设置环境变量,指定交叉编译工具的路径
在terminal中,输入
export PATH=$PATH:/home/sitara/ti-sdk-am335x-evm-xx.xx.xx.xx/linux-devkit/bin
(2)        配置Linux,加上相关调试选项
按如下命令进行:
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- mrproper
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- tisdk_am335x-evm_defconfig
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- menuconfig
执行上述命令之后,会出现配置窗口,按如下指引进行配置。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:16 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:17 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:17 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:17 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:18 | 显示全部楼层
配置完成退出时,注意保存。

(3)        编译Linux
使用如下命令进行Linux 编译
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage
 楼主| wangdezhi 发表于 2013-11-7 17:18 | 显示全部楼层
调试Linux
(1)        将上一步编译好的uImage拷贝到SD的boot分区中
EVM板自带的SD是默认分好区,并在boot分区中有MLO和uImage,在rootfs中有文件系统。
(2)        使能仿真器。
目标板上电,在使能仿真器之前,确认SD未插在目标板上。
切换CCS窗口,点击View -> Target Configurations,展开User Defined,选中AM335x-TC配置文件,右键并选择Launch Selected Configuration
CCS窗口会切换到如下界面

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:18 | 显示全部楼层
选中CortexA8,右键并选择Connect Target,仿真器会连接芯片。连接成功后显示如下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:19 | 显示全部楼层
(3)导入符号表
将之前准备好的SD卡插入目标板。这里需要用到串口调试窗口,切换到minicom窗口。Reset目标板,在u-boot启动后,按PC空格键让u-boot停止boot

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:19 | 显示全部楼层
点击黄色pause按键,suspend芯片
选择之前编译的Linux中的vmlinux文件,导入符号表
        点击CCS的Run -> Load -> Load Symbols...
        点击Browse,找到Linux源码根目录,如下
/home/sitara/ti-sdk-am335x-evm-xx.xx.xx.xx/board-support/linux-xx.xx.xx/

点击右下角的窗口,选择All files(*),找到vmlinux并选中。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:19 | 显示全部楼层
不需要设置offset,直接点击OK。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangdezhi 发表于 2013-11-7 17:20 | 显示全部楼层
(3)        设置硬件断点
        选择File -> Open File
        打开以下路径
/home/sitara/ti-sdk-am335x-evm-xx.xx.xx.xx/board-support/linux-xx.xx.xx/arch/arm/mach-omap2
        选择 文件board-am335xevm.c
        在函数 am335x_evm_setup 处设置硬件断点
鼠标移至设置断点的代码行处,邮件选择Breakpoint->Hardware Breakpoint

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

7576

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部