MyMPx.org

MyMPx.org (http://mympx.org/forum/)
-   General Discussion (http://mympx.org/forum/general-discussion/)
-   -   Hooray!!! Rockchip SDK! (http://mympx.org/forum/general-discussion/43348-hooray-rockchip-sdk.html)

sid6581 1st Oct 2009 10:58 am

Quote:

Originally Posted by flasher86 (Post 283347)
Despite that it's nice to see that the thread is so alive ;-)

I think it is a little bit "too alive". It is very difficult to navigate thru this very long thread.
Is there anything we can do do make it more efficient.
Could we create a special sections for developers in the forums and have independent threads there ?

knob 1st Oct 2009 11:36 am

Just disabled the RTC on my player, it doesn't support it anyway.
It was causing a pulsing lockup sometimes when I plug in the usb cord. <-- not true, I had messed up the build, gone back to a previous build now :oops:

Of course it makes the calender redundant now, but hey we could swop that for something else.:p

Here's what I got now in Hw_define.h

Quote:

#define INTERNAL_RTC 0
#define PT7C4337 1
#define HYM8563 2

#define RTC_TYPE INTERNAL_RTC//knob
Still need to fix the audio though, hey flasher can you post how you disassembled with IDA pro, I had a try but the output didn't look right, used the setting embedded Rom image btw.

flasher86 1st Oct 2009 12:00 pm

Quote:

Originally Posted by knob (Post 283353)
Still need to fix the audio though, hey flasher can you post how you disassembled with IDA pro, I had a try but the output didn't look right, used the setting embedded Rom image btw.

here's screenshot which AleMaxx sent to me. You click new > embed > rom > base.rkw > ARM (the first one on the list) > values from screenshot below > goto address 0x60000000 > press C to convert binary to ASM code.

Imageshack - 35socketfh5.jpg

BTW. Not the whole code will be displayed, it requires to trace the correct address of the function and press C for convertion.

tp11 1st Oct 2009 1:12 pm

Here's a signature file for RK27XX. Basically I just took every file from RK27SDK_NEW\Library\ARM.

MEGAUPLOAD - The leading online storage and file delivery service

tp11 2nd Oct 2009 4:04 am

RK2708 datasheet:

MEGAUPLOAD - The leading online storage and file delivery service

knob 3rd Oct 2009 7:47 am

Had a another look at the keypad configuration. The RAmos 970 is the most like the one i am using
tried to define it but I couldn't get a successful build.:confused:

#define KEY_TYPE Rm970key//knob

sid6581 3rd Oct 2009 11:18 am

We can chat on IRC :

server: irc.freenode.net
channel: #rockchip

See you all very soon :)



sid6581 3rd Oct 2009 12:42 pm

I am searching for the DSP (ZSP400) compiler ? I have seen some ZSP400 source code in the SDK but it is precompiled.
I am kind of worried that we cannot write any ZSP400 code :(

WIZARD 4th Oct 2009 2:57 am

Realview includes the ZSP Compiler (I think so :confused: check if I'm right)

Download this archive, and follow the instruction :rolleyes:
This link was deleted

tp11 4th Oct 2009 10:43 am

Here you can order a demo version of ZSP compiler by Verisilicon:

Verisilicon Tools License Manager

WIZARD 7th Oct 2009 4:57 am

So, have you a working compiler now ? :confused:
Is it suitable for you? If not, just let me know,
because it's hard for me to create something really cool on C++ by myself
(hope it'd be fixed, as I'm learning the C++ course now)
but I can save your time by giving you the software you need. :rolleyes:

tp11 7th Oct 2009 5:50 am

Quote:

Originally Posted by WIZARD (Post 283440)
So, have you a working compiler now ? :confused:
Is it suitable for you? If not, just let me know,
because it's hard for me to create something really cool on C++ by myself
(hope it'd be fixed, as I'm learning the C++ course now)
but I can save your time by giving you the software you need. :rolleyes:

Sorry, you have to represent a company to order the demo :(

WIZARD 7th Oct 2009 6:17 am

Quote:

Originally Posted by WIZARD (Post 283402)
Realview includes the ZSP Compiler (I think so :confused: check if I'm right)

Download this archive, and follow the instruction :rolleyes:
This link was deleted

Check this post, download the archive,
follow the instruction and get two softwares
which possibly has the compiler included.

sid6581 7th Oct 2009 8:57 am

Quote:

Originally Posted by WIZARD (Post 283442)
Check this post, download the archive,
follow the instruction and get two softwares
which possibly has the compiler included.

Unfortunately there is no ZSP compiler there, i think it is just a debugger...
I believe that the most important for RK2xxx DSP development is only the ZSP400 assembler, it's called "sdas".
No need to have a C compiler for that chip, its purpose is to write fast audio DSP algorithms.

If you can find that assembler, you'll be a hero !!! ;)

by the way, to sum it up :

RK26xx : 8051 core + ZSP400
RK27xx : ARM7E-J + ZSP400
RK28xx : ARM9E-J + ZSP400 (?)

I read somewhere that RK28xx had a ARM9. That would make sense.
This is a logical evolution so they can provide an MMU in order to support linux/android.

I am not surprised that the ZSP400 stays the common DSP core for their chips because they have all those audio/video decoders optimized for it.

WIZARD 7th Oct 2009 9:38 am

There was a very old post...

"Benny:
Hi @all
After 2 Weeks of playing with the RKP-Game-Disassembler i had now
enough information to made my first RKP-Assembler (BETA-Version).
Includes a Documentation and a sample-program (Data-Viewer) and
some RKP-Game-Files. Actually it's all Assembler (LSI ZSP400 Instructions).
File-Upload.net - RKP-Disassembler_and_Assembler_v01.zip
Enjoy
Regards
Benny"

The link is still working.


P.S. Hot tip for searching via Google:
use "filetype:torrent", "filetype:rar", etc. before the words
to search for the pages with the links to those files

sid6581 7th Oct 2009 9:57 am

Quote:

Originally Posted by WIZARD (Post 283444)
There was a very old post...

"Benny:
Hi @all
After 2 Weeks of playing with the RKP-Game-Disassembler i had now
enough information to made my first RKP-Assembler (BETA-Version).
Includes a Documentation and a sample-program (Data-Viewer) and
some RKP-Game-Files. Actually it's all Assembler (LSI ZSP400 Instructions).
File-Upload.net - RKP-Disassembler_and_Assembler_v01.zip
Enjoy
Regards
Benny"

The link is still working.


P.S. Hot tip for searching via Google:
use "filetype:torrent", "filetype:rar", etc. before the words
to search for the pages with the links to those files

Thanks Wizard. I have seen this program yesterday.
AleMaxx and I were speaking about this and he gave me the link.
There is a sort of IDE which contains a very weird assembler.
It is true it seems like ZSP400 instructions, but I don't think it is too usable (try to compile some rk2xxx ZSP400 code and it won't work).

Of course it is always possible to use the datasheet of the ZSP400 and create our own assembler, like Benny did...
But that is a lot of effort in my opinion !!!! :(

flasher86 7th Oct 2009 10:38 am

Hey Knob and Sid. How the progress is going? Audio still unfixed? I ordered the same player as yours a few days ago and can't wait for postman :-)

Currently I am busy as hell and don't have time to do anything with SDK 27XX but I will definitely back to working on it.

knob 9th Oct 2009 5:55 am

Quote:

Originally Posted by sid6581 (Post 283393)
I am searching for the DSP (ZSP400) compiler ? I have seen some ZSP400 source code in the SDK but it is precompiled.
I am kind of worried that we cannot write any ZSP400 code :(

But dont we already have a zsp400 compiler with firmware tools and the "rock compiler" that is under it, thats how we create the object code for rock .rkp apps or is this no good?
benny's assembler was made to create "rock" games only. firmware tools will create rk26xx firmware too.

sid6581 9th Oct 2009 8:09 am

Quote:

Originally Posted by knob (Post 283473)
But dont we already have a zsp400 compiler with firmware tools and the "rock compiler" that is under it, thats how we create the object code for rock .rkp apps or is this no good?
benny's assembler was made to create "rock" games only. firmware tools will create rk26xx firmware too.

I don't think we have it, but i would love to be wrong ! :)
We probably just need the ZSP400 assembler, its name is sdas.
I have never seen it anywhere.

Rk26xx is a 8051 core + ZSP400 core. The ZSP400 portion of the rk26xx (and rk27xx) code is already pre-compiled in the SDKs we have :(

flasher86 9th Oct 2009 8:22 am

Quote:

Originally Posted by sid6581 (Post 283477)
I don't think we have it, but i would love to be wrong ! :)
We probably just need the ZSP400 assembler, its name is sdas.
I have never seen it anywhere.

Rk26xx is a 8051 core + ZSP400 core. The ZSP400 portion of the rk26xx (and rk27xx) code is already pre-compiled in the SDKs we have :(

I think Knob is right!

There is SDAS in rock compiler folder.

Code:

26 sie 2005  09:31          980 992 cygiconv-2.dll
26 sie 2005  09:31        1 126 281 cygwin1.dll
31 paź 2005  11:07          323 584 sdar.exe
31 paź 2005  11:07          506 880 sdas.exe
31 paź 2005  11:05            92 160 sdcc.exe
31 paź 2005  11:05        6 805 969 sdcc1.exe
31 paź 2005  11:05            94 720 sdcpp.exe
31 paź 2005  11:07          555 520 sdld.exe
26 cze 2007  18:23          888 832 sdopt.exe
31 paź 2005  11:07          323 584 sdranlib.exe

IF this is ZSP400 compiler then we can create stuff using ROCK TOOLS.

sid6581 9th Oct 2009 8:26 am

HOLY ................................ WOW ! :)
Can you point me on a link to download this SDK ? I guess I don't have that one !!!

WONDERFUL !!

flasher86 9th Oct 2009 8:44 am

RockCompiler.rar

I uploaded the whole rock compiler. It's the part of FWTools - SDK for RK26XX.

There is no documentation regarding calling these apps although I found out how to call sdcc.exe

I used the following command line to compile RKP stuff. I think the whole package is a modified version of SDCC compiler (SDCC - Small Device C Compiler). I didn't found any info that SDCC support ZSP400, and original sdcc doesn't compile rkp files like this one, BUT command line switches seems to match.

Code:

"C:\Program Files (x86)\RockTools\RockCompiler\sdspI\bin\sdcc.exe" -O1 -mlong_call -mlong_builtin_call -o "D:/Projekty/FM_Radio/Src/FM.out"  -ID:/Projekty/FM_Radio/. -Wa,-W -Wa, D:/Projekty/Hello/src/Hello.lcf -Wl,-Map -Wl,"D:/Projekty/FM_Radio/Src/MemMap.txt"  D:/Projekty/FM_Radio/Src/Radio.c D:/Projekty/FM_Radio/Src/Delay_asm.s -Wl,--start-group -Wl,--end-group

sid6581 9th Oct 2009 10:12 am

1000 thanks guys !

knob 9th Oct 2009 1:18 pm

I have got 2 fwtools front ends. 2.6.1.0 for creating rkp apps and 3.0.29.02 for rk26xx firmware.

If you want the other one let me know. both appear to have the same compiler underneath but 3.0.29.02 works only with firmwares for some reason.

Jazzle 13th Oct 2009 10:06 am

Guys, I want to do something and I think you could maybe help (or at least tell me it's impossible). I got a Ramos T11RK based on the RK2806, it's firmware lacks some features and has some nasty bugs in it. The Oppo s39 has a really good firmware and is based on the same Rockchip. I'd like to alter the Oppo firmware so it can be run on the Ramos T11RK. I think the only file that needs editing would be the BASE file, am I right? All the hardware parts should be replaced with the Ramos ones, because with the Oppo BASE file the screen (for example) wouldn't work.

The problem is, I can't change the BASE file without source code, can I?

flasher86 13th Oct 2009 1:09 pm

Hey guys. Yesterday I finally got my RK2705 player from TINYDEAL.

Knob, I tested your compilation from SDK, and I noticed that the audio problem we got isn't just about mono. I plugged the player into my Creative PC speakers and it plays sharply as hell (both channels!), it makes problems using my earphones.

This is similar to what one of the members around was complaining about, though regarding his own original firmware.

It seems that if player is heavilly sucked of power voltage from earphones it happens this weird thing with audio. But when the signal is not "sucked" like in case of my creative PC speakers (whereas signal goes into its own amplifier) it works as it should.

I will look further into this.

BTW. Where is album art support? I test it now and I cant find anything like that. Also, our original firmware does not include time and data support while this sdk provides these features. Is it going to work? I mean, I couldn't check it by myself and set the time because of malconfiguration of the keys.

sid6581 13th Oct 2009 1:23 pm

Quote:

Originally Posted by flasher86 (Post 283523)
H
It seems that if player is heavilly sucked of power voltage from earphones it happens this weird thing with audio. But when the signal is not "sucked" like in case of my creative PC speakers (whereas signal goes into its own amplifier) it works as it should.

I will look further into this.

Good to see you got the same player as ours :)

Interesting, maybe you could look that on a scope in DC mode and see if there is a DC offset in the output ? There must be some settings in the CODEC that can get rid of this problem.

The best would be to output a sine-wave, fully amplitude and see what's going on :)

sid6581 13th Oct 2009 1:28 pm

The rk27xx does not use ZSP400 ?
 
According to the datasheet of rk7xx, the DSP has a eight stages pipeline.
This is not ZSP400 which employs a five stages pipeline.

The eight stages pipeline corresponds to the ZSP 500
And there is a place in the code where i saw a comment saying "initialize ZSP500" or something .....

Now, i am not sure the opcodes for ZSP500 are the same as the ones for ZSP400.
They say they are compatible at the assembly level, but it is still possible that the opcodes are different...

knob 13th Oct 2009 1:59 pm

flasher look in ID3_Jpeg.c for the album art bit.

Interesting about the sound. Rockchip senses the presence of jackplug insertion, funny thing that the loudspeaker doesn't work either, there is no mechanical switch in the jackplug. I guess it measures the impedence of whatever is plugged in, is the player internal speaker working when you plug into the creative sound system?

Do you get a red screen the first few seconds with video too?

flasher86 13th Oct 2009 2:10 pm

Quote:

Originally Posted by knob (Post 283528)
flasher look in ID3_Jpeg.c for the album art bit.

Interesting about the sound. Rockchip senses the presence of jackplug insertion, funny thing that the loudspeaker doesn't work either, there is no mechanical switch in the jackplug. I guess it measures the impedence of whatever is plugged in, is the player internal speaker working when you plug into the creative sound system?

Do you get a red screen the first few seconds with video too?

Yeah, you are right. I was a little bit shocked when I came across this jackplug detection in rockchip players. I think mechanical (traditional) speaker switch is much more sufficient than those new solutions.

I also get red screen with videos. But I've already realized why it is happening :) It seems that this video bar with scrolls and info are stretched to the whole screen - probably there is something in the code regarding resolution which you had missed.
This bar was red, and a little bit transparent. The same effect happens here.

Besides, the player is great even despite that videos don't play so smoothly as I expected.

sid6581 13th Oct 2009 2:12 pm

Quote:

Originally Posted by flasher86 (Post 283529)
Besides, the player is great even despite that videos don't play so smoothly as I expected.

We have a RK2705, the arm core runs up to 240 MHz and DSP up to 176 MHz.
Make sure you have the numbers right in the PLL (i think there is a list of PLL values in the HW_PMU module).
Increase the values accordingly...

flasher86 13th Oct 2009 2:35 pm

Quote:

Originally Posted by sid6581 (Post 283531)
We have a RK2705, the arm core runs up to 240 MHz and DSP up to 176 MHz.
Make sure you have the numbers right in the PLL (i think there is a list of PLL values in the HW_PMU module).
Increase the values accordingly...

Well, I didn't notice any difference in performence of video playback between original fw and sdk. Even in original firmware, videos in 'supported' range of resolution plays not good enough. RMVB file I have plays nice, until some big action come up in the movie, then it slows down really bad.

But still, I tested so many different video formats, and I am impressed. FLV, MPG, 3GP plays very nicely. Though I heard some clicks in audio of FLV file. I watched two such files, and there were noticable clicks on audio so I am not sure whether it is a particular file issue.

EDIT: Well, I tested more videos, and others play very nicely. I am positively surprised by resizing algorithm. It's anti-aliased! ;-)

Jazzle 14th Oct 2009 8:48 am

Quote:

Originally Posted by Jazzle (Post 283520)
Guys, I want to do something and I think you could maybe help (or at least tell me it's impossible). I got a Ramos T11RK based on the RK2806, it's firmware lacks some features and has some nasty bugs in it. The Oppo s39 has a really good firmware and is based on the same Rockchip. I'd like to alter the Oppo firmware so it can be run on the Ramos T11RK. I think the only file that needs editing would be the BASE file, am I right? All the hardware parts should be replaced with the Ramos ones, because with the Oppo BASE file the screen (for example) wouldn't work.

The problem is, I can't change the BASE file without source code, can I?

Has anyone got any clue?

flasher86 14th Oct 2009 9:01 am

He probably can change it, but using assembler. It also depends on what changes have to be applied. If it's only modification of keyboard, screen driver etc it is not so difficult. That way you don't even modify ASM code, but just values. If you are talking about greater changes in the code, you need huge ASM skills.

Jazzle 14th Oct 2009 9:11 am

Quote:

Originally Posted by flasher86 (Post 283543)
He probably can change it, but using assembler. It also depends on what changes have to be applied. If it's only modification of keyboard, screen driver etc it is not so difficult. That way you don't even modify ASM code, but just values. If you are talking about greater changes in the code, you need huge ASM skills.

Could you guys give us a helping hand ('us' being the folks from the mp4nation forums). The RK2806 is the same, the Wolfson audio chip is the same (if my information is correct), it's just another screen and touchscreen (or would the memory need changes too?). My skills go as far as that I know what assembly is, but I got no clue on what you're saying about changing the values with an assembler. To me it looks like I need something that can turn thise BASE.rkw file in something readable, and then copy paste certain parts from the original firmware?:confused:

Edit: I actually got some readable text out of it by running it through "ida disassembler" But I really got no clue what to do now. It refers to files like guidisp.c but I don't know how to find and disassemble those files?

flasher86 15th Oct 2009 8:28 am

well, I barely disassembled RK270X fw, so I definitely won't be able to help you in this.

Though, I am sure that screen driver is easy to modify, but if you want to modify touchscreen driver, you are in big troubles. I couldn't make a driver for my RK260X player using provided SDK in C (and I gave up). But in ASM it is even harder, and in my opinion impossible. I mean, everything is possible, but maybe you don't realize how much more you need to know to do such a small thing like modifying the keyboard driver.

I don't mean to discourage you but, there aren't people enough knowledgeable to tell you what to do without experimenting with the player. It is so much easier if someone has the player in his hands.

To be honest, we are just amateurs trying to squeeze everything we can from the players we've got. That's not even programming forum, but just mpx, though it's a pretty good luck that some of us have experience in programming.

I hope you'll make progress in it.

BTW. What for do you want to get this FW working? How does it expand the functionality of your player?

Jazzle 15th Oct 2009 8:35 am

Quote:

Originally Posted by flasher86 (Post 283552)
well, I barely disassembled RK270X fw, so I definitely won't be able to help you in this.

Though, I am sure that screen driver is easy to modify, but if you want to modify touchscreen driver, you are in big troubles. I couldn't make a driver for my RK260X player using provided SDK in C (and I gave up). But in ASM it is even harder, and in my opinion impossible. I mean, everything is possible, but maybe you don't realize how much more you need to know to do such a small thing like modifying the keyboard driver.

I don't mean to discourage you but, there aren't people enough knowledgeable to tell you what to do without experimenting with the player. It is so much easier if someone has the player in his hands.

To be honest, we are just amateurs trying to squeeze everything we can from the players we've got. That's not even programming forum, but just mpx, though it's a pretty good luck that some of us have experience in programming.

I hope you'll make progress in it.

BTW. What for do you want to get this FW working? How does it expand the functionality of your player?

Ah well, didn't realize it would be that much work, thought it would be a matter of locating the right pieces and copy paste 'm, but I guess that's just not the way it works.

Ramos FW has some bugs like it messes up song order (when you want to play all the songs of an artist, it will also play songs of other artists). And overall you can see that Oppo has put much more effort in the FW than Ramos did (it also looks nicer etc).

I will just hope that Ramos releases a better FW themselves, this is way over my head I'm afraid. And I'm sure they will, Ramos is a pretty big name in China.

nlite 15th Oct 2009 10:39 am

Quote:

Originally Posted by sid6581 (Post 283525)
According to the datasheet of rk7xx, the DSP has a eight stages pipeline.
This is not ZSP400 which employs a five stages pipeline.

The eight stages pipeline corresponds to the ZSP 500
And there is a place in the code where i saw a comment saying "initialize ZSP500" or something .....

Now, i am not sure the opcodes for ZSP500 are the same as the ones for ZSP400.
They say they are compatible at the assembly level, but it is still possible that the opcodes are different...

This is an interesting find.

To be certain it's a ZSP500 we should be able to find 32-bit instructions. ZSP400 (or rather, the ZSP G1 instruction set) only has 16-bit instructions.

I haven't been able to find a document describing the ZSP G2 instruction set. Also the ARM7EJC in the rk2705 remains a mystery, assuming it's not a typo and ARM7EJ-S was meant instead.

tp11 15th Oct 2009 12:07 pm

Quote:

Originally Posted by nlite (Post 283558)
This is an interesting find.

To be certain it's a ZSP500 we should be able to find 32-bit instructions. ZSP400 (or rather, the ZSP G1 instruction set) only has 16-bit instructions.

I haven't been able to find a document describing the ZSP G2 instruction set. Also the ARM7EJC in the rk2705 remains a mystery, assuming it's not a typo and ARM7EJ-S was meant instead.

In RealFunctions.c there's two references to zsp500

Code:

    //ClrRegBit32(0x1801C000 + 0x1c, 5);  //reset zsp500P
    SetRegBit32(0x1801C000 + 0x1c, 4);  //reset zsp500


nlite 15th Oct 2009 1:13 pm

Quote:

Originally Posted by tp11 (Post 283559)
In RealFunctions.c there's two references to zsp500

Code:

    //ClrRegBit32(0x1801C000 + 0x1c, 5);  //reset zsp500P
    SetRegBit32(0x1801C000 + 0x1c, 4);  //reset zsp500


That certainly suggests a ZSP500, but it's still just a comment. I'm not convinced yet because there are discrepancies: the "ZSP500" in the rk2705 doesn't run at 400 MHz, but only at 176 MHz; furthermore it is said to have not a 24-bit, but a 32-bit address space.

A simple test is to check a driver using a ZSP200/ZSP400/ZSP410 disassembler and see if it skips instructions or produces errors. If it doesn't we're back to square one.

Actually I'm more interested in the question if the rk2705 has a MMU.


All times are GMT -7. The time now is 8:38 pm.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 RC 2