OMAP3530-mini调试笔记(1)

PS:USB不能正常工作的根本原因参见调试笔记(3)

音频输出必须接有源音响,直接接耳机是没有声音的

用DVI转VGA接到VGA显示器上面没有图像,直接接到DVI显示器上才行

有一个USB口不能用

mini-USB口要用外接电源的USB HUB,我买了个USB HUB电源纹波太大,导致USB HUB挂载不上去,换一个电源以后就行了,

开机之前插入USB HUB不能正常挂载,内核启动完成后(提示login之前)再插USB HUB才能正常挂载。

使用瑞泰的2.6.22内核USB的挂载好像有点问题,时灵时不灵的,声音也没有。

换上2.6.28内核支持比较好一点,而且音频输出也正常了,我现在在自己编译2.6.28内核,期待奇迹出现。。。。

 --------------------

其他人的说法:

USB 问题:
关于USB 的问题,默认是没有打开hot plug-in 的,也就是如果上电的时候有USB hub,系
统是可以检测到,如果上电时候没有插USB Hub,等系统起来以后再加上,有可能检测不
到,方法是执行如下命令 (也可以放在rcS 里面):
echo "S" >/proc/driver/musb_hdrc
这样就可以支持USB Hub 和USB 设备的热插拔了

我在Linux version 2.6.22-omap3这个版本的内核中试过了,发现上面的方面真的有效
如zqdsp 所说,由于供电问题,你需要用带外部电源的usb hub

-----------------------------------------------------------------------------------------------

今天调了一个晚上,遇到很多问题。

首先2.6.28-iceteck这个demo是完美支持了USB和音频,所以我想调这个版本。但是他发布的源码跟demo不太一样。

当我试图用这个demo中的Uboot 来启动其他内核时候,遇到这样的错误

Starting kernel ...

Uncompressing Linux.......................................................................................................................... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x000007df).

Available machine support:

ID (hex) NAME
0000060a OMAP3 Beagle board

Please check your kernel config and/or bootloader.

 

或者是不报错,直接卡在这里了。

reading uImage

1859100 bytes read
## Booting kernel from Legacy Image at 80000000 ...
Image Name: Linux-2.6.22-omap3
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1859036 Bytes = 1.8 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.......................................................................................................................... done, booting the kernel.

经过一番百度,发现是uboot往内核传递的machine ID不对,显然relteck在内核上不是沿用的beagleboard的arch,而是建立了一个自己的omap3530-mini的arch。

所以通用的uboot当然是不支持他这个arch的,而且他的uboot也不能直接支持beagle的内核了。对于这个问题,就是两个办法,一是修改uboot,而是修改内核的arch(match-XXX),可以在arch/arm/tools/mach-types这个文件中查找内核所支持的machine ID,而内核所支持的特定的machine ID是通过make menuconfig 所配置匹配的平台指定的。

    搞清了这个问题原因后,我用了一个支持beagle内核的uboot,于是我自己编译的2.6.28内核就运行起来了,还是老问题,USB不能正常挂载。现在可以确定不是文件系统的问题。应该来说,内核的问题可能性比较大,不排除uboot也有问题。

    本来我还想试试Ti 的SDK2版本中的内核行不行,但是我编译老是报错,不知道是为什么呢?

arch/arm/mach-omap2/board-omap3beagle.c:141: error: 'AH8_34XX_GPIO29' undeclared (first use in this function)

 ---------------------------------------------------------------------------------------------------------------------------

2012-12-04

从beagle的源码页面上下载下来的最新版本x-loader竟然不能运行,这是为什么呢?

Texas Instruments X-Loader 1.5.1 (Dec 2 2012 - 10:26:37)
Unknown chip: mfr was 0x2c, id was 0xb1
Unsupported Chip!

这里找到原因了,是不支持的nandflash的原因,在drivers/k9f1g08r0a.c里面添加相应的ID就可以了。

 再去beagle的网站上找找原因,他上面说arm-2007q3不能很好的支持2.6.29以上的内核版本。说不定他也不能支持较新的x-loader呢,我打算换新的编译器来试试看。可能Ti的DVSDK2内核版本不能编译通过也是这个问题(NO,换了新的编译器还是报错)。

Note: Some users report problems using Linux installer version. If installer doesn't work for you, download tar version (section Advanced Packages), copy extracted arm-2007q3 directory to /opt/codesourcery/arm-none-linux-gnueabi/ and add /opt/codesourcery/arm-none-linux-gnueabi/arm-2007q3/bin to your path.

  • Note: CodeSourcery 2008q1 has the following issues:
    • Vectorization + NEON is broken
    • building static binaries with cortex-a8 flag (or any ARMv7a core) is broken
    • some armv6 compilations end in ICE.
  • Note: CodeSourcery 2008q3 (now replaced by 2008q3-72) has the following issues:
    • Broken NEON support using -fmpu=neon -mfloat-abi=softfp -mcpu=cortex-a8 -O3
    • It was told to miscompile U-Boot, but this seems to be fixed with recent U-Boot and 2008q3-72 below.
  • Note: CodeSourcery 2009q1 has the following issues:

另外,这里还说,从2009年以后的版本适合用2009q1-203 version来编译。继续加油。
As of August 2009, 2009q1-203 version is recommended. If you look for native tool chain, you can also install a native tool-chain from Angstrom. More recent versions from 2011 (such as 2011.03-41 version) should work just fine as well.

---------------------------------------------------

又换了X-Loader 1.4.2,For BeagleBoard Revision C4 and below这个页面上的版本,也是报这个错误

Unsupported Chip!

 这到底是不支持的CPU呢,还是不支持SD卡呢,非常费解啊。

-----------------------------------------------------

自己编译了X-Loader 1.5.1,终于运行起来了

Texas Instruments X-Loader 1.5.1 (Dec 4 2012 - 20:39:34)
Beagle Rev Ax/Bx
Reading boot sector
Loading u-boot.bin from mmc

但是u-boot.bin好像出问题了。

----------------------------------------------------------

哎呀,坑了,坑了,我说怎么最新版本的内核老是没东西从串口输出呢

原来是这样的

Omap Serial Changes

boot.scr/boot.cmd changes:

With 2.6.35:

console=ttyS2,115200n8

With 2.6.36/37+:

console=ttyO2,115200n8           (注意tty后面竟然是大写的O啊,OPQ的O啊,不是0啊)

Serial console login: /etc/init/ttyO2.conf

start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty 115200 ttyO2

 

posted @ 2012-11-19 12:51  欢乐小飞  阅读(1036)  评论(0编辑  收藏  举报