好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

AT91SAM9G20开发板调试.doc

9页
  • 卖家[上传人]:M****1
  • 文档编号:536562898
  • 上传时间:2023-08-09
  • 文档格式:DOC
  • 文档大小:214KB
  • / 9 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • AT91SAM9G20开发板调试过程硬件配置:AT91SAM9G20,64M的SDRAM,256MFLASH调试环境:windows下ADS1.2,openocd调试工具:OpenJtag,JlinkV7一:画板:在画板的时,参考的是官方AT91SAM9G20最小系统部分和AT91SAM9260EK全功能开发板!二:焊接:因为9G20是BGA封装的,无法通过手工来焊接于是在修市场,找别人贴的了两片!拿回来后,开始将最小系统周边的元件一一焊上!主要包括电源,晶振,复位,JTAG接口,DBGU调试端口!在将这些外围元件焊上去的时候,发现JTAG和DBGU端口都无法识别,于是买了个小型回流焊,又自个儿焊了两块!三:调试:电源检测:主要是检测5V,3.3V,1V电源,看是否正常时钟检测:主要检测外部32.768kHz与18.432MHz是否起振,在外面电子市场焊的两块,其中一块,内部有短路的地方,完全报废另一块晶振可以起振但是自个儿焊的两个,晶振不能起振DBGU端口检测:在AT91SAM9X系列的处理器中,在片内都固化了一个romboot程序,他会在一些设备的初始化工作,其中包括DBGU端口的初始化,在通过串口连接上PC后,可以在超级终端下打印一行字符串“ROMBOOT”JTAG端口检测:在openocd环境下,通过openjtag对开发板进行调试,但是,在进入调试环境是,始终出现一错误,导致不能下载程序。

      后来改用ADS1.2+JLINKV8调试出现的问题:1:时钟不能起振(自个儿焊的板子)解决过程:在测晶振两端信号时,用手使劲按了下处理器,发现就有时钟信号,松开时,就没有初步断定:处理器中存在虚焊的地方通过用热风机,再次对处理器进行加热,冷却后,上电测试,OK!问题解决,运气!2:DBGU端口无法打印ROMBOOTAT91SAM9260EK全功能板,在超级终端下,可以打印ROMBOOT字符串,因为9260和9G20都是基于ARM926EJ-S内核的,所以我以此来判断处理器是否跑起来,但是检测9G20开发板外围电路时,没发现异常的地方3:JTAG接口无法识别的问题问题描述:通过OPENJTAG接口,在openocd环境下,在相同的*.cfg配置文件下,9260没有任何错误但是在9G20下时,出现了一个错误:描述如下所示:解决过程:因为这个错误,我们一直怀疑是软件配置的问题,而没有去分析硬件(当然确保了时间电路和原理图是一样的,而且曾把JTAG电路改成和9260一样的)就这样修改两天配置文件,还是没有效果一个下午,偶然的机会,比较下两块板子JTAG接口的电平,发现两个JTAG接口的电平不一样,如是去掉9G20开发板中的R5,发现JTAG接口电平信号一致。

      但是还是连接不上,经上网搜索,发现别人也出现过这样的问题,是因为JTAGSEL置1,后来将中间电阻R4去掉,即悬空!连接测试,OK!一阵窃喜!4:如何判断BGA是否焊接好?最小系统是否跑起来啦?问题描述:在解决了JTAG接口后,可以通过JLink连接到开发板,但是,DBGU串口部分不通,因而不清楚固化在片内的ROMBOOT是否运行起来,也不清楚最小系统是否在运行测试方法:电流检测法&跑马灯检测法电流检测:去掉电阻R26,用万用表检测其中的电流是否正常,内核正常工作时,其电流为8mA经测试,正常!跑马灯测试:写一简单的跑马灯程序,测试对应引脚是否有高低电平在变化主要包括两个函数:Start.s和led.c在ADS1.2下调试时,正常,达到了程序设计的效果!由此断定:最小系统运行正常,同时,片内的ROMBOOT已经运行!5:为什么DBUG串口不能打印ROMBOOT字符串?经第四步的检验测试,可以判断固化在片内的ROMBOOT已经运行啦,但是为什么DBGU串口没有打印信息呢?经仔细检测:发现在原理图中的DBGU标号与com口标号混淆了!从处理器出来的调试信号线,DTXD,DRXD经SP3232电平转换后到com1,但是底板的com口连接的是com0,发现问题的原因咯,不能简单的将com1接口连接到com0上,电平信号会有冲突!通过串口连接,超级终端终于出现了-----------------------久违的ROMBOOT。

      6:SDRAM的调试在最小系统运行起来之后,JTAG接口,DBGU端口,都测试好后,想通过官方的SAM-BA进行bootloader,kernel,fs的烧写时,在通过JLink连接时,总是出现这样的错误提示:之后,可以通过JTAG接口来识别开发板,但是在执行SDRAM,NANDFLASH的初始化时,SAM-BA就会死掉!从网上搜索,是说SDRAM外围接口信号出现了错误,可是通过对SDRAM与处理器之间的信号检测,没有发现什么问题解决思路:当初怀疑是软件版本,因为SAM-BA是开源软件,可以通过,分析了出现错误提示的源代码,是因为在测试SDRAM时,通过读写SDRAM时,发现数据不一样而出现这个错误提示于是,想通过软件测试的方法来检测硬件到底是什么地方除了错误大致思路为:先初始化SDRAM,然后再读写SDRAM,看读写的数据是否一样?定义一指针,指向SDRAM的起始地址,然后,开始向这个地址协议数据,看该地址中的值是否有变化?Unsignedint*p;p=(unsignedint*)(0x20000000);*p=0x12345678;然后在ADS1.2环境下调试,经发现:在0x20000000处的值为:78163412。

      有一数据位发生了变化,5变成了1经分析是数据位D14被拉低啦,找到问题原因啦!看原理图:这数据线只是经过了一个电阻才到SDRAM的,那到底是处理器在焊接部分与地短路,还是外围电路发生了短路?希望后者,于是去掉R8,检测发现:是6脚和地短路而不是3脚感谢上帝啊!可是,从处理器到SDRAM中间没有其他的元件,怎么会短路呢?不对,不是开发板还有数据和地址线的扩展接口吗,一查果然是那儿的原因,数据线DATA14和地接在一起啦,终于找到罪魁祸首啦!再连接测试,没有出现那个错误提示7:NANDFLASH的测试在第6步测试通过后,发现在执行NANDFLASH的使能,擦除时,没有出现SAM-BA死掉的现象,NANDFLASH测试就这样通过啦,谢天谢地!四:开发板存在的问题:1:硬件方面存在的问题:JTAG接口和DBGU端口在设计时,出现了错误2:布局方面的问题:晶振应该尽可能与处理器放得近些扩展的接口,应该标上数字与某一个IC器件周边的电阻电容,应该放在一起的3:板子设计值得完善的地方去掉板子上多余的过孔,如处理器周边的四个定位孔还有其他的一些过孔去掉板子上多余的东西:如DATAFLASH,掉电唤醒按键。

      J4那个选择跳线应该去掉添加的跳线:在NANDFALSH片选信号处加一个跳线!4:扩展的片选信号的标号,应该与9G20上的片选信号一致5:实时时钟,可以选择用片内RTT,可以省掉外部的8025实时时钟。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.