zoukankan      html  css  js  c++  java
  • OMAP3530mini调试笔记(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
  • 相关阅读:
    IOS-多线程技术
    设计模式-抽象工厂设计模式
    IOS-内存管理
    IOS-MVC的使用
    POJ2411 Mondriaan's Dream (广场铺砖问题 状压dp)
    NOIp2006T2 金明的预算方案
    POJ1179 Polygon(区间DP)
    NOIp2006T1能量项链
    美梦1(JSOI2014SC)
    TJOI2013(BZOJ3173)最长上升子序列
  • 原文地址:https://www.cnblogs.com/dolphi/p/2777070.html
Copyright © 2011-2022 走看看