SBC8018 FAQ

From eLinux.org
Revision as of 00:46, 9 May 2012 by Timll (talk | contribs) (Linux)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

入门

此处介绍当用户购买了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