Difference between revisions of "SBC8018 FAQ"

From eLinux.org
Jump to: navigation, search
(Linux)
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Sbc8018-L.jpg]]<br>
 
所谓前人栽树,后人乘凉,这都是过去的智慧与汗水所搭建,可以细作参考!<br>
 
不过在这里,还是要申明:<br>
 
熟读用户手册,无师自通,万夫莫敌。<br>
 
 
 
= '''入门''' =
 
= '''入门''' =
 
此处介绍当用户购买了SBC8018评估套件,刚开始用的时候可能会出现的问题。<br>
 
此处介绍当用户购买了SBC8018评估套件,刚开始用的时候可能会出现的问题。<br>
==1、SBC8018启动报错ERROR: can't get kernel image!==
+
==参考资料==
 +
=== QT参考 ===
 +
TI提供了一个QT操作系统,假若要做SAMBA,FTP之类的,可以在这个基础上自行研发,
 +
假若您打算使用SBC8018来制作一台带图形界面的网络共享服务器,建议您使用FTP,这个比SAMBA简单多。
 +
 
 +
TI SDK参考链接:
 +
    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sdk/AM1x/latest/index_FDS.html
 +
下载
 +
ti-sdk-am180x-evm-05.02.00.00-Linux-x86-Install
 +
am180x-evm-sdk-bin-05.02.00.00.tar.gz
 +
 
 +
 
 +
==Linux==
 +
===如何配置扩展接口的PIN MODE===
 +
请参考内核源码:<br>
 +
文件"arch/arm/mach-davinci/board-da850-evm.c"<br>
 +
===启动时block报错===
 +
首先这是正常的;<br>
 +
mtdblock1 和 mtdblock2两个分区存放的是u-boot,用于NAND启动,所以必须使用硬件ECC。<br>
 +
硬件ECC与内核中Flash的软件ECC操作方式不同。因些,内核启动过程中某些分区预取会出现读不到有数据的情况(也就是ECC失败)。<br>
 +
 
 +
===如何开机运行应用程序===
 +
 
 +
您可以通过vi修改/etc/rcS.d/S90led.sh的文件,并将执行应用程序的指令拷贝到该文件里面<br>
 +
  vi /etc/rcS.d/S90led.sh<br>
 +
这样开机时候会自动执行您想要运行的应用程序。<br>
 +
 
 +
===SATA 硬盘测试注意事项 ===
 +
1 先用SATA线连接好板和硬盘 再开机<br>
 +
2 电源的电压和电流要满足硬盘要求<br>
 +
3 仅支持SATA I 1.5G和SATA II 3G 硬盘<br>
 +
4 如果要正确识别硬盘上必须有一个EXT2或FAT(FAT32)分区<br>
 +
 
 +
===U-boot下网卡显示不能找到?===
 +
  U-Boot 2009.11 ( 9鏈?24 2011 - 14:17:17)
 +
 
 +
  I2C:  ready
 +
 
 +
  DRAM:  128 MB
 +
 
 +
  NAND:  128 MiB
 +
 
 +
  MMC:  davinci: 0
 +
 
 +
  Bad block table not found for chip 0
 +
 
 +
  Bad block table not found for chip 0
 +
 
 +
  Bad block table written to 0x000007fe0000, version 0x01
 +
 
 +
  Bad block table written to 0x000007fc0000, version 0x01
 +
 
 +
  *** Warning - bad CRC or NAND, using default environment
 +
   
 +
  In:    serial
 +
 
 +
  Out:  serial
 +
 
 +
  Err:  serial
 +
 
 +
  ARM Clock : 300000000 Hz
 +
 
 +
  DDR Clock : 150000000 Hz
 +
 
 +
  '''Net:  No ETH PHY detected!!!'''
 +
 
 +
信息所反馈的是没检测到网络物理层芯片,但是输出这个的时候网络设备已经注册过,故上述的反馈是不影响以太网的使用。
 +
 
 +
对于软件,只要连接好硬件, 是可以成功ping通某个IP。
 +
 
 +
=== SATA 驱动参考 ===
 +
 
 +
<br>
 +
SATA参考驱动:<br>
 +
drivers/ata/ahci.c<br>
 +
drivers/ata/ahci-platform.c<br>
 +
drivers/ata/ahci-ti.c<br>
 +
<br>
 +
SATA注册的设备:<br>
 +
[arch/arm/mach-davinci/devices-da8xx.c]<br>
 +
  static struct resource da850_ahci_resources[] = {<br>
 +
        {<br>
 +
                .start  =      DA850_SATA_BASE,<br>
 +
                .end    =      DA850_SATA_BASE + 0x1fff,<br>
 +
                .flags  =      IORESOURCE_MEM,<br>
 +
        },<br>
 +
        {<br>
 +
                .start  =      IRQ_DA850_SATAINT,<br>
 +
                .flags  =      IORESOURCE_IRQ,<br>
 +
        }<br>
 +
  };<br>
 +
  static int da850_ahci_data = 10;<br>
 +
  static struct platform_device da850_ahci_device = {<br>
 +
        .name  =      "ahci",<br>
 +
        .id    =      -1,<br>
 +
        .dev    =      {<br>
 +
                                .platform_data = &da850_ahci_data,<br>
 +
                                .coherent_dma_mask = 0xffffffff,<br>
 +
                        },<br>
 +
        .num_resources = ARRAY_SIZE(da850_ahci_resources),<br>
 +
        .resource      = da850_ahci_resources,<br>
 +
  };<br>
 +
  int __init da8xx_register_sata(void)<br>
 +
  {<br>
 +
        return platform_device_register(&da850_ahci_device);<br>
 +
  }<br>
 +
 
 +
==WinCE==
 +
===进入WinCE后,为什么每次都要触控校准?===
 
情况:<br>
 
情况:<br>
U-Boot 2009.11 (Nov 03 2011 - 18:42:19)
+
发现每一次进入WinCE操作系统,都需要触摸屏校准,如何解决这个问题?<br>
I2C:  ready <br>
+
<br>
DRAM:  128 MB <br>
 
NAND:  128 MiB <br>
 
MMC:  davinci: 0 <br>
 
Bad block table not found for chip 0 <br>
 
Bad block table not found for chip 0 <br>
 
Bad block table written to 0x000007fe0000, version 0x01 <br>
 
Bad block table written to 0x000007fc0000, version 0x01 <br>
 
**Warning - bad CRC or NAND, using default environment <br>
 
In:    serial <br>
 
Out:  serial <br>
 
Err:  serial <br>
 
ARM Clock : 300000000 Hz <br>
 
DDR Clock : 150000000 Hz <br>
 
Net:  No ETH PHY detected!!! <br>
 
Hit any key to stop autoboot:  0 <br>
 
U-Boot > boot <br>
 
SW ECC selected <br>
 
NAND read: device 0 offset 0x200000, size 0x280000<br>
 
NAND read from offset 200000 failed -74 <br>
 
## Booting kernel from Legacy Image at c0700000 ...<br>
 
Booting kernel from Legacy Image at c0700000 <br>
 
  Image Name:  Linux-2.6.33-rc4 <br>
 
  Image Type:  ARM Linux Kernel Image (uncompressed)<br>
 
  Data Size:    2305932 Bytes =  2.2 MB <br>
 
  Load Address: c0008000 <br>
 
  Entry Point:  c0008000 <br>
 
  Verifying Checksum ... Bad Data CRC <br>
 
ERROR: can't get kernel image! <br>
 
U-Boot > <br>
 
 
解答:<br>
 
解答:<br>
TI现成了一个QT操作系统,假若要做SAMBA,FTP之类的,可以在这个基础上自行研发,
+
因我们所配套的LCD显示屏有4.3寸、7寸,不同的LCD显示屏所使用的触摸屏参数都不一样,所以触摸屏是每一次都需要做触摸屏校准。<br>
假若您打算使用SBC8018来制作一台带图形界面的网络共享服务器,建议您使用FTP,这个比SAMBA简单多。<br>
+
解决方法:<br>
TI SDK参考链接:
+
1 打开超级终端,并启动WinCE操作系统,校准一次LCD触摸屏,查看超级终端里的信息,能看到一段类似'''“CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896”''',这属于触摸屏的参数。<br>
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sdk/AM1x/latest/index_FDS.html<br>
+
<br>
  下载:
+
2将触摸屏的参数加入BSP路径bsp/file/platform.reg<br>
ti-sdk-am180x-evm-05.02.00.00-Linux-x86-Install<br>
+
<br>
am180x-evm-sdk-bin-05.02.00.00.tar.gz<br>
+
    ;-- Touch Screen driver --------------------------------------------------------<br>
 +
    ; @CESYSGEN IF CE_MODULES_POINTER<br>
 +
    ; @CESYSGEN IF GWES_TCHUI<br>
 +
    ; @XIPREGION IF PACKAGE_OEMDRIVERS<br>
 +
    IF BSP_NOTOUCH !<br>
 +
    [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]<br>
 +
        "DriverName"="touch.dll"<br>
 +
    IF IMGNOCALIBRATION                //将此行隐掉<br>
 +
        "CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896" //此为您触摸屏的参数,将其修改为4.3inch或7inch<br>
 +
    ENDIF IMGNOCALIBRATION            //将此行隐掉<br>
 +
        "MaxCalError"="6"<br>
 +
        "SPIAddr"=dword:0          ; McSPI1 channel 0<br>
 +
        "PenGPIO"=dword:1B          ; gpio27// gpio_175<br>
 +
        "PenUpDebounceMS"=dword:28 ; PenUp debounce time in MS, 0 to disable debounce process<br>
 +
    "InitialSamplesDropped"=dword:2 ; Number of samples to be dropped after pen down detection<br>
 +
    ; Default is 1<br>
 +
        ;"SampleRate"=dword:64 ; samples per second, default is 100<br>
 +
    <br>
 +
        ENDIF BSP_NOTOUCH !<br>
 +
    ; @XIPREGION ENDIF PACKAGE_OEMDRIVERS<br>
 +
    ; @CESYSGEN ENDIF GWES_TCHUI<br>
 +
    ; @CESYSGEN ENDIF CE_MODULES_POINTER<br>
 +
    <br>

Latest revision as of 00:46, 9 May 2012

入门

此处介绍当用户购买了SBC8018评估套件,刚开始用的时候可能会出现的问题。

参考资料

QT参考

TI提供了一个QT操作系统,假若要做SAMBA,FTP之类的,可以在这个基础上自行研发, 假若您打算使用SBC8018来制作一台带图形界面的网络共享服务器,建议您使用FTP,这个比SAMBA简单多。

TI SDK参考链接:

   http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sdk/AM1x/latest/index_FDS.html

下载 ti-sdk-am180x-evm-05.02.00.00-Linux-x86-Install am180x-evm-sdk-bin-05.02.00.00.tar.gz


Linux

如何配置扩展接口的PIN MODE

请参考内核源码:
文件"arch/arm/mach-davinci/board-da850-evm.c"

启动时block报错

首先这是正常的;
mtdblock1 和 mtdblock2两个分区存放的是u-boot,用于NAND启动,所以必须使用硬件ECC。
硬件ECC与内核中Flash的软件ECC操作方式不同。因些,内核启动过程中某些分区预取会出现读不到有数据的情况(也就是ECC失败)。

如何开机运行应用程序

您可以通过vi修改/etc/rcS.d/S90led.sh的文件,并将执行应用程序的指令拷贝到该文件里面

 vi /etc/rcS.d/S90led.sh

这样开机时候会自动执行您想要运行的应用程序。

SATA 硬盘测试注意事项

1 先用SATA线连接好板和硬盘 再开机
2 电源的电压和电流要满足硬盘要求
3 仅支持SATA I 1.5G和SATA II 3G 硬盘
4 如果要正确识别硬盘上必须有一个EXT2或FAT(FAT32)分区

U-boot下网卡显示不能找到?

 U-Boot 2009.11 ( 9鏈?24 2011 - 14:17:17)
 
 I2C:   ready
 
 DRAM:  128 MB
 
 NAND:  128 MiB
 
 MMC:   davinci: 0
 
 Bad block table not found for chip 0
 
 Bad block table not found for chip 0
 
 Bad block table written to 0x000007fe0000, version 0x01
 
 Bad block table written to 0x000007fc0000, version 0x01
 
 *** Warning - bad CRC or NAND, using default environment
    
 In:    serial
 
 Out:   serial
 
 Err:   serial
 
 ARM Clock : 300000000 Hz
 
 DDR Clock : 150000000 Hz
 
 Net:   No ETH PHY detected!!!
 

信息所反馈的是没检测到网络物理层芯片,但是输出这个的时候网络设备已经注册过,故上述的反馈是不影响以太网的使用。

对于软件,只要连接好硬件, 是可以成功ping通某个IP。

SATA 驱动参考


SATA参考驱动:
drivers/ata/ahci.c
drivers/ata/ahci-platform.c
drivers/ata/ahci-ti.c

SATA注册的设备:
[arch/arm/mach-davinci/devices-da8xx.c]

 static struct resource da850_ahci_resources[] = {
{
.start = DA850_SATA_BASE,
.end = DA850_SATA_BASE + 0x1fff,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_DA850_SATAINT,
.flags = IORESOURCE_IRQ,
}
};
static int da850_ahci_data = 10;
static struct platform_device da850_ahci_device = {
.name = "ahci",
.id = -1,
.dev = {
.platform_data = &da850_ahci_data,
.coherent_dma_mask = 0xffffffff,
},
.num_resources = ARRAY_SIZE(da850_ahci_resources),
.resource = da850_ahci_resources,
};
int __init da8xx_register_sata(void)
{
return platform_device_register(&da850_ahci_device);
}

WinCE

进入WinCE后,为什么每次都要触控校准?

情况:
发现每一次进入WinCE操作系统,都需要触摸屏校准,如何解决这个问题?

解答:
因我们所配套的LCD显示屏有4.3寸、7寸,不同的LCD显示屏所使用的触摸屏参数都不一样,所以触摸屏是每一次都需要做触摸屏校准。
解决方法:
1 打开超级终端,并启动WinCE操作系统,校准一次LCD触摸屏,查看超级终端里的信息,能看到一段类似“CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896”,这属于触摸屏的参数。

2将触摸屏的参数加入BSP路径bsp/file/platform.reg

   ;-- Touch Screen driver --------------------------------------------------------
 ; @CESYSGEN IF CE_MODULES_POINTER
 ; @CESYSGEN IF GWES_TCHUI
 ; @XIPREGION IF PACKAGE_OEMDRIVERS
IF BSP_NOTOUCH !
[HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH]
"DriverName"="touch.dll"
IF IMGNOCALIBRATION //将此行隐掉
"CalibrationData"="2016,1888 1056,864 992,2912 3040,2976 3072,896" //此为您触摸屏的参数,将其修改为4.3inch或7inch
ENDIF IMGNOCALIBRATION //将此行隐掉
"MaxCalError"="6"
"SPIAddr"=dword:0  ; McSPI1 channel 0
"PenGPIO"=dword:1B  ; gpio27// gpio_175
"PenUpDebounceMS"=dword:28  ; PenUp debounce time in MS, 0 to disable debounce process
"InitialSamplesDropped"=dword:2 ; Number of samples to be dropped after pen down detection
; Default is 1
 ;"SampleRate"=dword:64 ; samples per second, default is 100

ENDIF BSP_NOTOUCH !
 ; @XIPREGION ENDIF PACKAGE_OEMDRIVERS
 ; @CESYSGEN ENDIF GWES_TCHUI
 ; @CESYSGEN ENDIF CE_MODULES_POINTER