打印

使用CCS调试Linux 转

[复制链接]
6305|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
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

4.jpg (60.11 KB )

4.jpg

使用特权

评论回复
地板
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

5.jpg (76.36 KB )

5.jpg

使用特权

评论回复
5
wangdezhi|  楼主 | 2013-11-7 17:13 | 只看该作者
当你导入工程成功后,会看到如下界面:

7.jpg (39.45 KB )

7.jpg

使用特权

评论回复
6
wangdezhi|  楼主 | 2013-11-7 17:14 | 只看该作者
配置仿真器文件
以XDS100V2仿真器为例,
        选择File -> New -> Target Configuration File
        在 New Target Configuration对话框的file name中输入仿真器配置文件的文件名,如AM335x-TC

7.jpg (39.45 KB )

7.jpg

8.jpg (43.09 KB )

8.jpg

使用特权

评论回复
7
wangdezhi|  楼主 | 2013-11-7 17:15 | 只看该作者
点击Finish后,会弹出如下的编辑窗口,在Connection中选择”Texas Instruments XDS100v2 USB Emulator”仿真器,并在Board of Device中选择AM335x。之后点击Save即可。

使用特权

评论回复
8
wangdezhi|  楼主 | 2013-11-7 17:15 | 只看该作者
Save 之后,可以点击Test Connection,如看到如下窗口出现”The JTAG DR Integrity scan-test has succeeded. ”表示仿真器连接正常。

0.jpg (65.89 KB )

0.jpg

使用特权

评论回复
9
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
执行上述命令之后,会出现配置窗口,按如下指引进行配置。

9.jpg (72.66 KB )

9.jpg

使用特权

评论回复
10
wangdezhi|  楼主 | 2013-11-7 17:16 | 只看该作者

使用特权

评论回复
11
wangdezhi|  楼主 | 2013-11-7 17:17 | 只看该作者

使用特权

评论回复
12
wangdezhi|  楼主 | 2013-11-7 17:17 | 只看该作者

使用特权

评论回复
13
wangdezhi|  楼主 | 2013-11-7 17:17 | 只看该作者

使用特权

评论回复
14
wangdezhi|  楼主 | 2013-11-7 17:18 | 只看该作者
配置完成退出时,注意保存。

(3)        编译Linux
使用如下命令进行Linux 编译
make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage

使用特权

评论回复
15
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窗口会切换到如下界面

14.jpg (52.13 KB )

14.jpg

使用特权

评论回复
16
wangdezhi|  楼主 | 2013-11-7 17:18 | 只看该作者
选中CortexA8,右键并选择Connect Target,仿真器会连接芯片。连接成功后显示如下。

使用特权

评论回复
17
wangdezhi|  楼主 | 2013-11-7 17:19 | 只看该作者
(3)导入符号表
将之前准备好的SD卡插入目标板。这里需要用到串口调试窗口,切换到minicom窗口。Reset目标板,在u-boot启动后,按PC空格键让u-boot停止boot

16.jpg (52.22 KB )

16.jpg

使用特权

评论回复
18
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并选中。

17.jpg (87.69 KB )

17.jpg

使用特权

评论回复
19
wangdezhi|  楼主 | 2013-11-7 17:19 | 只看该作者
不需要设置offset,直接点击OK。

18.jpg (30.22 KB )

18.jpg

使用特权

评论回复
20
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

19.jpg (79.99 KB )

19.jpg

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

204

主题

7285

帖子

8

粉丝