Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6464877
  • 博文数量: 579
  • 博客积分: 1548
  • 博客等级: 上尉
  • 技术积分: 16635
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-12 15:29
个人简介

http://www.csdn.net/ http://www.arm.com/zh/ https://www.kernel.org/ http://www.linuxpk.com/ http://www.51develop.net/ http://linux.chinaitlab.com/ http://www.embeddedlinux.org.cn http://bbs.pediy.com/

文章分类

全部博文(579)

文章存档

2018年(18)

2015年(91)

2014年(159)

2013年(231)

2012年(80)

分类: 嵌入式

2013-04-08 16:50:22

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,具体驱动调试








































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