• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
主题 : 如何用JLINK调试UBOOT 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
楼主  发表于: 2010-09-12 13:30

 如何用JLINK调试UBOOT

如果使用jlink调试UBOOT呢 .上网很多人转帖说可以进行源码级别的调试.但是我看到的都是汇编

编译的时候要加入什么选项?或者怎么操作才会显示C源码呢?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-09-12 13:57
1. 编译时要arm-linux-gcc要加上"-g"标志
2. 如果你用的是Debugger是GDB,确保它能找得到源代码。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
2楼  发表于: 2010-09-12 14:27
引用第1楼kasim于2010-09-12 13:57发表的  :
1. 编译时要arm-linux-gcc要加上"-g"标志
2. 如果你用的是Debugger是GDB,确保它能找得到源代码。

1. 编译时要arm-linux-gcc要加上"-g"标志   这个确实加入了.并且都把优化-O的都改成-O0了


2. 如果你用的是Debugger是GDB,确保它能找得到源代码。
这个是什么意思呢?如何找?AXD如果遇到不知道路径的代码,他应该会提示的,我现在连提示都没有?是不是其他的方法?

请指教,谢谢啦.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-09-12 14:32
Debugger是根据你调试的ELF文件里的地址与源代码行号之间的映射关系来搜索源代码的。如果ELF文件里没有这部分调试信息,那是无法定位源文件的。
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
4楼  发表于: 2010-09-12 14:38
引用第3楼kasim于2010-09-12 14:32发表的  :
Debugger是根据你调试的ELF文件里的地址与源代码行号之间的映射关系来搜索源代码的。如果ELF文件里没有这部分调试信息,那是无法定位源文件的。

这个不大明白了.我是想通过windows下的ADS来调试UBOOT,但是他如果找不到代码路径的话,他应该会提示我,会有一个对话框出来 ,目前没有这个对话框.
请问我要怎么操作才可以呢.刚才上网看了一下,有人已经把axd让其显示uboot的c文件了.但是没有说是怎么操作的.
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
5楼  发表于: 2010-09-12 14:41
http://blog.chinaunix.net/u3/93713/showart_2107538.html

就是像这样的操作.但是我居然没有提示C代码的位置.都是汇编.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2010-09-12 14:42

 回 4楼(windxiang) 的帖子

你把在Linux PC上执行"readelf -S /path/to/u-boot"的结果贴出来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
7楼  发表于: 2010-09-12 14:43
http://blog.chinaunix.net/u3/93713/showart_2107538.html

按照这个帖子来做的.唯一的是不知道他开了哪些选项.
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
8楼  发表于: 2010-09-12 14:47

 回 7楼(windxiang) 的帖子

你把在Linux PC上执行"readelf -S /path/to/u-boot"的结果贴出来
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 27402
精华: 0
发帖: 89
金钱: 445 两
威望: 89 点
综合积分: 178 分
注册时间: 2010-08-25
最后登录: 2017-12-09
9楼  发表于: 2010-09-12 14:49
hxianglinux:/disk/uboot/s3c-u-boot-1.1.6 # readelf -S u-boot
There are 22 section headers, starting at offset 0xafc1c:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .text             PROGBITS        33f80000 008000 026c88 00  AX  0   0 32
  [ 2] .rodata           PROGBITS        33fa6c88 02ec88 000ac8 00   A  0   0  4
  [ 3] .rodata.str1.1    PROGBITS        33fa7750 02f750 006ef4 01 AMS  0   0  1
  [ 4] .data             PROGBITS        33fae644 036644 005bf4 00  WA  0   0  4
  [ 5] .u_boot_cmd       PROGBITS        33fb4238 03c238 0004b0 00  WA  0   0  4
  [ 6] .mmudata          PROGBITS        33fb8000 040000 004000 00   A  0   0 16384
  [ 7] .bss              NOBITS          33fbc000 044000 0457a8 00  WA  0   0 256
  [ 8] .ARM.attributes   ARM_ATTRIBUTES  00000000 044000 000026 00      0   0  1
  [ 9] .comment          PROGBITS        00000000 044026 000018 01  MS  0   0  1
  [10] .debug_line       PROGBITS        00000000 04403e 00a4e9 00      0   0  1
  [11] .debug_info       PROGBITS        00000000 04e527 02c6ad 00      0   0  1
  [12] .debug_abbrev     PROGBITS        00000000 07abd4 009632 00      0   0  1
  [13] .debug_aranges    PROGBITS        00000000 084208 0009c0 00      0   0  8
  [14] .debug_str        PROGBITS        00000000 084bc8 0076a2 01  MS  0   0  1
  [15] .debug_frame      PROGBITS        00000000 08c26c 005294 00      0   0  4
  [16] .debug_loc        PROGBITS        00000000 091500 0186a2 00      0   0  1
  [17] .debug_pubnames   PROGBITS        00000000 0a9ba2 002f32 00      0   0  1
  [18] .debug_ranges     PROGBITS        00000000 0acad4 003060 00      0   0  1
  [19] .shstrtab         STRTAB          00000000 0afb34 0000e7 00      0   0  1
  [20] .symtab           SYMTAB          00000000 0aff8c 008820 10     21 1538  4
  [21] .strtab           STRTAB          00000000 0b87ac 0039b9 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)
hxianglinux:/disk/uboot/s3c-u-boot-1.1.6 #
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go