Samsung2440硬件调试笔记——转载

来源:互联网 发布:上海找车位软件 编辑:程序博客网 时间:2024/05/16 11:02

本文版权属于Slyzhang,其他人需要引用,请保留版权说明。
开始调试Samsung2440了,现在将前段时间的问题做一个小结,以自勉。
一、环境:
CPU Samsung2440   
SMDRAM 64MB
NandFlash Boot Selected
12M晶震+32.768KHz晶震
仿真器+JTAG烧录板
示波器+万用表
二、最小系统
CPU SDRAM JTAG 以运行起来,这样就可以使用仿真器进行简单的测试了。

二、前期准备

硬件测试
硬件从厂取回来后,我们开始对硬件板子进行硬件检测,主要检测方面为:
《1》、目测是否有短路、虚焊、缺料的情况,在工具的检测下,有一块板子发生虚焊,有一些物料没有准备齐全,进行补料。
《2》、使用万用表进行短路检测,发现有一些片阻发生短路,SDRAM 连接线有短路情况, 修改后没有发现短路。
《3》、加电、检测各个核心电压和晶震。发现有一块板子电压不正常,仔细检查,发现有物料使用错误;一板没有晶震,发现使用晶震旁边电容使用错误,改正后晶震工作正常;经检测,核心电源管理芯片周围器件使用参数不对,有偏差,改正后,通过示波器显示电压供电正常。
三、软件测试
硬件检查正常后,发送硬件板子到软件组进行软件测试。
《1》、使用JTAG 进行JTAG识别。发现一个板子不能识别CPU ID,发送到硬件部检查。一般这种情况都是由于硬件原因造成的CPU供电不正常/JTAG线路有问题、JTAG时钟、数据线上的电感等有副作用。

有一块板子可以找到CPU,仿真器工作正常,可以进行下面的软件基本运作了。


《2》、使用仿真器检查。 接上仿真器,发现一个板子不能正常显示内存,修改内存数据,4字节数据一起变动,怀疑是SDRAM 有问题。
一般情况下,发生这个问题的原因是:
1、SDRAM 本身有问题
2、SDRAM没有初始化,时钟运行不正常(没有烧录程序的新板子经常发生这个问题)。
3、SDRAM控制器没有被正常初始化导致仿真器工作不正常。
4、硬件没有BIOS程序, 硬件加电后,并没有任何代码得到执行,SDRAM当然没有被初始化了。 如果你已经烧录过有SDRAm初始化的代码, 那么一般进行仿真器调试都可以正常工作。
5、SDRAm本身存在问题、线路连接存在问题、地址线、数据现出现信号匹配问题。

 通过初始化内存后,发现SDRAM工作正常,具体正常工作表现在以下几个现象:

1、仿真器可以正常使用。可以进入 b RESET  点 ,同时如果代码无误的情况下可以进入 Main(),断点可以正常使用,可以进入其他函数调用。

2、修改内存一个字节内容,可以正确修改,不会出现相邻2个、4个字节同时变化的情况。

 3、一般情况下,可以通过GPIO端口接上  LED 等来指示当前CPU最小系统是否正常工作

至此,关于硬件的简单检测,就已经可以保证硬件的最小系统可以运行起来。

内存初始化的办法一般有几种方式:
1、在AXD命令行窗口中运行初始化命令
2、烧录流行的程序,保证初始化代码不会烧坏电路板。
SDRAM初始化成功后,才可以运行程序等其他操作。

原创粉丝点击