1 Attachment(s)
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.
(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 Attachment 550 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. |
Thanks for sharing.I'll have a try!
|
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 |
Links
|
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. |
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... |
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 ;-) |
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... |
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? |
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 |
| 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