Chinaunix首页 | 论坛 | 博客
  • 博客访问: 220774
  • 博文数量: 253
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 3
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-21 12:29
文章分类

全部博文(253)

文章存档

2014年(253)

我的朋友

分类: 嵌入式

2014-09-21 12:43:06

原文地址:***调试开发板(am335x) 作者:andyhzw

PC操作系统         ubuntu11.10
开发板             :am335x
开发板uboot版本    u-boot-2011.09-psp04.06.00.07
开发板linux内核版本:linux-3.2-psp04.06.00.07.sdk

当刚拿到一个板子时,要从那方面着手调试呢?
硬件调试  --> uboot调试  --> linux kernel调试  --> 驱动调试

    1,硬件调试

**硬件调试步骤 

感悟:要启动开发板,首先要板子的元器件的电压正确,电路符合功能需求,否则当运行程序(uboot,kernel等)时,
        无法确定问题的所在,问题范围太大,大大的增加了调试的时间,

    2,uboot调试
背景 :采用SD卡启动模式,使用的是MMC2,而不是MMC0(默认是MMC0)。
操作a :烧写MLO文件到SD卡中,启动,串口没有任何输出
#a begin

猜想1:可能是MMC2没有正常驱动。
问题1:如何测试MMC2有没有正常工作?
解答 :    1,确保MMC2 pin 的初始化正确。

              2,如何确保开发板是从 MMC2 启动而不是 MMC0 启动的,要修改哪些代码        


猜想2:可能是串口没有正常驱动
问题1:如何测试uart0可否正常发送?
解答 :对 uart_txd 循环发送 0x55 或 0xaa,通过示波器查看电平是否正确。

结果:通过查看参考参考《AM335x ARM Cortex-A8 Microprocessors (MPUs) Technical Reference Manual (Rev. G) 》中第26章节Initialization中26.1.7.5 MMC/SD Cards部分,发现 SD卡确实只能通过MMC0或者MMC1来启动,不可以通过 MMC2 启动。
因此,只可尝试使用别的方式启动开发板,如串口,NAND等

感悟:当遇到问题时,首先要查看相应的文档,确定调试的方向。

#a end









    3,linux kernel调试







    4,具体驱动调试








































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