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) |