Downloads
release
dev builds
extras
themes
Documentation
manual
wiki
device status
Support
forums
mailing lists
IRC
Development
bugs
patches
dev guide
Search
Search
| Go
Wiki
>
Main
>
OndaVX747
---+!! Onda VX747 / VX747+ / VX777 %TOC% ---++ Port status * LCD is working * Backlight is working * Touchscreen & keys are working * RTC is working, but if you boot the OF and then boot Rockbox it will lose all the RTC settings * Interrupts are working * System reboot/shutdown is working * NAND flash driver is working, but flash translation layout (FTL) hasn't been ported * Audio & external speaker are working * USB is working (minor problems with interrupt transfers though <- only needed for USB HID) * SD driver is working, but hotswap isn't committed yet (due to problems with the Rockbox storage internals) * Dual boot is working Known problems: * Pictureflow hangs (never worked) * MPEGplayer doesn't work (crashes) * Rockboy seems to need optimizations for MIPS/Jz4740 targets (too slow) ---+++ How to upload Rockbox to SDRAM * Download usbtool from [[http://svn.rockbox.org/viewvc.cgi/trunk/utils/jz4740_tools/][SVN]] and read the README (or download it here: [[%ATTACHURLPATH%/usbtool.exe][Windows]]/[[%ATTACHURLPATH%/usbtool][Linux]]). * Compile Rockbox as Normal or Bootloader (see [[DevelopmentGuide]] for more information). * Normal: * Add the line =#define USB_BOOT= to autoconf.h, compile Rockbox, run =make zip= and extract =rockbox.zip= to your SD card * Bootloader: * Add the line =#define USB_BOOT= to autoconf.h and compile Rockbox. * Run =usbtool 10 [file]= (with =sudo= under Linux) with =[file]= being either =ccpmp.bin= (bootloader) or =rockbox.bin= (normal version) ---+++ How to upload the Rockbox bootloader to NAND * Compile the bootloader (this will generate a ccpmp.bin file) * Download the Original Firmware (OF) package (called VX747.HXF or SG301.HXF; vx777.HXF for the VX777): [[http://www.onda.cn/pro/download/bios.jsp][link]] * Compile !ChinaChipPatcher in rbutil/chinachippatcher/ (run =make= in the dir) * Run =../rbutil/chinachippatcher/chinachip VX747.HXF ccpmp.bin output.HXF ccpmp.old= in the dir where you compiled your bootloader * Put output.HXF in the root of the NAND drive (boot into the OF as Rockbox currently can't access the NAND storage) and name it SG301.HXF (or VX747.HXF on some targets) * Reset your player while holding VOL DOWN (on the VX777 you don't need to hold any buttons) If you want to have dual-boot capabilities: * Copy ccpmp.old (name it ccpmp.bin) to the root of your SD card (The bootloader will boot into the OF (loaded from ccpmp.bin from the SD card) when you switch the HOLD switch on, it will show a boot menu when pressing VOL UP (or POWER; for the VX777) and if nothing is pressed it will boot Rockbox from the SD) You can also do all these steps (except compiling the bootloader) using RockboxUtility, but currently you'll need to edit rbutil.ini to get this working; as there's no bootloader on the download server (yet). ---++ Information ---+++ Images * [[http://www.flickr.com/photos/27622164@N02/sets/72157605593954258/][VX747 disassembled]] by mcuelenaere * [[http://translate.google.com/translate?hl=en&langpair=zh|en&u=http://www.v15i.com/mp4Html/mp4review/2008-2/1/142817400.html][VX747]] [[http://66.102.9.104/translate_c?hl=en&langpair=zh|en&u=http://www.v15i.com/mp4Html/mp4review/2008-2/1/142817400_2.html][disassembled]] by v15i.com * [[http://translate.google.be/translate?ie=UTF-8&u=http%3A%2F%2Fbbs.imp3.net%2Fthread-464577-1-17.html&sl=zh-CN&tl=en][VX777 disassembled]] by imp3.net * [[http://74.125.77.132/translate_c?hl=en&ie=UTF-8&sl=zh-CN&tl=en&u=http://bbs.mydigit.cn/read.php%3Ftid%3D74132&usg=ALkJrhjoJEX8Bg355JxbcAxynRHltuYzWA][VX767]] [[http://74.125.77.132/translate_c?hl=en&ie=UTF-8&sl=zh-CN&tl=en&u=http://bbs.mydigit.cn/read.php%3Ftid%3D48693&prev=_t&usg=ALkJrhhxU0NyusOHezB5Tn1CEKOqDMGpLA][disassembled]] by mydigit.cn ---+++ Components | || *VX747* | *VX747+* | *VX777* | *VX757* | *VX757+* | *VX767* | | <img width="350" alt="" src="http://www.v15i.com/Files/BeyondPic/2008-2/1/onda747-06.jpg" /> | [[IngenicJz47xx][Ingenic Jz4732]] chipset%BR%Markings on backside of the board: !SG301H V2%BR%0801172010P2%BR%More: 94V-0 E305905 0608%BR%VX777: !SG303HT V2%BR%VX747: !SG301HC | X | X | X | X | X | X | | <img width="350" alt="" src="http://img73.imageshack.us/img73/4581/tfttc3.png" /> | [[http://www.truly.com.hk/][Truly Semiconductor]] ([[http://www.trulyhk.com/download/semiconductors/Main_catalog.pdf][Catalog]]) 3,0" touchscreen (400x240)%BR%Markings: !A0533B%BR%On back: TC300-6-C-P4-J-E !S80130173A%BR%On connector: !Y080309-AB3%BR%TFT9K0259FPC-B1-E TRULY-C 0805%BR%([[%ATTACHURLPATH%/TFT-G240400RTSW-3W-TP-E(3.0D)v1.0.pdf][datasheet]])%BR%%BR%Custom LCD design, based on TFT-G240400RTSW-3W-TP-E%BR%LCD Driver IC: Renesas R61509 ([[%ATTACHURLPATH%/eR61509_1.02.pdf][datasheet]]) | X | ? (compatible) | ? (compatible) | ? | ? | | | <img width="350" alt="" src="http://www.v15i.com/Files/BeyondPic/2008-2/1/onda747-03.jpg" /> | [[http://www.ptibattery.com/products.asp?typeid=3][Power Tech International]] !PL043759P%BR% Other device yields: TS-043759 !RSD8J20A%BR%LI-ION 4.2V 800mAh | X | ? | ? | ? | ? | ? | | <img width="202" alt="samsungK9.jpg" src="%ATTACHURLPATH%/samsungK9.jpg" height="134" /> | [[http://www.datasheet4u.com/download.php?id=604473][Samsung 749 K9HBG08U1M]]%BR%2/4/8GB NAND flash (containing bootloader + firmware)%BR%VX747 (8GB) NAND_ID: 0xECD7%BR%VX747+ (4GB) NAND_ID: 0xECD5 | X | ? | ? | ? | ? | ? | | | 2x Hynix [[http://www.hynix.com/datasheet/pdf/consumer/HY57V281620F(L_S)T(P)_Series(Rev.1.2).pdf][HY57V281620FTP-2]] SDRAM%BR%Total: 32MB%BR%747A | | ? | | ? | ? | X | | | 2x Hynix [[http://www.hynix.com/datasheet/pdf/consumer/HY57V641620F(L_S)TP_series(Rev1.0).pdf][HY57V641620FTP-7]] SDRAM%BR%Total: 16MB%BR%818A C | X | ? | X | ? | ? | | | | TEA5767 FM chip | X | X | X | ? | ? | X | | | TV-output: [[http://www.chrontel.com/products/7023.htm][Chrontel !CH7024B-DF]] ([[http://www.chrontel.com/pdf/7023-7024ad.pdf][datasheet]]) | | | X | | X | X | | | Speaker amplifier: [[http://www.national.com/mpf/LM/LM4890.html][LM4890]] ([[http://www.national.com/ds/LM/LM4890.pdf][datasheet]])%BR%or [[http://focus.ti.com/lit/ds/symlink/tpa2005d1.pdf][TPA2005D1]] | X | X | ? | | | | | | [[http://www.szgptech.com/bdtshow.asp?anid=388&xinghao=TQ7051][TQ7051]] Standalone Linear Lithium Battery Charger ([[%ATTACHURLPATH%/TQ7051.pdf][datasheet]]) | X | X | ? | ? | ? | ? | | | [[http://www.ovt.com/products/part_detail.asp?id=10][OV2640]] 2Mpixel camera ([[http://www.trulydisplays.com/ccm/specs/2.0M%20Sensor%20OV2640%20Spec.pdf][datasheet]]) | | X | | | | | ---+++ Schematic <img width="1000" alt="schematic" src="%ATTACHURLPATH%/schematic.PNG" />%BR% More information can be found [[%ATTACHURLPATH%/ER620-M-0_V1.0.pdf][here]] ---+++ GPIO configuration ---++++ VX747 * GPIO_PXPIN(3) ^ (1 << 27) => VOL DOWN button * GPIO_PXPIN(3) ^ (1 << 0) => VOL UP button * GPIO_PXPIN(3) ^ (1 << 1) => MENU button * GPIO_PXPIN(3) ^ (1 << 16) => HOLD switch * GPIO_PXPIN(3) ^ (1 << 29) => OFF button * GPIO_PXPIN(1) ^ (1 << 29) => microSD card insertion * GPIO_PXPIN(3) & (1 << 28) => ADP_CHK (g_USB_charge) * GPIO_PXDATS(1) | (1 << 30) => enable charging? * GPIO_PXDATS(2) | (1 << 27) => enable internal speaker ---++++ VX747+ * GPIO_PXPIN(3) ^ (1 << 27) => VOL DOWN button * GPIO_PXPIN(3) ^ (1 << 19) => VOL UP button * GPIO_PXPIN(3) ^ (1 << 20) => MENU button * GPIO_PXPIN(2) ^ (1 << 22) => HOLD switch * GPIO_PXPIN(3) ^ (1 << 29) => OFF button ---++++ VX777 ---+++ UART pins ---++++ VX747 The UART connections on the VX747 board has been found by some folks at linuxforum.net ([[http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=707757&page=0&view=collapsed&sb=5&o=0&fpart=4&vc=1][here]] and [[http://www.linuxforum.net/forum/showflat.php?Cat=&Board=embedded&Number=707757&page=0&view=collapsed&sb=5&o=0&fpart=5&vc=1][here]]) <img alt="" src="%ATTACHURLPATH%/snapshot1.jpg" />%BR% <img alt="" src="%ATTACHURLPATH%/snapshot2.jpg" />%BR% <img alt="" src="%ATTACHURLPATH%/snapshot3.jpg" /> ---++++ VX777 Some info available [[http://bbs.imp3.net/thread-464577-1-17.html][here]] ([[http://translate.google.be/translate?u=http%3A%2F%2Fbbs.imp3.net%2Fthread-464577-1-17.html&sl=zh-CN&tl=en][translated]]) ---++++ Boot log Text between [] has been added to indicate the different booting steps. <pre>[ROM code -> %ATTACHURLPATH%/rom_dump.bin] [NAND first bootloader (NAND sectors 0 -> 3) -> %ATTACHURLPATH%/first_bootloader.bin] NAND Booting...ECD55525.0003EDA0.OK [ECD55525 -> NAND id of first bank, 0003EDA0 -> length of second bootloader in bytes] [NAND second bootloader (NAND sectors 128 -> ...) -> %ATTACHURLPATH%/second_bootloader.bin] NAND Loading... loader normal mode... Creating ftl device... id:EC D5 55 25 68 id:EC D5 55 25 68 id:00 00 00 00 00 id:00 00 00 00 00 OK. usb_connect = 1 loader -- into lcd_init. Start decode... OK 153601. loader -- out lcd_init. get_lcd_brightness -- value = 4. len is 0x 500000 os_len = 0x 1e2d78. checksum = 0x0989877a. 0000818B:1.00008191:1.ret = 1 Run image... [Main firmware -> ccpmp.bin] c_main enter------!! kseg init OK! intc init OK! intc lib OK! the os is start </pre> ---++ Firmware upgrade Holding the MENU button down while resetting the device boots it into "Jz4740 USB Boot Device" (VID=601A, PID=4740) which is the same as the information provided by Ingenic's USBboot tools. ---+++ OEM USB upgrade The protocol should be compatible with/the same as [[http://rapidshare.com/files/117191129/usbboot-v1.3.zip][usbboot-v1.3.zip]] provided by [[IngenicJz47xx#Source_code][Ingenic]]. !Jz4740USBtool is available at utils/jz4740_usbtool in SVN which can upload data from and to the device. NOTE: Source code from the Ingenic tool is available at [[http://projects.qi-hardware.com/][Qi-hardware]], which is regularly synced with Ingenic ---+++ Official flash recovery Using [[http://code.doubleukay.com/vx747writer.rar][this]] program (from [[http://www.mp4nation.net/forum/viewtopic.php?f=6&t=3393&start=15&st=0&sk=t&sd=a][MP4Nation]]) you can always recover from a bad flash. Recovery procedure: * hold MENU button while resetting your player * start the program and press the second top left big button * press it again after a (Chinese) message appears on your player * reset your player while holding VOL DOWN * upload your firmware named as SG301.HXF to the root * reset your player while holding VOL DOWN [[%ATTACHURL%/log.htm][VX747writer's workflow]] is available [[%ATTACHURL%/Log_Files.rar][here]], an older version is below. * do these steps with [[%ATTACHURL%/log_first.bin][log_first.bin]], [[%ATTACHURL%/log_second.bin][log_second.bin]], [[%ATTACHURL%/log_third.bin][log_third.bin]], [[%ATTACHURL%/log_fourth.bin][log_fourth.bin]] and [[%ATTACHURL%/log_fifth.bin][log_fifth.bin]]: 1 do a VR_GET_CPU_INFO (returns !JZ4740V1) 1 (after uploading log_first.bin): do a VR_FLUSH_CACHES 1 do a VR_SET_DATA_ADDRESS with value = 0x80000000 1 upload log_X.bin to EP1 1 do a VR_SET_DATA_LENGTH (returns length of upload) 1 download log_X.bin from EP1 (and verify if it's correct) 1 do a VR_PROGRAM_START1 with value = 0x80000000 (executing the uploaded code) 1 do a VR_SET_DATA_ADDRESS with value = 0xB3020000 = DMAC_DSAR(0) 1 do a VR_SET_DATA_LENGTH (returns length = 4 = int32) 1 read 4 bytes from EP1 1 ... (do some checking?) * put the device somehow in USB UMS (probably through log_fifth.bin) and erase the NAND * wait for instructions: * NAND needs to be formatted as FAT32 * FW image needs to be uploaded as SG301.HXF Probably ChinaChip modified the standard USBtools a bit (e.g. making VR_SET_DATA_LENGTH some kind of VR_GET_DATA). %BR%Also VR_FLUSH_CACHES clears the current code running the USB tool mode, so you'll want be sure there's other code on the device too which can be runned. Conclusions after some RE: * ChinaChip has used the Ingenic USB boot tools (including the source to be runned on the device itself) for stage 1 at least * The initial boot code is get from ROM (0x1FC00000), copied to the 16kb cache and run from there (0x080000000) * the stage2 takes over the USB functioning * the flush caches command kills the initial USB code in cache so if there isn't any replacement code available the player will need to be reset ---++ Known issues ---+++ RTC is working, but if you boot the OF and then boot Rockbox it will lose all the RTC settings This is due the 'sync' function: Rockbox will synchron time with OF, but the Onda OF has no time function. ---+++ NAND flash driver is working, but flash translation layout (FTL) hasn't been ported yet We now have 3 choice: * Use Apple iPod2G's FTL, but it will make it _lose OF compatibility_ * Write a patch and use it to boot Rockbox from OF. In this case, the OF's FTL code is used directly. Because only the SDK of VX777 1.1 OF can be found, we must use VX777 OF instead of the others. * Just try to find the FTL which Onda's OF uses ---+++ Minor problems with interrupt transfers though <- only needed for USB HID ---++ Links * [[ChinaChip][Firmware format]] * [[IngenicJz47xx][Ingenic Jz4740 information]] * [[OndaVX767]] * [[AinolV2000SE]] ---++ External links * [[http://forums.rockbox.org/index.php?topic=17245.0][Forum thread]] * [[http://google.com/translate?u=http%3A%2F%2Fwww.onda.com.cn%2Fpro%2Fproduct%2Fproduct.jsp%3FId%3D12139&hl=en&ie=UTF8&sl=zh-CN&tl=en][Manufacturers site]] * [[ftp://ftp.onda.cn/download/driver/oamp3/vx747/][Firmware archive]] * [[http://code.google.com/p/jz-hacking/][Jz-Hacking (Linux on the Onda)]] * [[http://rbtheme.5d6d.com/bbs.php?gid=7][Rockbox Chinese Forum (PMP-Firmware)]] --- CategoryFrontpage: Onda VX747 Port Index [New Ports]
I
Attachment
Action
Size
Date
Who
Comment
pdf
ER620-M-0_V1.0.pdf
manage
203.4 K
29 Jan 2009 - 00:52
MaurusCuelenaere
ChinaChip
player schematics (similar to the VX747)
pdf
K9HBG08U1M.pdf
manage
1135.8 K
29 Jan 2009 - 00:53
MaurusCuelenaere
Samsung K9HBG08U1M NAND flash datasheet
rar
Log_Files.rar
manage
73.8 K
23 Jun 2008 - 12:31
MaurusCuelenaere
Log files
pdf
TFT-G240400RTSW-3W-TP-E(3.0D)v1.0.pdf
manage
778.2 K
29 Jan 2009 - 00:54
MaurusCuelenaere
Truly TFT datasheet
txt
TLB_dump.txt
manage
5.6 K
23 Aug 2008 - 00:48
MaurusCuelenaere
TLB dump
pdf
TQ7051.pdf
manage
262.9 K
29 Jan 2009 - 00:51
MaurusCuelenaere
TQ7051 datasheet
pdf
eR61509_1.02.pdf
manage
2635.8 K
29 Jan 2009 - 00:55
MaurusCuelenaere
Renesas R61509 LCD IC datasheet
bin
first_bootloader.bin
manage
8.0 K
02 Mar 2009 - 23:12
MaurusCuelenaere
Code at NAND sectors 0 -> 3
htm
log.htm
manage
44.0 K
20 Jun 2008 - 21:01
MaurusCuelenaere
bin
rom_dump.bin
manage
16.0 K
23 Aug 2008 - 00:45
MaurusCuelenaere
On-chip Boot ROM dump
bin
second_bootloader.bin
manage
250.0 K
03 Mar 2009 - 00:07
MaurusCuelenaere
Code at NAND sectors 128 -> 190
EXT
usbtool
manage
39.9 K
10 Apr 2009 - 12:37
MaurusCuelenaere
Precompiled USB-tool for Linux (compiled on Debian 5)
exe
usbtool.exe
manage
50.3 K
20 Mar 2009 - 22:53
MaurusCuelenaere
Precompiled USB-tool for Windows
E
dit
|
A
ttach
|
P
rint version
|
H
istory
: r81
<
r80
<
r79
<
r78
|
B
acklinks
|
V
iew topic
|
M
ore topic actions
r81 - 03 May 2011 - 03:50:23 -
PurlingNayuki
Copyright © by the contributing authors.