美文网首页
裸板,eslipse,gdb调试学习记录

裸板,eslipse,gdb调试学习记录

作者: sgy1993 | 来源:发表于2017-07-31 19:44 被阅读0次

    1.cpu发出的地址信号,数据信号都通过jtag
    2.jtag可以控制cpu
     当addr = xxxx,停止cpu --->硬件端点
     当data = xxxx,停止cpu --->软件断点

    3.让jtag直接访问外设

    连接示意图

    arm9上有两个硬件断点
    软件断点必须要求地址可写,不能调试nand,nor flash.

    源码级别的调试是有使用前提的:

    1. 源代码已经重定位好了.处于它的链接地址.
      实际上是根据源代码的链接地址修改内存,
       1.1使用openocd初始化sdram
       1.2 gdb下载程序
    2. lds脚本各个段必须分开,text,data,bss段分开

    3.被调试的程序里含有debug信息

    谁来初始化sdram呢?
    谁把程序下载到0x30000000
    1.openjtag下载初始化sdram的程序

    > load_image init/init.bin 0
    > resume 0x0
    

    2.cmder下load nand_elf

    arm-elf-gdb nand_elf
    (gdb) target remote 127.0.0.1:3333
    (gdb) load
    Loading section .text, size 0x12a0 lma 0x30000000
    Loading section .rodata, size 0x34 lma 0x300012a0
    Start address 0x30000000, load size 4820
    Transfer rate: 26 KB/sec, 2410 bytes/write.
    
    //设置断点
    (gdb) break main.c:21
    

    eclipse新建c工程
     1. 选择菜单项“File -> New -> C Project”

    新建一个工程(步骤 1)

     2. Makefile project->Empty
    Projects”、“Other Toolchain”,然后点击“Finish”按钮。

    新建一个工程(步骤 2)

    3.Eclipse 工程建立好后, 在“Project” 菜单里,点击去掉“Build Automatically”前面的标
    记,表示不自动编译工程


    开始调试配置
    1.如下操作

    1. 弹出的窗口如图 2.52 所示, 在里面可以看到 Zylin 字样的调试器。新建一个
        注:如果曾经创建过调试配置项,可以选中它后点右键,选择“Duplicate”进行复制,然后再修改,这样可以避免重复劳动。


    3.选择要调试的应用程序


    接下来设置调试器,如图 2.56 所示: 选择“Debugger” 为“Embedded GDB” ,设置“GDB
    debugger”为“C:\Program Files\yagarto\bin\arm-elf-gdb.exe”,设置“GDB command file”为
    “e:\eclipse_projects\s3c2440_gdb.init” (注:如果是 S3C2410 开发板,则是 s3c2410_gdb.init;
    如果是 S3C6410 开发板,则是 E:\eclipse_projects\6410\s3c6410_gdb.init;如果是 s5pc100,则是
    E:\eclipse_projects\s5pc100\s5pc100_gdb.init)

    相关文章

      网友评论

          本文标题:裸板,eslipse,gdb调试学习记录

          本文链接:https://www.haomeiwen.com/subject/iijllxtx.html