DevKit8500 FAQ

From eLinux.org
Revision as of 02:22, 10 May 2013 by Timll (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

所谓前人栽树,后人乘凉,这都是过去的智慧与汗水所搭建,可以细作参考!
同时,也希望我们可以携手完善这个FAQ,让我们畅通无阻地建立合作的平台吧!

入门

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

接入键盘输入后,为什么LCD无响应?

EmbestDevkit8500 3.JPG

情况:
刚收到开发板,心情异常激动,立马拿出配套电源连接开发板上电,发现LCD出现一企鹅跟一串文字,后面写着“xxxx login: ”,接上USB键盘,竟然没有反应!
解答:
首先这个是一个正常的现象,对于预装的系统,我们采用的是一个简易版的文件系统,此文件系统不包括将USB、串口等设备的字符传输到LCD的功能。
用户可以接上调试串口,打开电脑端的超级终端实现串口通信交互。

购买了7寸显示屏,为什么上电花屏/没有显示?

情况:
刚收到开发板,二话不说连接好LCD、电源,上电系统,开始Cortex-A8的世界,竟然发现LCD花屏/没有显示!
解答:
首先这是一个正常的现象,因我们发货所配套的软体映像是4.3寸显示的,用户使用7寸显示,需要参考一下快速操作手册更新映像,方可使用。
其中有造成不方便的地方,请您见谅!

进入WinCE后,为什么不能使用触摸屏?

EmbestDevkit8500 2.JPG
情况:
进入WinCE后,LCD屏显示下面的画面,并使用手指去点击中心十字的位置,发现没有响应,这是怎么回事?

解答:
1 我们所提供的是电阻式的触摸屏,请使用手指甲(或者触摸笔)去点击
2 校准时,手指甲与触摸屏的接触时间需要大概1秒左右再松开,接触时间太短程序视为失误操作

NAND flash被擦除,如何启动系统?

假若NAND flash系统被擦除了,用户可以使用SD卡启动系统,因为DM37x芯片是支持在TF卡上启动x-loader,可以按照用户手册的TF卡系统映像更新一节。

DevKit8500如何调试DSP和ARM?

1.与仿真器相连接:
我们有用于TI 公司各种芯片调试的仿真器,具体型号为XDS100V2,可以参考:
http://www.timll.com/chinese/product/XDS100.asp

2.在软件系统上调试:
用户可以参考原光盘上所提供的DEMO-DVSDK,DVSDK上提供了完整的视频格式编码,解码的驱动,用户只需要调试DSP上的算法即可以使用,并且有完整的用户手册,具体可以参考:
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_4_00/4_00_00_22/index_FDS.html

DevKit8500中的RTC电池型号是多少?

DevKit8500出货时不带RTC电池,需用户自行配备,电池型号用 CR1220即可

进阶

此处介绍Linux,WinCE,Android,DEMO(DVSDK)操作系统在使用/研发的过程中常见问题。

Linux

如何使用HDMI(DVI-D)显示

In DevKit8500 Linux system, if you want to display with HDMI, please modify the uboot para in uboot

开发驱动时如何打开低层调试信息?

基于linux的原因,当linux的内核启动之后它会在内部操作完所有设备的初始化,对于用户使用最小系统来开发扩展板,需要打开实时的调试信息,查出哪里出现bug,具体的打开方式如下:
在内核根目录下,
1. make omap3_devkit8500_defconfig
2. make menucofig
在内核定制目录下选上“Kernel low-level debugging functions”

Symbol: DEBUG_LL [=y] 
Prompt: Kernel low-level debugging functions
Defined at arch/arm/Kconfig.debug:54
Depends on: DEBUG_KERNEL
Location:
-> Kernel hacking

3. make uImage
编译后生成的uImage文件直接使用即可。


如何调试上层部分音频程式

我们使用的是ALSA音频库,对于它的相关资料,请您到它的官方主页进行下载,
不过在下载前,您需要确认目标板所使用的ALSA软体版本,浏览方法:
进入文件系统,输入cat /proc/asound/version
确认版本后,请到 http://www.alsa-project.org/main/index.php/Main_Page 下载 alsa-utils-xxx,里面有aplay,arecord等源代码提供参考。

如何进行NFS调试

在U-BOOT命令行下设置如下参数:

OMAP3 devkit8500 # setenv bootargs 'console=ttyS2,115200n81 root=/dev/nfs nfsroot=192.192.192.115:/nfsroot/rootfs_devkit8500/rootfs ip=192.192.192.205:192.192.192.115:192.192.192.101:255.255.255.0::eth0:off'

OMAP3 devkit8500 # nand read ${loadaddr} 280000 400000; bootm ${loadaddr}

分析:
192.192.192.205 是开发板IP
192.192.192.115 是PC的IP
192.192.192.115:/home/lijr/work/nfsroot/rootfs 是被挂载的目录
192.192.192.101 是网关IP
255.255.255.0 是子网掩码

Android

在u-boot下输入“run updatesys”无效

在u-boot下输入“run updatesys”无效

 Texas Instruments X-Loader 1.47 (Mar 25 2011 - 10:15:15)
Devkit8500 xM Rev A
Booting from nand . . .
Starting OS Bootloader...

U-Boot 2010.06-rc1-svn ( 6鏈?08 2011 - 09:26:34)
OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
OMAP3 Devkit8500 board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Devkit8500 xM Rev A
Die ID #155000029e3800000168263d0300c027
Net: dm9000
Hit any key to stop autoboot: 0
OMAP3 devkit8500 # run updatesys
## Error: "updatesys" not defined
OMAP3 devkit8500 #

这是因为您使用android启动,而android的u-boot是没有run updatesys这个功能,解决方法如下:
首先确认您是从TF卡启动(若有“Booting from nand . . .”则代表没有从TF卡启动)
最好的确认方法就是在u-boot下输入 “nand erase” 指令擦除后,再接入放好映像的TF卡,
若还是不能启动,请使用用户手册上所要求的HP格式化工具格式TF卡后再尝试。

如何使用CDMA/WCDMA模块

1 进入“设置”“无线网络”“3G网络设置”,找到和3G模块对应的3G网络设置,点右边圆形按钮进行选择,系统会提示需要重启,选择“立即重启”

2 再次启动后,3G网络将自动连接,如果没有自动连接,可以进入“设置”“无线网络”,选择开启“3G网络”,当通知栏出现3G图标表示3G已经连接成功。

CDMA模块问题.jpg

编译Android文件系统源码不通过

新装的虚拟机后,由于环境没有完全安装好,所以可能会有编译不通过的情况。需要安装下面编译环境安装包:
下面以Ubuntu 10.04系统为例:
1、更新源操作

a) 在文件/etc/apt/sources.list中加入如下源:
deb http://cz.archive.Ubuntu.com/ubuntu hardy-updates main multiverse
(源镜像需要根据实际所在的地区进行切换,否则会影响下载速度)
b) 执行“$ sudo apt-get update”更新源列表。
c) 执行“sudo apt-get upgrade”确保使用的软件包列表是最新的。


2、在终端上输入下面指令进行安装:

$ sudo apt-get install git-core gnupg  
$ sudo apt-get install sun-java5-jdk
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev
$ sudo apt-get install build-essential zip curl libncurses5-dev zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install flex
$ sudo apt-get install gperf


3、添加环境变量

在其 /etc/environment 中添加如下:
CLASSPATH=/usr/lib/jvm/java-1.5.0-sun/bin
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun


在文件/etc/profile中加入
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

如果其中已经设置了CLASSPATH和JAVA_HOME,则将其修改为上面的形式,保存退出。

4、 编译源码走到target Dex:framework卡住
这是因为虚拟机内存过小所致。需要内存为2GB左右。

Angstrom

请参考 http://www.elinux.org/DevKit8500_Angstrom

WinCE

将Program Files作为NAND FLASH的设备节点

1 Added the following sentence on file DevKit8500.bat:

 set PRJ_ENABLE_FSREGHIVE=1
set PRJ_ENABLE_REGFLUSH_THREAD=1
set PRJ_ENABLE_FSMOUNTASROOT=1
set PRJ_BOOTDEVICE_MSFLASH=1

2 Selected the following configurations:

NANDFLASHasMyDeviceProgramFiles1.JPG

3 Selected the "Hive-based Registry"

NANDFLASHasMyDeviceProgramFiles2.JPG

4 Re-built the BSP and create the image.

USB KITL调试电脑端驱动下载

http://devkit8000.googlecode.com/files/RNDIS%20dirver.rar

DEBUG模式编译不通过

情况:release模式编译通过,而发现debug模式则不能通过。 解答:我们针对了这个问题对BSP作了修整,若需要更新后的BSP,请直接发邮件至support@timll.com

进入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

编译WinCE的BSP不通过

情况:
安装了WinCE的编译环境,想重新build系统,BSP全部解压到wince600的platform目录下后,并且使用附带软件内的sln文件,但仍不能成功。
解答:
1 请您翻开手册,查阅是否已经完整安装所有的编译工具,
假若没有安装完整,出错信息会提示缺一些头文件之类,因我们的BSP在出货之前都经过100%验证,大可不必考虑BSP有问题。

2 请您检查拷贝到C:\WINCE600的目录是否正确,比如:
正确:C:\WINCE600\OSDesigns\DevKit8500
错误:C:\WINCE600\OSDesigns\DevKit8500\Devkit8500
请不要重复文件夹。

3 请您检查在编译的时候是否按照手册“在vs2005窗口选择[Build-> Build Solution]”中的“Build Solution”去编译。

4 请您检查是否因为有自行添加过部分代码,而导致编译不通过,这个您自行找出问题根源。

5 上述步骤已经确认,还是不能编译通过,那请将您出错的信息发到support@timll.com,工程师们将会帮您分析。

DVSDK

分区后的TF卡,为什么只能看到一个分区?

情况:
在使用DVSDK的时候,需要制作一张带分区的卡,完全按照用户手册的步骤操作,但是发现接上电脑后卡只能看到一个分区!为何?
解答:
有下面几种可能,
1 你是在Windows下看到分区后的卡只有一个分区,因为卡的第一个分区是FAT,第二个分区是EXT3,EXT3只能在Linux系统识别,故在Windows上只能看到FAT分区。

2 如你在Linux操作系统下看到卡的分区依然只有一个,那请:
A 确认操作分区的时候是否使用“ROOT”权限分区
B 重新操作一遍
C 更换另外一张卡(因分区对卡的要求比较高,故请使用质量较好的卡)

DVSDK启动u-boot无反应

情况:在启动DVSDK的u-boot下,超级终端出现下述情况:

   60

Texas Instruments X-Loader 1.47 (Feb 17 2011 - 17:33:15)
Devkit8500 xM Rev A
Starting X-loader on MMC
Reading boot sector

1153660 Bytes Read from MMC
Starting OS Bootloader from MMC...
Starting OS Bootloader...


U-Boot 2010.06-rc1-svn ( 5鏈?06 2011 - 10:05:25)

OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
OMAP3 Devkit8500 board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
NAND: 512 MiB
In: serial
Out: serial
Err: serial
Devkit8500 xM Rev A
Die ID #2cf600229e3800000163810d19031024
Net: dm9000
Hit any key to stop autoboot: 0 (此处在超级终端串口下按下任意按键)
OMAP3 devkit8500 # setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait mpurate=1000 mem=99M@0x80000000 mem=128M@0x88000000 omapdss.def_disp=lcd omap_vout.vid1_static_vrfb_alloc=y omapfb.vram=0:3M
OMAP3 devkit8500 # setenv bootcmd 'mmc init;fatload mmc 0 80300000 uImage;bootm 80300000'
OMAP3 devkit8500 # saveenv
OMAP3 devkit8500 # boot
OMAP3 devkit8500 #


对于正常的u-boot来说,假若您在u-boot下输入指令boot,它会直接执行 setenv bootcmd 'mmc init;fatload mmc 0 80300000 uImage;bootm 80300000',
若指令在语法上出现问题,有可能会停止后面的执行,问题可能出现在:
1 直接手动输入指令,忽略了一些空格
2 在输入之前,在指令行多输入了一些空格
此处我们建议:请直接从PDF文档上拷贝指令,然后粘贴。

   setenv bootargs console=ttyS2,115200n8 root=/dev/mmcblk0p2 rootfstype=ext3 rw rootwait mpurate=1000 mem=99M@0x80000000 mem=128M@0x88000000 omapdss.def_disp=lcd omap_vout.vid1_static_vrfb_alloc=y omapfb.vram=0:3M

setenv bootcmd 'mmc init;fatload mmc 0 80300000 uImage;bootm 80300000'