myMPX
Advertisement


Go Back MyMPx.org > MyMPx.org Forum > General Discussion

Hooray!!! Rockchip SDK!
Like Tree1Likes
Reply
Post New Thread
 
LinkBack Thread Tools
  #581 (permalink)  
Old 26th May 2010, 2:29 pm
Member
I love my MPx player
 
Join Date: Jun 2009
Posts: 174
Default


I have absolutely no time recently. I know a lot of people will appreciate it (I even started to receiving emails in WhatEverTheHellItIs language asking for it) so I am releasing what I have done so far.

  • FatFS implementation (currently Read Only, but if you just try a little, you will manage to enable writing - a matter of two functions that need to be handled)
  • OpenDialog BETA (going through folders work, but I haven't finished it, so you can't pick a file acording to the current state)
  • BMP decoder
  • AntiAliased font support (tool for converting fonts is even more buggy so I am not releasing it, I am uploading just a few ready fonts, if you wish I can convert any font at any size or style, just give me details or attach *.ttf file and mail it to me; if I finish my font tool it will be able to manage all the rockchip fonts, inclusing rk26 FW fonts, rk27FW fonts and my own special AA format)
I put there some README files which you really should read before you start to do anything. Also, during my work I tried to comment every action inside the functions so it can be understandable for everyone. I think it can be very useful, especially that I spent so much time testing how fast those functions can be.
(check out SD_Ram functions for controlling current CANVAS of the screen, and also Bitmap converting MACROS for convertions between RBG888 and RGB565 and mixing two colours with alpha channel - they are fast as hell in opposite to the ones I found on the internet).

Also I recommend using PlatformEx.c file for DMA support. You may also find there a lot of interesting things

SD_Beta.rar

Any problems you encounter, it will be much more efficient to e-mail me. I check email very often in my cellphone, therefore I will definitely answer it soon, as currently I have absolutely no time to sit in front of the computer. Enjoy.I hope you'll create some great stuff, and I hope I'll have more time also.

KNOB:
I also think that RKP is dying. It's a shame that rockchip hadn't released SDK for so long. If the SDK was available from the beginning then maybe there would be more interest in supporting it even in RK27 players. If I am not wrong, someone already has started developing RKP Emulator for Windows. We could port it to RK27, I think it would handle it perfectly, including 100% proper speed (as most slowing down functions are the drawing ones, they would work nativley). If it was done, we could do some patching of our original FWs, perhaps replace ugly and stupid STOPER app with the game menu.

Last edited by flasher86; 26th May 2010 at 6:21 pm.
Reply With Quote
  #582 (permalink)  
Old 26th May 2010, 5:44 pm
New Member
 
Join Date: May 2010
Posts: 3
Default

Thanks for sharing.I'll have a try!
Reply With Quote
  #583 (permalink)  
Old 5th Jul 2010, 6:59 am
New Member
 
Join Date: Jul 2010
Posts: 1
Default Where can I find the SDK?

Hello,

After reading nearly the whole thread, I still can not find a working link, where I can download the SDK. Can someone help me?

I have a ODDO S9K player with RK27 or RK28, I dont know exactly.

Thanks a lot,
dydimos
Reply With Quote
  #584 (permalink)  
Old 4th Aug 2010, 10:36 pm
WIZARD's Avatar
Senior Member
MPx Junkie
 
Join Date: Mar 2008
Posts: 300
Wink Links

Rockchip SDK - Working Links
Reply With Quote
  #585 (permalink)  
Old 9th Aug 2010, 2:51 pm
Junior Member
 
Join Date: Aug 2010
Location: Perm, Russia
Posts: 23
Default

Hi!
I'm newbe at this forum, but not at programming for ARM, arm asm and Ida
Some time ago I bought rk2705-based player (ritmix rf-8900). That player has 320x240 Mcu16 Lcd, touchscreen, radio and G-sensor.
I've read all topic and download SDK. I've read that people with touchscreen players can't run SDK'S firmware. But all you need is disassemble original firmware and find function HWTouchGetPixelPoint. I write my own function based on disasm and now touchpad works for me! Also I write display init function and keyboard handler (he-he, "keyboard" sounds very loud, it's only one poweroff key ) But interface isn't adapted for touchpad, so I append some code to RockChipEmu to emulate touchpad on PC. Now, if somebody wants, I can upload modified source and emulator at Saturday or Sunday, and if you has player with touchpad, you can try it and help to adapt interface.
I agree that .rkp is dying, so I port so-called "elfloader". This is function that load *.elf file from disk to ram and give control to it's main() function. At this time I trying to make swi-handler, sdk's firmware doesn't have one.
Reply With Quote
  #586 (permalink)  
Old 10th Aug 2010, 12:18 pm
Junior Member
 
Join Date: Aug 2010
Location: Perm, Russia
Posts: 23
Default

So, at this time I have working swi handler and can run following simple *.elf:
int main()
{
FS_FILE *f;
f = FS_fopen("C:\\data.txt", "wb");
FS_fwrite("Hello!", 6, 1, f);
FS_fclose(f);
return 0;
}
But now we need to create swi library, first 5 functions are reserved:
FS_fopen
FS_fclose
FS_fread
FS_fwrite
malloc_addr
...to be continued...
Any suggestions? Do we need "daemons", elfs that starts on player poweron? Where store data, on registry or we need our format, such as *.bcfg on Siemens? Questions, questions, questions...
Reply With Quote
  #587 (permalink)  
Old 11th Aug 2010, 2:35 am
Member
I love my MPx player
 
Join Date: Jun 2009
Posts: 174
Default

Barracuda72 you are my god. I've been wondering about how to load and run external binary from file but its way above my asm abilities.

What do you mean by this "daemons"?

I think what we all need is something similar to RKP format, file access support, quick and universal access to the screen display and inputs.

Another question would be, if its possible to implement this ELF loader into already compiled firmware.

I'm looking forward to everything u will discover.

And I regret RKP is dying. My player with RKP support is almost dead (battery is weak, screen is scratched, and jack-socket is cracked) so it's pointless to create anything for it.

But my other player RK2705 is something I would like to develop for ;-)
Reply With Quote
Sponsored Links
  #588 (permalink)  
Old 11th Aug 2010, 5:19 am
Junior Member
 
Join Date: Aug 2010
Location: Perm, Russia
Posts: 23
Default

I think it must be here:
flasher86,
I am very sad that mympx.org is down Do you know something about it?
I received last you reply in theme by mail, so I think I can reply.
No, I'm not god, just student Elfloader isn't my creature, it was created by unsurpassed hacker Rst7 for Siemens mobile phones (phones based on ARMv9 processor without arithmetic soprocessor), I'm just port it to our players
"Daemons" is a programs that runs on device startup and works in background. Termin "daemon" is from Unix, on Windows such programs called "services".
swi hook is a small program that calls function by it's swi number. For example, if you want call
FS_fopen()
on all players, all you need it to define it as
#pragma swi_number=0x0
__swi __arm FS_FILE *FS_fopen(const char *name, const char *mode);

and call it as usual. This syntax is specific for IAR Embedded Workbench for Arm. If you want to write elf's, you need this IDE (version 4.41a at least, freely available from internet).
Yes, it's possible to integrate elfloader into original firmware (originally elfloader is a patch for Siemens firmware), but I think that we need to test it and produce complete, working, full-featured thing. So I have many questions for now...
Reply With Quote
  #589 (permalink)  
Old 11th Aug 2010, 8:34 am
Member
I love my MPx player
 
Join Date: Jun 2009
Posts: 174
Default

Well I knew that there is a way to port things created initially for any ARM based processor but as I said, ASM is very very hard for me to understand, though I am able to make a tool for patching such code in terms of changing variables, redirecting code to another piece of code and such - it's just I can't write code in pure ASM yet - easier to modify already existing code.

I don't know nothing about mympx.org getting down, but what is sure that most developers left this place, including me. It's hard to keep yourself motivated if there is so many obstacles in your way. I put so much effort to work on RKP platform while it's almost gone from all the players on the market. It's like all this time went in vain.

If there is a chance to include elf loader in any firmware then I will be glad to start creating stuff for this player. Perhaps we will be able to create an RKP emulator (someone has already started to do this for PC).

Currently development for RK27x is blocked by the fact that we cannot run external executables from files - we need the whole firmware to be applied which often ends in total corruption of the Rock OS and a need to painful restoration process.

I assume that in order to patch original firmware we need to locate basic functions inside BASE.RKW such as draw pixel, bitmap, button events, upload pcm stream and play it and so on. I think it's quite easy as we have SDK and can easily locate them by comparison of the code.

ps. is that mean that we no longer need to use ADS compiler to run some code?
Reply With Quote
  #590 (permalink)  
Old 11th Aug 2010, 10:10 am
Junior Member
 
Join Date: Aug 2010
Location: Perm, Russia
Posts: 23
Default

At this time I trying to write *.elf that creates window and response on key events. No success But I will try to write tool for applying Elfloader to any base.rkw (I'll get as base RKPatch ). For now, Elfloader consists of following parts:
swi hook. Platform-independent.

int elfload(char *path, void *a, void *b, void *c); Loads *.elf file to ram and give control to it's main(). Platform-independent.

void LoadDaemons(); Finds all *.elf files from C:/ZBIN/Daemons and loads them one by one by elfload(). Platform-independent.

void LoadLibrary(); loads swi library from file C:/zbin/swi.blib. Platform-independent.

swi.blib file. Platform-specific.
So that's we need else?
No, we don't need nothing but rk27sdk (for function prototypes) and Iar 4.41a
Reply With Quote
Reply

Sponsored Links



Similar Threads
Thread Thread Starter Forum Replies Last Post
NEW rockchip player (Rockchip RK27xx series) availability knob General Discussion 38 12th Nov 2008 10:47 am
Rockchip Editor: for Rockchip 27xx ALP1987 Support and How To 6 17th Oct 2008 5:25 pm


All times are GMT -7. The time now is 9:18 pm.


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

Designed by indiqo.media