Difference between revisions of "Devkit8000 FAQ"

From eLinux.org
Jump to: navigation, search
(How to distribute static IP in android demo system?)
 
(29 intermediate revisions by the same user not shown)
Line 29: Line 29:
  
 
==What's the RTC battery model can be used for [[Devkit8000]]?==
 
==What's the RTC battery model can be used for [[Devkit8000]]?==
The [[DevKit8000]] board is not delivered with RTC battery, user needs to prepare it themselves. The battery model is CR1220.<br>
+
Answer: The [[DevKit8000]] board is not delivered with RTC battery, user needs to prepare it themselves. The battery model is CR1220.<br>
  
  
Line 35: Line 35:
  
 
==If the Nand Flash has been erased, how to restore it?==
 
==If the Nand Flash has been erased, how to restore it?==
Please download the  [http://devkit8000.googlecode.com/files/linux_WriteToNandflash.rar linux_WriteToNandflash.rar],and decompress the linux_WriteToNandflash.rar, copy all files to the SD card in the linux_WriteToNandflash.rar, and then boot the image from the SD card.
+
Answer: Please download the  [http://devkit8000.googlecode.com/files/linux_WriteToNandflash.rar linux_WriteToNandflash.rar],and decompress the linux_WriteToNandflash.rar, copy all files to the SD card in the linux_WriteToNandflash.rar, and then boot the image from the SD card.
  
 
'''Warnning:If your NandFlash has OS before, please erase it, enter to the u-boot command mode and input the commands of "nand erase" to erase the NandFlash.'''<br>
 
'''Warnning:If your NandFlash has OS before, please erase it, enter to the u-boot command mode and input the commands of "nand erase" to erase the NandFlash.'''<br>
 +
 +
==How to open low-lever debug information when developing drivers?==
 +
Answer: Please follow below steps:<br>
 +
1. make omap3_devkit8000_defconfig<br>
 +
2. make menucofig<br>
 +
Select “Kernel low-level debugging functions”
 +
Symbol: DEBUG_LL [=y] <br>
 +
Prompt: Kernel low-level debugging functions  <br>
 +
  Defined at arch/arm/Kconfig.debug:54 <br>
 +
  Depends on: DEBUG_KERNEL          <br>
 +
  Location:            <br>
 +
    -> Kernel hacking        <br>
 +
3. make uImage<br>
 +
User can use the uImage directly after finishing compiling.<br>
 +
 +
==How to display switching between LCD and DVI output?==
 +
Answer: You need to modify kernel parameter:<br>
 +
4.3" LCD:<br>
 +
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode: 4.3inch_LCD<br>
 +
 +
5.6" LCD:<br>
 +
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode: 5.6inch_LCD<br>
 +
 +
7" LCD:<br>
 +
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:7inch_LCD<br>
 +
 +
DVI monitor:<br>
 +
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:720p60<br>
 +
 +
VGA monitor:<br>
 +
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:VGA<br>
 +
 +
==How to use tftp to update image booting from Nand flash?==
 +
Answer: [[Devkit8000]] has 10/100M Ethernet (DM9000) on board, user can update image booting from Nand flash through tftp.<br>
 +
1)x-loader booting image update<br>
 +
OMAP3 DevKit8000 #  tftp 80000000 x-load.bin.ift_for_NAND<br>
 +
dm9000 i/o: 0x2c000000, id: 0x90000a46 <br>
 +
MAC: aa:bb:cc:dd:ee:ff<br>
 +
operating at 100M full duplex mode<br>
 +
TFTP from server 192.192.192.90; our IP address is 192.192.192.200<br>
 +
Filename 'x-load.bin.ift_for_NAND'.<br>
 +
Load address: 0x80000000<br>
 +
Loading: T #<br>
 +
done<br>
 +
Bytes transferred = 9664 (25c0 hex)<br>
 +
OMAP3 DevKit8000 #  nand unlock<br>
 +
device 0 whole chip<br>
 +
nand_unlock: start: 00000000, length: 134217728!<br>
 +
NAND flash successfully unlocked<br>
 +
OMAP3 DevKit8000 #  nand ecc hw<br>
 +
OMAP3 DevKit8000 #  nand erase 0 80000<br>
 +
 +
NAND erase: device 0 offset 0x0, size 0x80000<br>
 +
Erasing at 0x60000 -- 100% complete.<br>
 +
OK<br>
 +
OMAP3 DevKit8000 #  nand write.i 80000000 0 80000<br>
 +
 +
NAND write: device 0 offset 0x0, size 0x80000<br>
 +
 +
Writing data at 0x7f800 -- 100% complete.<br>
 +
524288 bytes written: OK<br>
 +
 +
2)u-boot booting image update<br>
 +
OMAP3 DevKit8000 #  tftp 80000000 flash-uboot.bin<br>
 +
dm9000 i/o: 0x2c000000, id: 0x90000a46 <br>
 +
MAC: aa:bb:cc:dd:ee:ff<br>
 +
operating at 100M full duplex mode<br>
 +
TFTP from server 192.192.192.90; our IP address is 192.192.192.200<br>
 +
Filename 'flash-uboot.bin'.<br>
 +
Load address: 0x80000000<br>
 +
Loading: T #################################################################<br>
 +
done<br>
 +
Bytes transferred = 1085536 (109060 hex)<br>
 +
OMAP3 DevKit8000 #  nand unlock<br>
 +
device 0 whole chip<br>
 +
nand_unlock: start: 00000000, length: 134217728!<br>
 +
NAND flash successfully unlocked<br>
 +
OMAP3 DevKit8000 #  nand ecc sw<br>
 +
OMAP3 DevKit8000 #  nand erase 80000 160000<br>
 +
 +
NAND erase: device 0 offset 0x80000, size 0x160000<br>
 +
Erasing at 0x1c0000 -- 100% complete.<br>
 +
OK<br>
 +
OMAP3 DevKit8000 #  nand write.i 80000000 80000 160000<br>
 +
 +
NAND write: device 0 offset 0x80000, size 0x160000<br>
 +
 +
Writing data at 0x1df800 -- 100% complete.<br>
 +
1441792 bytes written: OK<br>
 +
 +
3)Kernel image update<br>
 +
OMAP3 DevKit8000 #  tftp 80000000 uImage<br>
 +
dm9000 i/o: 0x2c000000, id: 0x90000a46 <br>
 +
MAC: aa:bb:cc:dd:ee:ff<br>
 +
operating at 100M full duplex mode<br>
 +
TFTP from server 192.192.192.90; our IP address is 192.192.192.200<br>
 +
Filename 'uImage'.<br>
 +
Load address: 0x80000000<br>
 +
Loading: T #################################################################<br>
 +
done<br>
 +
Bytes transferred = 1991900 (1e64dc hex)<br>
 +
OMAP3 DevKit8000 #  nand unlock<br>
 +
device 0 whole chip<br>
 +
nand_unlock: start: 00000000, length: 268435456!<br>
 +
NAND flash successfully unlocked<br>
 +
OMAP3 DevKit8000 #  nand ecc sw<br>
 +
OMAP3 DevKit8000 #  nand erase 280000 200000<br>
 +
 +
NAND erase: device 0 offset 0x280000, size 0x200000<br>
 +
Erasing at 0x460000 -- 100% complete.<br>
 +
OK<br>
 +
OMAP3 DevKit8000 #  nand write.i 80000000 280000 200000<br>
 +
 +
NAND write: device 0 offset 0x280000, size 0x200000<br>
 +
 +
Writing data at 0x47f800 -- 100% complete.<br>
 +
2097152 bytes written: OK<br>
 +
 +
4)File system image update<br>
 +
OMAP3 DevKit8000 #  tftp 80000000 ubi.img<br>
 +
dm9000 i/o: 0x2c000000, id: 0x90000a46 <br>
 +
MAC: aa:bb:cc:dd:ee:ff<br>
 +
operating at 100M full duplex mode<br>
 +
TFTP from server 192.192.192.90; our IP address is 192.192.192.200<br>
 +
Filename 'ubi.img'.<br>
 +
Load address: 0x80000000<br>
 +
Loading: T #################################################################<br>
 +
done<br>
 +
Bytes transferred = 12845056 (c40000 hex)<br>
 +
OMAP3 DevKit8000 #  nand unlock<br>
 +
device 0 whole chip<br>
 +
nand_unlock: start: 00000000, length: 268435456!<br>
 +
NAND flash successfully unlocked<br>
 +
OMAP3 DevKit8000 #  nand ecc sw<br>
 +
OMAP3 DevKit8000 #  nand erase 680000 7980000<br>
 +
 +
NAND erase: device 0 offset 0x680000, size 0x7980000<br>
 +
Erasing at 0x7fe0000 -- 100% complete.<br>
 +
OK<br>
 +
OMAP3 DevKit8000 #  nand write.i 80000000 680000 $(filesize)<br>
 +
 +
NAND write: device 0 offset 0x680000, size 0xc40000<br>
 +
 +
Writing data at 0x12bf800 -- 100% complete.<br>
 +
12845056 bytes written: OK<br>
 +
 +
==How to install linux cross compile tool?==
 +
Please follow below steps:<br>
 +
1.Download cross compile tool from website<br>
 +
http://www.codesourcery.com/sgpp/lite/arm/portal/package1787/public/arm-none-linux-gnueabi/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 <br>
 +
2.Decompress software <br>
 +
sudo tar xvf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /home/ <br>
 +
 +
3.Tool installation<br>
 +
mkdir /home/embest/tools<br>
 +
cp /media/cdrom/linux/tools/mkimage /home/embest/tools<br>
 +
cp /media/cdrom/linux/tools/signGP /home/embest/tools<br>
 +
cp /media/cdrom/linux/tools/mkfs.ubifs /home/embest/tools<br>
 +
cp /media/cdrom/linux/tools/ubinize /home/embest/tools<br>
 +
cp /media/cdrom/linux/tools/ ubinize.cfg /home/embest/tools<br>
 +
 +
4.Set environment variables<br>
 +
export PATH=/home/arm-2007q3/bin/:/home/embest/tools:$PATH<br>
 +
 +
==USB OTG used as Host==
 +
Answer: If using USB OTG interface as USB Host, please follow below steps:<br>
 +
1. Connect Hub power to USB Hub;<br>
 +
2. Connect USB OTG cable to Devkit8000 board;<br>
 +
3. Power on and get into system;<br>
 +
4. Plug in USB Hub to USB OTG through cable;<br>
 +
5. Insert USB mouse or keypad to USB Hub.<br>
 +
 +
If user uses your own USB cable, please pay attention to USB OTG (Mini-AB) wire map:<br>
 +
1: VB<br>
 +
2: D-<br>
 +
3: D+<br>
 +
4: ID<br>
 +
5: GND<br>
 +
User needs only to short circuited 4 and 5.<br>
 +
 +
==Is there any solution to solve inaccurate touch screen problem?==
 +
Answer: Please modify the file arch/arm/mach-omap2/board-omap3devkit8000.c<br>
 +
struct ads7846_platform_data ads7846_conf = {<br>
 +
        .x_max                  = 0x0fff,<br>
 +
        .y_max                  = 0x0fff,<br>
 +
        //.x_plate_ohms          = 180,<br>
 +
        //.pressure_max          = 255,<br>
 +
        .debounce_max          = 10,<br>
 +
        .debounce_tol          = 5,<br>
 +
        .debounce_rep          = 1,<br>
 +
        .get_pendown_state      = ads7846_get_pendown_state,<br>
 +
        .keep_vref_on          = 1,<br>
 +
        .settle_delay_usecs    = 150,<br>
 +
};<br>
 +
 +
==How to set NFS server on Devkit8000 board?==
 +
Answer: Please follow below steps:<br>
 +
1. Please make sure your PC OS is set the NFS server.
 +
2. Connect the net cable between PC and Devkit8000 board.
 +
3. Power on the Devkit8000 board, and enter to U-boot command line,input the following command:<br>
 +
  setenv bootargs console=ttyS2,115200n8 root=/dev/nfs nfsroot=192.192.192.117:/home/lijr/work/nfsroot/rootfs ip=192.192.192.200:192.192.192.117:192.192.192.101:255.255.255.0:devkit8000:eth0:off<br>
 +
Note:<br>
 +
192.192.192.200 is IP of board;<br>
 +
192.192.192.117 is IP of PC;<br>
 +
192.192.192.117:/home/lijr/work/nfsroot/rootfs is the mounted rootfs on PC;<br>
 +
192.192.192.101 is IP of gateway;<br>
 +
255.255.255.0 is subnet mask;<br>
 +
devkit8000 is name (can be modified);<br>
 +
 +
==How to settle VGA display for a while and then closed problem in Linux?==
 +
Answer: Please modify the file /etc/init.d/rcS in file system, adding below contents:<br>
 +
 +
#  ---------------------------------------------<br>
 +
#  Disable power management<br>
 +
#  (Requires sysfs support in the kernel)<br>
 +
#  ---------------------------------------------<br>
 +
echo -n " Disabling Power mgmt      : "<br>
 +
echo -n "1" > /sys/power/cpuidle_deepest_state<br>
 +
status $? 1<br>
 +
 +
#  ---------------------------------------------<br>
 +
#  Turn off LCD after 1 hour of inactivity<br>
 +
#  (Requires sysfs support in the kernel)<br>
 +
#  ---------------------------------------------<br>
 +
echo -n " Turn off LCD after 1 hour  : "<br>
 +
echo -n "0" > /sys/power/fb_timeout_value<br>
 +
status $? 1<br>
 +
 +
==How to use S-Video output?==
 +
Answer: Please select below in kernel configuration:<br>
 +
Multimedia devices  ---><br>
 +
      [*] Video capture adapters  ---><br>
 +
          VID1 Overlay manager (Use TV Managaer)  ---> <br>
 +
              (X) Use TV Manager<br>
 +
 +
And then recompile and put the created uImage in SD card and boot system.<br>
 +
After recompiling, you need to download testing tool video_test and video example foreman_vga_422.yuv from http://code.google.com/p/devkit8000/downloads/list<br>
 +
 +
Input below after getting into kernel:<br>
 +
Copy video_test and foreman_vga_422.yuv files to board and run as below:<br>
 +
video_test /foreman_vga_422.yuv <br>
 +
 +
==How to set excuting command automatically after booting up system?==
 +
Answer: Modify /etc/init.d/rcS file of file system and add your commands. Then you can execute command automatically after booting up system. Add & after commands can implement backstage excecuting command automatically after booting up. <br>
 +
 +
==How to configurate for reusing GPIO?==
 +
Answer: Please configurate board/omap3devkit8000/omap3devkit8000.c in MUX_DEFAULT_ES2, refer to the Seventh Chapter "System Control Module" for detailed configuration way.<br>
 +
 +
=Wince problem=
 +
==How to update WinCE image to Nand Flash?==
 +
Answer: Please follow below steps: <br>
 +
1. Run the software of HP Disk Storage Format Tool and format the SD card for FAT or FAT32 filesystem.<br>
 +
2. Copy the image file(MLO, EBOOTNAND.nb0, NK.bin, ADevKit8000.exe) from  CD:\wince_6\image\ lcd480X272 to SD card, then change the name from EBOOTNAND.nb0 to EBOOTSD.nb0 in the SD card.<br>
 +
3. Insert the SD card to the board, press the BOOT button and then power on the board again; HyperTerminal will start printing the output information, at the same time press  [SPACE] to enter the EBOOT menu.<br>
 +
4. Press [5] to enter the Flash manage menu.<br>
 +
5. Press [a], [b], [c] separately to write the image(XLDR, EBOOT, NK) to flash.<br>
 +
6. Press [0] to return to the main menu, and press [2], [4], [7], [7] to change the boot device.<br>
 +
7. Power on the system again, and then the board will boot from the NAND flash. <br>
 +
 +
==How to Shield touch screen print information after WinCE booted?==
 +
Answer: Please modify function DevKit8000\SRC\DRIVERS\TOUCH\touchscreen.cpp:
 +
Shield RETAILMSG(1, ( TEXT( "Point: (%d,%d)\r\n" ), *pUncalX, *pUncalY ) ); in Row 564 and then recompile.
 +
//RETAILMSG(1, ( TEXT( "Point: (%d,%d)\r\n" ), *pUncalX, *pUncalY ) );
 +
 +
==How to close printing from debug serial port?==
 +
Answer: Please follow below steps: <br>
 +
1. comment out the RETAILMSG call in TouchDriverCalibrationPointGet function of touchscreen.cpp <br>
 +
2. comment out the RETAILMSG call in DdsiTouchPanelGetPoint function of touchscreen.cpp <br>
 +
3. comment out the RETAILMSG call in TLED_Backlight::SetPowerState function of tled_backlight.cpp <br>
 +
4. comment out the RETAILMSG call in SetDutyCycle function of tled.cpp <br>
 +
5. comment out the RETAILMSG call in LcdPdd_LCD_Initialize function of lcd_vga.c <br>
 +
6. make sure that "set BSP_NOCOM=" is not set in DevKit8000.bat  <br>
 +
7. make sure that "set BSP_NOCOM3=" is not set in DevKit8000.bat <br>
 +
8. delete the "IF BSP_COM3" of _FLATRELEASEDIR/platform.reg in line 1103 <br>
 +
9. delete the "ENDIF BSP_COM3" of _FLATRELEASEDIR/platform.reg in line 1124 <br>
 +
10. rebuild the BSP <br>
 +
 +
==How to close calibration of touch screen?==
 +
Answer: Please add below sentence in DevKit8000.bat file under Chdir of BSP and then rebuild.
 +
Set IMGNOCALIBRATION=1
 +
 +
==Why sometimes touch screen could not be used?==
 +
Answer: It is because that user had used build and sysgen when compiling. User would better not use build and sysgen for compiling in WinCE or it will cause some problems and you must reinstall pb6.0.
 +
 +
==Why could not save in WinCE?==
 +
Answer: please do some modification in SRC\DRIVERS\BLOCK\NAND\nand_MT29F2G16.h<br>
 +
Modify<br>
 +
#define NUMBER_OF_BLOCKS        (2048)  // 2048 blocks <br>
 +
to<br>
 +
#define NUMBER_OF_BLOCKS        (1024)  // 1024 blocks <br>
 +
 +
==How to correct the right RTC functions?==
 +
Answer: Please follow below steps:<br>
 +
1. Please replace the src/oal/oalrtc/rtc.c as the new rtc.c <br>
 +
(http://devkit8000.googlecode.com/files/rtc.c) <br>
 +
2. Add the  #define BSP_OAL_RTC_USES_TWL4030 TRUE <br>
 +
on the src/inc/bsp_cfg.h in BSP. <br>
 +
3. Recompile the image again.<br>
 +
 +
==How to modify MAC address on WinCE?==
 +
Answer: Please Modify the registry<br>
 +
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms]<br>
 +
"BusNumber"=dword:0<br>
 +
"BusType"=dword:1<br>
 +
"XmitBuffer"=dword:20<br>
 +
"RecvBuffer"=dword:20<br>
 +
"IrqNumber"=dword:99<br>
 +
"IoAddress"=dword:15000000<br>
 +
"Mac"=hex:00,00,00,00,00,00<br>
 +
 +
==How to modify the registry of WinCE?==
 +
Answer: Please modify in vs2005:<br>
 +
Modify platform.reg in _REL_DIR folder and then ->make runtime image<br>
 +
 +
==How to cancel Low-power/Sleep mode in WinCE?==
 +
Answer: Please select in controller board: -power-ACsuspend-never
 +
 +
==Why could not boot WinCE through SD card?==
 +
If your serial information appears below contents:<br>
 +
HandleInsertion<br>
 +
MMC Reset<br>
 +
MMCIssueIdentify: SD card detected<br>
 +
SD card relative address is 26803<br>
 +
MMCIssueIdentify: CSD<br>
 +
reported block size = 512<br>
 +
Card size is = 972800 512 byte sectors<br>
 +
max clock freq = 25000000<br>
 +
identification complete<br>
 +
SDCardIdentify: Identify device ...<br>
 +
BL_IMAGE_TYPE_BIN<br>
 +
Download file information:<br>
 +
-----------------------------------------------------------<br>
 +
[0]: Address=0x84001000  Length=0x02065488  Save=0x80001000<br>
 +
-----------------------------------------------------------<br>
 +
Download file type: 1<br>
 +
'''ERROR: Checksum failure (expected=0x1768BE9  computed=0x170C19B)'''<br>
 +
'''****** Checksum failure on record 5, ABORT!!! ******'''<br>
 +
 +
Please input NK.bin file from the CD to SD card again, the problem will be solved.<br>
 +
 +
==How to establish KITL connection?==
 +
Answer: At present the Devkit8000 board can only support download NK.bin through DM9000 Ethernet and could not support KITL transmitting. That's because the bootloader and OAL public domain code have no address map in WinCE system and access to DM9000 physical address directly. <br>
 +
User can use USB RNDIS for downloading NK.bin and KITL transmitting. <br>
 +
1. Please install RNDIS driver in PC;<br>
 +
2. Set IP address for virtual network and Devkit8000, make sure they are in the same segment, but different from PC IP segment;<br>
 +
3. Set booting device USB RNDIS in Eboot and select dubuging device to USB RNDIS.<br>
 +
 +
==How to solve BP_ReadData call failed in WinCE?==
 +
Answer: please follow below steps:<br>
 +
1. Use software HP Disk Storage Format Tool to format SD card to FAT or FAT32 file system;<br>
 +
2. Copy the image file(MLO, EBOOTNAND.nb0, NK.bin, XLDRNAND.nb0, ADevKit8000.exe) from  CD:\wince_6\image\ dvi1280X720 or lcd480X272 to SD card, then change the name from EBOOTNAND.nb0 to EBOOTSD.nb0 in the SD card.<br>
 +
3. Press BOOT key, when the serial port shows below contents:<br>
 +
INFO: Boot configuration found <br>
 +
OALFlashStoreOpen: 2048 blocks, 64 sectors/block <br>
 +
OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks <br>
 +
ERROR: OALFlashStoreRead: Failed read sector 384 (0 sector in block 6) <br>
 +
Hit space to enter configuration menu 1... <br>
 +
Please press SPACE key here;<br>
 +
4. Press [5] to enter Flash manage menu.<br>
 +
Note: if you press [8] to enter Flash menage menu, it is not correct. It means your had not renamed EBOOTNAND.nb0 to EBOOTSD.nb0.<br>
 +
5. Press [3] to enter Flash easer.<br>
 +
6. Press [7] to enter Flash format.<br>
 +
And then follow user manual 12.2.1 to update image in Nand flash. <br>
 +
 +
==How to configurate for reusing GPIO?==
 +
Answer: DeviceIoControl(hFile, IOCTL_GPIO_SETBIT, &id, sizeof(DWORD), 0, 0, NULL, NULL); 
 +
 +
1.You have to modify the ID to GPIO number<br>
 +
2.You have to modify the file platform.c (C:\WINCE600\DevKit8000\BSP\DevKit8000\SRC\BOOT\XLDR). you have to enable the PIN mux mode:<br>
 +
 +
  /*MMC2*/<br>
 +
  // Implemented on expansion interface only - leave disabled
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_CLK, (INPUT_DISABLE | PULL_UP | MUX_MODE_0));          /*MMC2_CLK*/
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_CMD, (INPUT_ENABLE | PULL_UP | MUX_MODE_0));            /*MMC2_CMD*/
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT0, (INPUT_ENABLE | PULL_UP | MUX_MODE_0));          /*MMC2_DAT0*/
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT1, (INPUT_ENABLE | PULL_UP | MUX_MODE_0));          /*MMC2_DAT1*/
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT2, (INPUT_ENABLE | PULL_UP | MUX_MODE_0));          /*MMC2_DAT2*/
 +
    //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT3, (INPUT_ENABLE | PULL_UP | MUX_MODE_0));          /*MMC2_DAT3*/<br>
 +
 +
 +
==How to get fixed-size of touch screen display?==
 +
1. you have to get the "CalibrationData", you can enter your wince via calibration, use the "Regedit.exe" to open the regedit, open the directory of [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] and check the "CalibrationData"=" xxxxxxxx "
 +
 +
2.open the "\BSP\DevKit8000\FILES\platform.reg" with visual studio 2005:
 +
 +
    ;-- 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"="xxxxxxxx "
 +
    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
 +
   
 +
Delete the "IF IMGNOCALIBRATION" and "ENDIF IMGNOCALIBRATION", compile it again.
 +
 +
=Other problems=
 +
==Reference==
 +
* Qt: http://qt.nokia.com/<br>
 +
* Oxroid-android2.1: http://code.google.com/p/0xdroid/wiki/UsingPreBuiltImages<br>
 +
* TI-android: http://code.google.com/p/rowboat/wiki/Main?tm=6<br>
 +
 +
==Download format tool==
 +
http://www.embedinfo.com/english/download/SP27213.exe
 +
 +
==Could not boot from SD card==
 +
Answer: we recommend user to use HP USB Disk Storage Format Tool 2.0.6 tool to format your SD card. Please download the tool from below link:<br>
 +
http://www.embedinfo.com/english/download/SP27213.exe<br>
 +
 +
Then follow below steps:<br>
 +
1. Insert your SD card to card reader in PC;<br>
 +
2. Open HP USB Disk Storage Format Tool;<br>
 +
3. Select "FAT32" system format;<br>
 +
4. Click "Start";<br>
 +
5. Click "OK" after finished formatting;<br>
 +
6. Copy the image to SD card and try to boot again from SD card.<br>
 +
 +
==How to modify parameters of u-boot.bin for provided demo?==
 +
Answer: please use u-boot source code of Devkit8000, modify MACH-ID and then recompile.<br>
 +
1. Modify board/omap3devkit8000/omap3devkit8000.c file in u-boot-1.3.3 source code.<br>
 +
Please find board_init function and modify:<br>
 +
gd->bd->bi_arch_number = MACH_TYPE_DEVKIT8000; <br>
 +
to be <br>
 +
gd->bd->bi_arch_number = XXX;<br>
 +
2. Recompile u-boot.<br>
 +
Note: 1) For angstrom, XXX is MACH_TYPE_DEVKIT8000 <br>
 +
2) For android, XXX is MACH_TYPE_OMAP3_BEAGLE <br>
 +
3) For dvsdk, XXX is MACH_TYPE_OMAP3EVM <br>
 +
 +
 +
==Mouse is not working when running QT on Devkit8000==
 +
Answer: Input "make menuconfig" on path of kernel and add the below commands:<br>
 +
Device Drivers  ---> <br>
 +
 +
Input device support  ---> <br>
 +
<*>Mouse interface    <br>
 +
[*]Provide legacy /dev/psaux device <br> 
 +
(1024) Horizontal screen resolution    <br> 
 +
(768) Vertical screen resolution <br>
 +
[*]  Mice  ---> <br>
 +
 +
==How to distribute static IP in android demo system?==
 +
Answer: after getting into system, input below command in serial terminal:<br>
 +
ifconfig eth0 192.192.192.90 <br>
 +
ifconfig eth0 up <br>
 +
route add default gw 192.192.192.101 dev eth0 <br>
 +
setprop net.dns1 202.96.134.133 <br>
 +
Note: user can modify above ip address according to actual conditions.<br>
 +
 +
 +
 +
 +
[[Category:OMAP]][[Category:Linux]][[Category:Development Boards]][[Category:Devkit8000]]

Latest revision as of 02:03, 15 June 2011

This page mainly summarizes solutions to some main problems during the development of Embest Devkit8000. Hope it would give you some help.

Contents

Hardware problem

If you had erased NAND flash, how to boot the system?

Answer: If the Nand Flash has been erased, user can boot the system through SD card. OMAP35x series chips can support booting x-loader from SD card. User can refer to Devkit8000 user manual to update image from SD card.

How to use USB OTG as Host or Device?

Answer: The USB OTG interface can be used as USB Host function with a Mini-A to Standard-A cable, or used as USB Device function with a Mini-B to Standard-A cable.

If using USB OTG interface as USB Host, please follow below steps: 1) Connect Hub power to USB Hub; 2) Connect USB OTG cable to Devkit8000 board; 3) Power on and get into system; 4) Plug in USB Hub to USB OTG through cable; 5) Insert USB mouse or keypad to USB Hub.

How to boot from SD card?

Answer:Press BOOT key and power on, the system will boot from SD card first and then boot from Nand flash.

How to debug DSP and ARM on Devkit8000?

Answer: We suggest two ways:
1. Connect with JTAG Emulator
Embest provide XDS100v2 and TDS560 emulators which can be used for TI's C2000, C5000, C6000 chips and OMAP, DaVinci, ARM7 and ARM9 microprocessors.

2. Dubug in software system
User can refer to the DEMO-DVSDK in product CD. The DVSDK has provided complete video encoding and decoding drivers, user only needs to dubug the DSP algorithms. Please refer to TI's website for details: http://focus.ti.com/docs/toolsw/folders/print/linuxdvsdk-omap3530.html

What's the RTC battery model can be used for Devkit8000?

Answer: The DevKit8000 board is not delivered with RTC battery, user needs to prepare it themselves. The battery model is CR1220.


Linux problem

If the Nand Flash has been erased, how to restore it?

Answer: Please download the linux_WriteToNandflash.rar,and decompress the linux_WriteToNandflash.rar, copy all files to the SD card in the linux_WriteToNandflash.rar, and then boot the image from the SD card.

Warnning:If your NandFlash has OS before, please erase it, enter to the u-boot command mode and input the commands of "nand erase" to erase the NandFlash.

How to open low-lever debug information when developing drivers?

Answer: Please follow below steps:
1. make omap3_devkit8000_defconfig
2. make menucofig
Select “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
User can use the uImage directly after finishing compiling.

How to display switching between LCD and DVI output?

Answer: You need to modify kernel parameter:
4.3" LCD:
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode: 4.3inch_LCD

5.6" LCD:
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode: 5.6inch_LCD

7" LCD:
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:7inch_LCD

DVI monitor:
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:720p60

VGA monitor:
OMAP3 DevKit8000 # setenv bootargs console=ttyS2,115200n8 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs video=omapfb:mode:VGA

How to use tftp to update image booting from Nand flash?

Answer: Devkit8000 has 10/100M Ethernet (DM9000) on board, user can update image booting from Nand flash through tftp.
1)x-loader booting image update
OMAP3 DevKit8000 # tftp 80000000 x-load.bin.ift_for_NAND
dm9000 i/o: 0x2c000000, id: 0x90000a46
MAC: aa:bb:cc:dd:ee:ff
operating at 100M full duplex mode
TFTP from server 192.192.192.90; our IP address is 192.192.192.200
Filename 'x-load.bin.ift_for_NAND'.
Load address: 0x80000000
Loading: T #
done
Bytes transferred = 9664 (25c0 hex)
OMAP3 DevKit8000 # nand unlock
device 0 whole chip
nand_unlock: start: 00000000, length: 134217728!
NAND flash successfully unlocked
OMAP3 DevKit8000 # nand ecc hw
OMAP3 DevKit8000 # nand erase 0 80000

NAND erase: device 0 offset 0x0, size 0x80000
Erasing at 0x60000 -- 100% complete.
OK
OMAP3 DevKit8000 # nand write.i 80000000 0 80000

NAND write: device 0 offset 0x0, size 0x80000

Writing data at 0x7f800 -- 100% complete.
524288 bytes written: OK

2)u-boot booting image update
OMAP3 DevKit8000 # tftp 80000000 flash-uboot.bin
dm9000 i/o: 0x2c000000, id: 0x90000a46
MAC: aa:bb:cc:dd:ee:ff
operating at 100M full duplex mode
TFTP from server 192.192.192.90; our IP address is 192.192.192.200
Filename 'flash-uboot.bin'.
Load address: 0x80000000
Loading: T #################################################################
done
Bytes transferred = 1085536 (109060 hex)
OMAP3 DevKit8000 # nand unlock
device 0 whole chip
nand_unlock: start: 00000000, length: 134217728!
NAND flash successfully unlocked
OMAP3 DevKit8000 # nand ecc sw
OMAP3 DevKit8000 # nand erase 80000 160000

NAND erase: device 0 offset 0x80000, size 0x160000
Erasing at 0x1c0000 -- 100% complete.
OK
OMAP3 DevKit8000 # nand write.i 80000000 80000 160000

NAND write: device 0 offset 0x80000, size 0x160000

Writing data at 0x1df800 -- 100% complete.
1441792 bytes written: OK

3)Kernel image update
OMAP3 DevKit8000 # tftp 80000000 uImage
dm9000 i/o: 0x2c000000, id: 0x90000a46
MAC: aa:bb:cc:dd:ee:ff
operating at 100M full duplex mode
TFTP from server 192.192.192.90; our IP address is 192.192.192.200
Filename 'uImage'.
Load address: 0x80000000
Loading: T #################################################################
done
Bytes transferred = 1991900 (1e64dc hex)
OMAP3 DevKit8000 # nand unlock
device 0 whole chip
nand_unlock: start: 00000000, length: 268435456!
NAND flash successfully unlocked
OMAP3 DevKit8000 # nand ecc sw
OMAP3 DevKit8000 # nand erase 280000 200000

NAND erase: device 0 offset 0x280000, size 0x200000
Erasing at 0x460000 -- 100% complete.
OK
OMAP3 DevKit8000 # nand write.i 80000000 280000 200000

NAND write: device 0 offset 0x280000, size 0x200000

Writing data at 0x47f800 -- 100% complete.
2097152 bytes written: OK

4)File system image update
OMAP3 DevKit8000 # tftp 80000000 ubi.img
dm9000 i/o: 0x2c000000, id: 0x90000a46
MAC: aa:bb:cc:dd:ee:ff
operating at 100M full duplex mode
TFTP from server 192.192.192.90; our IP address is 192.192.192.200
Filename 'ubi.img'.
Load address: 0x80000000
Loading: T #################################################################
done
Bytes transferred = 12845056 (c40000 hex)
OMAP3 DevKit8000 # nand unlock
device 0 whole chip
nand_unlock: start: 00000000, length: 268435456!
NAND flash successfully unlocked
OMAP3 DevKit8000 # nand ecc sw
OMAP3 DevKit8000 # nand erase 680000 7980000

NAND erase: device 0 offset 0x680000, size 0x7980000
Erasing at 0x7fe0000 -- 100% complete.
OK
OMAP3 DevKit8000 # nand write.i 80000000 680000 $(filesize)

NAND write: device 0 offset 0x680000, size 0xc40000

Writing data at 0x12bf800 -- 100% complete.
12845056 bytes written: OK

How to install linux cross compile tool?

Please follow below steps:
1.Download cross compile tool from website
http://www.codesourcery.com/sgpp/lite/arm/portal/package1787/public/arm-none-linux-gnueabi/arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
2.Decompress software
sudo tar xvf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /home/

3.Tool installation
mkdir /home/embest/tools
cp /media/cdrom/linux/tools/mkimage /home/embest/tools
cp /media/cdrom/linux/tools/signGP /home/embest/tools
cp /media/cdrom/linux/tools/mkfs.ubifs /home/embest/tools
cp /media/cdrom/linux/tools/ubinize /home/embest/tools
cp /media/cdrom/linux/tools/ ubinize.cfg /home/embest/tools

4.Set environment variables
export PATH=/home/arm-2007q3/bin/:/home/embest/tools:$PATH

USB OTG used as Host

Answer: If using USB OTG interface as USB Host, please follow below steps:
1. Connect Hub power to USB Hub;
2. Connect USB OTG cable to Devkit8000 board;
3. Power on and get into system;
4. Plug in USB Hub to USB OTG through cable;
5. Insert USB mouse or keypad to USB Hub.

If user uses your own USB cable, please pay attention to USB OTG (Mini-AB) wire map:
1: VB
2: D-
3: D+
4: ID
5: GND
User needs only to short circuited 4 and 5.

Is there any solution to solve inaccurate touch screen problem?

Answer: Please modify the file arch/arm/mach-omap2/board-omap3devkit8000.c
struct ads7846_platform_data ads7846_conf = {

       .x_max                  = 0x0fff,
.y_max = 0x0fff,
//.x_plate_ohms = 180,
//.pressure_max = 255,
.debounce_max = 10,
.debounce_tol = 5,
.debounce_rep = 1,
.get_pendown_state = ads7846_get_pendown_state,
.keep_vref_on = 1,
.settle_delay_usecs = 150,

};

How to set NFS server on Devkit8000 board?

Answer: Please follow below steps:
1. Please make sure your PC OS is set the NFS server. 2. Connect the net cable between PC and Devkit8000 board. 3. Power on the Devkit8000 board, and enter to U-boot command line,input the following command:

 setenv bootargs console=ttyS2,115200n8 root=/dev/nfs nfsroot=192.192.192.117:/home/lijr/work/nfsroot/rootfs ip=192.192.192.200:192.192.192.117:192.192.192.101:255.255.255.0:devkit8000:eth0:off

Note:
192.192.192.200 is IP of board;
192.192.192.117 is IP of PC;
192.192.192.117:/home/lijr/work/nfsroot/rootfs is the mounted rootfs on PC;
192.192.192.101 is IP of gateway;
255.255.255.0 is subnet mask;
devkit8000 is name (can be modified);

How to settle VGA display for a while and then closed problem in Linux?

Answer: Please modify the file /etc/init.d/rcS in file system, adding below contents:

  1. ---------------------------------------------
  2. Disable power management
  3. (Requires sysfs support in the kernel)
  4. ---------------------------------------------

echo -n " Disabling Power mgmt  : "
echo -n "1" > /sys/power/cpuidle_deepest_state
status $? 1

  1. ---------------------------------------------
  2. Turn off LCD after 1 hour of inactivity
  3. (Requires sysfs support in the kernel)
  4. ---------------------------------------------

echo -n " Turn off LCD after 1 hour  : "
echo -n "0" > /sys/power/fb_timeout_value
status $? 1

How to use S-Video output?

Answer: Please select below in kernel configuration:
Multimedia devices --->

     [*] Video capture adapters  --->
VID1 Overlay manager (Use TV Managaer) --->
(X) Use TV Manager

And then recompile and put the created uImage in SD card and boot system.
After recompiling, you need to download testing tool video_test and video example foreman_vga_422.yuv from http://code.google.com/p/devkit8000/downloads/list

Input below after getting into kernel:
Copy video_test and foreman_vga_422.yuv files to board and run as below:
video_test /foreman_vga_422.yuv

How to set excuting command automatically after booting up system?

Answer: Modify /etc/init.d/rcS file of file system and add your commands. Then you can execute command automatically after booting up system. Add & after commands can implement backstage excecuting command automatically after booting up.

How to configurate for reusing GPIO?

Answer: Please configurate board/omap3devkit8000/omap3devkit8000.c in MUX_DEFAULT_ES2, refer to the Seventh Chapter "System Control Module" for detailed configuration way.

Wince problem

How to update WinCE image to Nand Flash?

Answer: Please follow below steps:
1. Run the software of HP Disk Storage Format Tool and format the SD card for FAT or FAT32 filesystem.
2. Copy the image file(MLO, EBOOTNAND.nb0, NK.bin, ADevKit8000.exe) from CD:\wince_6\image\ lcd480X272 to SD card, then change the name from EBOOTNAND.nb0 to EBOOTSD.nb0 in the SD card.
3. Insert the SD card to the board, press the BOOT button and then power on the board again; HyperTerminal will start printing the output information, at the same time press [SPACE] to enter the EBOOT menu.
4. Press [5] to enter the Flash manage menu.
5. Press [a], [b], [c] separately to write the image(XLDR, EBOOT, NK) to flash.
6. Press [0] to return to the main menu, and press [2], [4], [7], [7] to change the boot device.
7. Power on the system again, and then the board will boot from the NAND flash.

How to Shield touch screen print information after WinCE booted?

Answer: Please modify function DevKit8000\SRC\DRIVERS\TOUCH\touchscreen.cpp: Shield RETAILMSG(1, ( TEXT( "Point: (%d,%d)\r\n" ), *pUncalX, *pUncalY ) ); in Row 564 and then recompile. //RETAILMSG(1, ( TEXT( "Point: (%d,%d)\r\n" ), *pUncalX, *pUncalY ) );

How to close printing from debug serial port?

Answer: Please follow below steps:
1. comment out the RETAILMSG call in TouchDriverCalibrationPointGet function of touchscreen.cpp
2. comment out the RETAILMSG call in DdsiTouchPanelGetPoint function of touchscreen.cpp
3. comment out the RETAILMSG call in TLED_Backlight::SetPowerState function of tled_backlight.cpp
4. comment out the RETAILMSG call in SetDutyCycle function of tled.cpp
5. comment out the RETAILMSG call in LcdPdd_LCD_Initialize function of lcd_vga.c
6. make sure that "set BSP_NOCOM=" is not set in DevKit8000.bat
7. make sure that "set BSP_NOCOM3=" is not set in DevKit8000.bat
8. delete the "IF BSP_COM3" of _FLATRELEASEDIR/platform.reg in line 1103
9. delete the "ENDIF BSP_COM3" of _FLATRELEASEDIR/platform.reg in line 1124
10. rebuild the BSP

How to close calibration of touch screen?

Answer: Please add below sentence in DevKit8000.bat file under Chdir of BSP and then rebuild. Set IMGNOCALIBRATION=1

Why sometimes touch screen could not be used?

Answer: It is because that user had used build and sysgen when compiling. User would better not use build and sysgen for compiling in WinCE or it will cause some problems and you must reinstall pb6.0.

Why could not save in WinCE?

Answer: please do some modification in SRC\DRIVERS\BLOCK\NAND\nand_MT29F2G16.h
Modify

  1. define NUMBER_OF_BLOCKS (2048) // 2048 blocks

to

  1. define NUMBER_OF_BLOCKS (1024) // 1024 blocks

How to correct the right RTC functions?

Answer: Please follow below steps:
1. Please replace the src/oal/oalrtc/rtc.c as the new rtc.c
(http://devkit8000.googlecode.com/files/rtc.c)
2. Add the #define BSP_OAL_RTC_USES_TWL4030 TRUE
on the src/inc/bsp_cfg.h in BSP.
3. Recompile the image again.

How to modify MAC address on WinCE?

Answer: Please Modify the registry
[HKEY_LOCAL_MACHINE\Comm\DM9CE1\Parms]
"BusNumber"=dword:0
"BusType"=dword:1
"XmitBuffer"=dword:20
"RecvBuffer"=dword:20
"IrqNumber"=dword:99
"IoAddress"=dword:15000000
"Mac"=hex:00,00,00,00,00,00

How to modify the registry of WinCE?

Answer: Please modify in vs2005:
Modify platform.reg in _REL_DIR folder and then ->make runtime image

How to cancel Low-power/Sleep mode in WinCE?

Answer: Please select in controller board: -power-ACsuspend-never

Why could not boot WinCE through SD card?

If your serial information appears below contents:
HandleInsertion
MMC Reset
MMCIssueIdentify: SD card detected
SD card relative address is 26803
MMCIssueIdentify: CSD
reported block size = 512
Card size is = 972800 512 byte sectors
max clock freq = 25000000
identification complete
SDCardIdentify: Identify device ...
BL_IMAGE_TYPE_BIN
Download file information:



[0]: Address=0x84001000 Length=0x02065488 Save=0x80001000



Download file type: 1
ERROR: Checksum failure (expected=0x1768BE9 computed=0x170C19B)
****** Checksum failure on record 5, ABORT!!! ******

Please input NK.bin file from the CD to SD card again, the problem will be solved.

How to establish KITL connection?

Answer: At present the Devkit8000 board can only support download NK.bin through DM9000 Ethernet and could not support KITL transmitting. That's because the bootloader and OAL public domain code have no address map in WinCE system and access to DM9000 physical address directly.
User can use USB RNDIS for downloading NK.bin and KITL transmitting.
1. Please install RNDIS driver in PC;
2. Set IP address for virtual network and Devkit8000, make sure they are in the same segment, but different from PC IP segment;
3. Set booting device USB RNDIS in Eboot and select dubuging device to USB RNDIS.

How to solve BP_ReadData call failed in WinCE?

Answer: please follow below steps:
1. Use software HP Disk Storage Format Tool to format SD card to FAT or FAT32 file system;
2. Copy the image file(MLO, EBOOTNAND.nb0, NK.bin, XLDRNAND.nb0, ADevKit8000.exe) from CD:\wince_6\image\ dvi1280X720 or lcd480X272 to SD card, then change the name from EBOOTNAND.nb0 to EBOOTSD.nb0 in the SD card.
3. Press BOOT key, when the serial port shows below contents:
INFO: Boot configuration found
OALFlashStoreOpen: 2048 blocks, 64 sectors/block
OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks
ERROR: OALFlashStoreRead: Failed read sector 384 (0 sector in block 6)
Hit space to enter configuration menu 1...
Please press SPACE key here;
4. Press [5] to enter Flash manage menu.
Note: if you press [8] to enter Flash menage menu, it is not correct. It means your had not renamed EBOOTNAND.nb0 to EBOOTSD.nb0.
5. Press [3] to enter Flash easer.
6. Press [7] to enter Flash format.
And then follow user manual 12.2.1 to update image in Nand flash.

How to configurate for reusing GPIO?

Answer: DeviceIoControl(hFile, IOCTL_GPIO_SETBIT, &id, sizeof(DWORD), 0, 0, NULL, NULL);

1.You have to modify the ID to GPIO number
2.You have to modify the file platform.c (C:\WINCE600\DevKit8000\BSP\DevKit8000\SRC\BOOT\XLDR). you have to enable the PIN mux mode:

 /*MMC2*/
// Implemented on expansion interface only - leave disabled //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_CLK, (INPUT_DISABLE | PULL_UP | MUX_MODE_0)); /*MMC2_CLK*/ //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_CMD, (INPUT_ENABLE | PULL_UP | MUX_MODE_0)); /*MMC2_CMD*/ //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT0, (INPUT_ENABLE | PULL_UP | MUX_MODE_0)); /*MMC2_DAT0*/ //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT1, (INPUT_ENABLE | PULL_UP | MUX_MODE_0)); /*MMC2_DAT1*/ //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT2, (INPUT_ENABLE | PULL_UP | MUX_MODE_0)); /*MMC2_DAT2*/ //OUTREG16(&pConfig->CONTROL_PADCONF_MMC2_DAT3, (INPUT_ENABLE | PULL_UP | MUX_MODE_0)); /*MMC2_DAT3*/


How to get fixed-size of touch screen display?

1. you have to get the "CalibrationData", you can enter your wince via calibration, use the "Regedit.exe" to open the regedit, open the directory of [HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH] and check the "CalibrationData"=" xxxxxxxx "

2.open the "\BSP\DevKit8000\FILES\platform.reg" with visual studio 2005:

   ;-- 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"="xxxxxxxx "
   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
   

Delete the "IF IMGNOCALIBRATION" and "ENDIF IMGNOCALIBRATION", compile it again.

Other problems

Reference

Download format tool

http://www.embedinfo.com/english/download/SP27213.exe

Could not boot from SD card

Answer: we recommend user to use HP USB Disk Storage Format Tool 2.0.6 tool to format your SD card. Please download the tool from below link:
http://www.embedinfo.com/english/download/SP27213.exe

Then follow below steps:
1. Insert your SD card to card reader in PC;
2. Open HP USB Disk Storage Format Tool;
3. Select "FAT32" system format;
4. Click "Start";
5. Click "OK" after finished formatting;
6. Copy the image to SD card and try to boot again from SD card.

How to modify parameters of u-boot.bin for provided demo?

Answer: please use u-boot source code of Devkit8000, modify MACH-ID and then recompile.
1. Modify board/omap3devkit8000/omap3devkit8000.c file in u-boot-1.3.3 source code.
Please find board_init function and modify:
gd->bd->bi_arch_number = MACH_TYPE_DEVKIT8000;
to be
gd->bd->bi_arch_number = XXX;
2. Recompile u-boot.
Note: 1) For angstrom, XXX is MACH_TYPE_DEVKIT8000
2) For android, XXX is MACH_TYPE_OMAP3_BEAGLE
3) For dvsdk, XXX is MACH_TYPE_OMAP3EVM


Mouse is not working when running QT on Devkit8000

Answer: Input "make menuconfig" on path of kernel and add the below commands:
Device Drivers --->

Input device support --->
<*>Mouse interface
[*]Provide legacy /dev/psaux device
(1024) Horizontal screen resolution
(768) Vertical screen resolution
[*] Mice --->

How to distribute static IP in android demo system?

Answer: after getting into system, input below command in serial terminal:
ifconfig eth0 192.192.192.90
ifconfig eth0 up
route add default gw 192.192.192.101 dev eth0
setprop net.dns1 202.96.134.133
Note: user can modify above ip address according to actual conditions.