DAVINCI调试ARM端应用程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DAVINCI 调试 ARM 端应用程序 拿到 DM365 的开发板好几天了,各种环境也都搭建成功了,Demo 程序也跑起来了。现在就想如何来调试应用程序。在开始之前心里其实就明白,Linux 下是不可能有 Windows 下那么好用的 IDE 工具的。所以首先想到使用 gdb,然后再去找找有没有稍微人性化一点的IDE 工具。下面就是我的调试过程。 建立源文件(hello.c) host # gedit hello.c 输入: #include stdio.h int main (int argc, char **argv) { int x, y; x = 20, y = 10; printf(%d+%d=%d\n, x, y, x+y); printf(%d*%d=%d\n, x, y, x*y); printf(%d/%d=%d\n, x, y, x/y); return 0; } 查看是否已安装 ARM-CROSS 的 GDB 工具 host # arm_v5t_le-gdb bash: arm_v5t_le-gdb: command not bash: arm_v5t_le-gdb: command not found 错误:命令找不到。说明没有供交叉编译的GDB 工具。 安装 GDB 工具 下载最新的 gdb 安装包:/gnu/gdb 这里我下载了最新的 gdb-7.1.tar.gz 安 装 过 程 参 见 : /index.php/Debugging_a_Linux_Application_with_MontaVista_5.0 这里讲的很清楚,下面只记录安装命令: host # cp gdb-7.1.tar.gz /home/debug/tmp host # tar zxvf gdb-7.1.tar.gz host # cd gdb-7.1 host # ./configure --host=i686-pc-linux-gnu --target=armv5tl-montavista-linux-gnueabi --prefix=/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le host # make make install 安装完成,在/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin目录下生成 3 个文件: armv5tl-montavista-linux-gnueabi-gdb armv5tl-montavista-linux-gnueabi-gdbtui armv5tl-montavista-linux-gnueabi-run 安装 GDB-Server host # cd /gdb-7.1/gdb/gdbserver (注:gdbserver 在 gdb-7.1.tar.gz解压出来的包里面) host # CC=arm_v5t_le-gcc ./configure --host=armv5tl-montavista-linux-gnueabi --prefix=/home/debug host # make make install 安装完成,在指定目录(/home/debug)生成一个 bin 目录,目录下就有 gdbserver -g编译源文件(hello.c) -g host # arm_v5t_le-gcc  hello.c -o hello (注意加上-g 选项) 编译结束后,即可生成一个带 debug 信息的可执行文件 hello 下载可执行文件(hello)到目标板 因为这里没有使用 NFS,所以需手动下载到目标板上,可通过tftp 下载。注:主机 IP 地址:09;目标板 IP 地址:44 host # cp hello /tftpboot target# cd /opt/test target# tftp -g -r hello 09 target# chmod 755 hello 在目标板的 /opt/test 目录下得到 hello 可执行文件,并修改其权限,否则没有运行权限。 调试可执行文件(hello) 首先在目标板上运行 gdbserver,如下: target# gdbserver 09:4567 target# gdbserver 09:4567 ./hello Process ./sample created; pid = 658 Listening on port 4567 接下来,目标板一直处于监听状态。 host# armv5tl-montavista-linux-gnueabi-gdb ./hello注:以上命令中 gdbserver 后面跟的是主机

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档