Chinaunix首页 | 论坛 | 博客
  • 博客访问: 772977
  • 博文数量: 215
  • 博客积分: 291
  • 博客等级: 二等列兵
  • 技术积分: 1031
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-12 18:17
文章分类

全部博文(215)

文章存档

2016年(16)

2015年(16)

2014年(123)

2013年(60)

分类: 嵌入式

2014-08-15 15:39:52

操作系统:Debian7.5
MCU:arm920t

前言:
    在移植过程中,要使用到许多技巧。这里说一下如何使用jlink command来调试程序。

一,复位开发板
    #r halt                   // 复位,并停在第一个指令处
    #step                    // 单步执行
    


二,如何反汇编uboot
    在调试的时候,常常需要查看汇编代码。
    #arm-linux-objdump -D u-boot > u-boot.dis
    



三,查看反汇编文件,设置断点
    在调试的时候,先尝试判断处程序的异常所在。
    以移植新uboot为例:
    1,首先要查看start.s 文件,判断时钟频率等是否正确。
    2,在考虑 内存初始化 是否存在问题
    3,考虑程序保存在哪里,nand or nor。
    4,程序的复制到内存中是否有问题。
    。。。

    以判断内存初始化是否成功:
    1,在内存初始化函数后设置断点
            #SetBP 0xB0
    2,读读某个内存地址的数据
            #mem 0x30000000 4
    3,往某个内存地址写入数据,再读出,看看数据是否成功写入。
            #w4 0x30000000 0x12345678
    

    判断:此时内存初始化应该是不成功。



阅读(1149) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~