Rockbox.org home
Downloads
Release release
Dev builds dev builds
Extras extras
themes themes
Documentation
Manual manual
Wiki wiki
Device Status device status
Support
Forums forums
Mailing lists mailing lists
IRC IRC
Development
Bugs bugs
Patches patches
Dev Guide dev guide
Search



Donate

Rockbox Technical Forums


Login with username, password and session length
Home Help Search Staff List Login Register
News:

Rockbox Ports are now being developed for various digital audio players!

+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Ingenic Jz4740/Jz4732 players
« previous next »
  • Print
Pages: 1 2 [3] 4 5 ... 13

Author Topic: Ingenic Jz4740/Jz4732 players  (Read 141771 times)

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #30 on: September 05, 2008, 06:42:37 PM »
Current status:

the 'crashing' problem have been identified as TLB Load/Store/Ifetch exceptions.
Also, TLB refill's have been requested by the MMU.

Current workaround: disable interrupts :/

Next blocker is the NAND: for some reason it just won't respond to any READ commands (I've tried several timing options, none worked).
The only NAND-related stuff that works is it's identification..

The Onda VX767 has been added as a target and will probably differ not much from the VX747.

I found the official datasheets, but currently the parts what I'm interested in are either missing or not helping (NAND & MMU/TLB)..

So my current options are rather limited; with the main one being RE.
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #31 on: September 14, 2008, 05:01:09 PM »
Good news :)

I think almost all previous bugs have been fixed and only 1 new one has been introduced ;)

What was the cause of the weird TLB/MMU/Exception/Interrupt bug?
In the interrupt/exception handler all CPU registers get stored on the stack and when leaving from an interrupt, they get restored from stack.
_But_ instead of loading the data of register $1 into $1, it got loaded into $v1 (stupid typo, I know).
This messed up quite some other unrelated code, because of course this meant $v1 could get changed at _any_ time (interrupts occur 'randomly').

Today I also got threading code to work - needs thorough testing though, but at least the Onda ran >2min non-stop with interrupts on (while before it would crash at about 15-20sec).

I also dumped some NAND data through USB to my PC to try locating the FAT partition, but didn't came far. As expected, the data at page 0 in block 0 contains executable code (this gets executed as second-stage bootloader), but RE it doesn't provide much info.

And last but not least: the new bug makes the backlight blink when doing button_read_device(); I haven't investigated why this occurs and it started doing so when I implemented thread handling and added yield() to the bootloader.
Logged

Offline here2code

  • Member
  • *
  • Posts: 1
Re: Ingenic Jz4740/Jz4732 players
« Reply #32 on: September 26, 2008, 02:41:38 PM »
Thanks Saratoga for the help on irc channel the other day.

Hi Maurus,

I am able to load the bootloader in SDRAM and run using your code and usbtools. Next step for me is to try to load the bootloader in NAND and run it from there. Have you tried doing that?

Have you tried running rockbox from SDRAM using usbtools?

thanks.
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #33 on: September 26, 2008, 05:37:06 PM »
Quote from: here2code on September 26, 2008, 02:41:38 PM
Thanks Saratoga for the help on irc channel the other day.

Hi Maurus,

I am able to load the bootloader in SDRAM and run using your code and usbtools. Next step for me is to try to load the bootloader in NAND and run it from there. Have you tried doing that?

Have you tried running rockbox from SDRAM using usbtools?

thanks.
No, I haven't tried running the bootloader from NAND but AFAI checked, it should work (I made the SDRAM environment as close as possible to the NAND one).

And there's no point running Rockbox from SDRAM as no FAT partition can be mounted (yet), and as Rockbox will need to load some files it is rather pointless.

Currently what we need to find out is what NAND wearout scheme/NAND layout structure has been used by ChinaChip (I'm betting on either the one implemented in µCos II, as a lot of that source code has been used in the OF or the MTD ones in Linux)

==off topic==
BTW have you turned on nick name highlighting in mIRC? Because I've tried to speak to you thrice now and you don't seem to have responded (all text in #rockbox is logged).
« Last Edit: September 26, 2008, 05:40:09 PM by mcuelenaere »
Logged

Offline LeJ

  • Member
  • *
  • Posts: 4
Re: Ingenic Jz4740/Jz4732 players
« Reply #34 on: October 16, 2008, 10:21:21 AM »
Hi mcuelenaere,

I have just read the talk between you and wpyh.
http://www.rockbox.org/irc/rockbox-20080910.txt
I got the same problem with VX767 lcd, the backlight turns on, and I get nothing displayed.
On my experience in linux lcd driver. I think that maybe:
      1. The LCD controller was not been configured properly.
      2. The LCM need power on sequence

I don't know if the LCM is I2C, if so we can saw the sequence in oscilloscope.
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #35 on: October 16, 2008, 11:07:21 AM »
Quote from: LeJ on October 16, 2008, 10:21:21 AM
Hi mcuelenaere,

I have just read the talk between you and wpyh.
http://www.rockbox.org/irc/rockbox-20080910.txt
I got the same problem with VX767 lcd, the backlight turns on, and I get nothing displayed.
On my experience in linux lcd driver. I think that maybe:
      1. The LCD controller was not been configured properly.
      2. The LCM need power on sequence

I don't know if the LCM is I2C, if so we can saw the sequence in oscilloscope.
My best guess is the LCD controller is uncorrectly initialized (the Rockbox version can be found here).

If you're into reverse engineering, you can compare the Rockbox version with the Original Firmware's version yourself, and if all went well they should be exactly the same...
Logged

Offline LeJ

  • Member
  • *
  • Posts: 4
Re: Ingenic Jz4740/Jz4732 players
« Reply #36 on: October 21, 2008, 04:52:39 AM »
Hi mcuelenaere,

I write a tool to analyse the VX767_V1.0.dl, found that *.DL file may
the dynamic library. And also I disassembling the data segment. Then I
found the lcd init functions. The result is in the attachment. I wish
this would be helpful.
* function.txt (74.36 kB - downloaded 478 times.)
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #37 on: October 21, 2008, 01:40:05 PM »
Quote from: LeJ on October 21, 2008, 04:52:39 AM
Hi mcuelenaere,

I write a tool to analyse the VX767_V1.0.dl, found that *.DL file may
the dynamic library. And also I disassembling the data segment. Then I
found the lcd init functions. The result is in the attachment. I wish
this would be helpful.

Have you seen the Rockbox driver for the VX767 lcd?

As (I suppose) you have the device yourself, you could help by getting that code to work with what you reverse engineered.

I have done the same with IDA, except for the fact that I don't have the VX767 :)

And could you post that utility you wrote? Perhaps it could help others to port their devices..

If you have any other questions, just ask me.
Logged

Offline LeJ

  • Member
  • *
  • Posts: 4
Re: Ingenic Jz4740/Jz4732 players
« Reply #38 on: October 22, 2008, 04:09:51 AM »
Hi mcuelenaere,

Yes, I have one(VX767 V2), and I saw the lcd driver in rockbox, but where does this code come from ? I'll try to get lcd to work. But in asm code, I found some unknown OP code.

About utility, do you mean the dl file analyser ? If so, I'll do some comment in the code, latter I will post the code.
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #39 on: October 22, 2008, 05:29:03 AM »
Quote from: LeJ on October 22, 2008, 04:09:51 AM
Hi mcuelenaere,
Hi
Quote
Yes, I have one(VX767 V2), and I saw the lcd driver in rockbox, but where does this code come from ? I'll try to get lcd to work. But in asm code, I found some unknown OP code.
The code is 'mine', which was reverse engineered from the same file you're analysing (using IDA and some PHP helper scripts).
Quote
About utility, do you mean the dl file analyser ? If so, I'll do some comment in the code, latter I will post the code.
Yes, it could potentially help others to port their ChinaChip based devices to Rockbox.
Logged

Offline LeJ

  • Member
  • *
  • Posts: 4
Re: Ingenic Jz4740/Jz4732 players
« Reply #40 on: October 22, 2008, 10:26:17 PM »
Hi,
  The utility was posted, see the attachment.
* dl_analyser.c (11.66 kB - downloaded 500 times.)
Logged

Offline n3wb13

  • Member
  • *
  • Posts: 2
Re: Ingenic Jz4740/Jz4732 players
« Reply #41 on: November 05, 2008, 06:46:08 AM »
Code: [Select]
http://www.rockbox.org/twiki/bin/viewfile/Main/ChinaChip?rev=1;filename=dlldr.zip

I have tried to compile this with Microsoft Visual Studio 2005 + IDA Pro Advanced 5.2 SDK but I got those errors ( posted image ). Can anybody help me please ? ???

Code: [Select]
http://img255.imageshack.us/my.php?image=errorla1.jpg
Logged

Offline mcuelenaere

  • Developer
  • Member
  • *
  • Posts: 392
Re: Ingenic Jz4740/Jz4732 players
« Reply #42 on: November 05, 2008, 08:14:03 AM »
Quote from: n3wb13 on November 05, 2008, 06:46:08 AM
Code: [Select]
http://www.rockbox.org/twiki/bin/viewfile/Main/ChinaChip?rev=1;filename=dlldr.zip

I have tried to compile this with Microsoft Visual Studio 2005 + IDA Pro Advanced 5.2 SDK but I got those errors ( posted image ). Can anybody help me please ? ???

Code: [Select]
http://img255.imageshack.us/my.php?image=errorla1.jpg
You do know there's a binary version in the zip (dlldr.ldw) ?

If you do want to compile it, the only things you'll need to change are the AdditionalIncludeDirectories and AdditionalLibraryDirectories (and perhaps OutputFile too).

Besides that it should compile perfectly..

P.S.: it seems to me the errors you're facing is because an invalid/missing IDA SDK library
« Last Edit: November 05, 2008, 12:59:40 PM by mcuelenaere »
Logged

Offline n3wb13

  • Member
  • *
  • Posts: 2
Re: Ingenic Jz4740/Jz4732 players
« Reply #43 on: November 09, 2008, 11:50:05 AM »
Quote from: mcuelenaere on November 05, 2008, 08:14:03 AM
You do know there's a binary version in the zip (dlldr.ldw) ?

If you do want to compile it, the only things you'll need to change are the AdditionalIncludeDirectories and AdditionalLibraryDirectories (and perhaps OutputFile too).

Besides that it should compile perfectly..

P.S.: it seems to me the errors you're facing is because an invalid/missing IDA SDK library

Ah oh, I didn't notice this. Thanks for your help.
Logged

Offline terrence1019

  • Member
  • *
  • Posts: 128
Re: Ingenic Jz4740/Jz4732 players
« Reply #44 on: December 03, 2008, 07:15:13 PM »
Do you, by chance, know if the GSL-2801A is a ChinaChip DAP?

http://gslltd.manufacturer.globalsources.com/si/6008827347504/pdtl/Flash-portable/1009251153/Flash-Portable-Media-Player.htm
Logged

  • Print
Pages: 1 2 [3] 4 5 ... 13
« previous next »
+  Rockbox Technical Forums
|-+  Rockbox Development
| |-+  New Ports
| | |-+  Ingenic Jz4740/Jz4732 players
 

  • SMF 2.0.17 | SMF © 2019, Simple Machines
  • Rockbox Privacy Policy
  • XHTML
  • RSS
  • WAP2

Page created in 0.093 seconds with 14 queries.