I cannot promize I am going to make it work.
The more I look at the code the more I think it is "messy" ;) You have been very brave to rename all those BMPS and resource files ! There are a lot of them !!! I cannot do this work right now right now, but I will try to do this tomorrow. So far when I try to print what's happening on the LCD I just had a small 8x8 square graphic haha, but that's because my BMP0 was not correct. Trying an other BMP0 downloaded from the net showed 3 big planes from a game it seems. I guess it makes sense if the BMP0.bin objects are in a particular order with particular IDs specific to the firmware we compile... So, we'll see ...... I have a question now. Regarding compilation for the actual player (ARM + ZSP), is there an actual compilator for the ZSP400 or is the ZSP400 related libraries pre-compiled ? |
Nemesis, do you know something more about eKT8100 driver? I tried to figute this on my own buts its too complicated. :(
|
Flasher, you have to look at the datasheet and make sure you know how those pins are connected to the Rockchip.
Like I said in a previous post, it looks like one of the pin is connected to USB DP, which seems not right (????) It looks like the eKT8100 can communicate with the host MCU in different fashion (SPI, UART and straight GPIO ?) ... First you need to know how the two are hooked together before even thinking about making a driver for that chip ... |
Ok, so based on the picture I posted, which numer of pins are used. Because I dont see any USB pins on my datasheet.
BTW. Oscilator would have helped? I would ask my friend to lend it to me. Or if that wouldnt be too lame, use sound card as a oscilator? I can record at 96kHz. Is it possible to use the soundcard? |
1 Attachment(s)
I know it's not much help but
Usb is pin 64 on Rockchip. I attached a Schematic in case yours in different. Usb connecter is J1 on this. |
But even in the picture I posted it shows that it isn't 64 Pin, 64 pin is the first one from the right, my calculations shows that they start from 5th pin, not 1st.
|
Well, its too hard for me. I don't know even where to start with communicating with eKT8100.
Anyway, I've been trying to get some signal from Microphone in the RKP file, and I got it successfully. What I am trying to do is to make a guitar tuner. I think many people would appreciate such thing, because standalone tuners are expensive and here we can do it as an application. But I don't know much about audio processing. I got an array of 1000 int values of pitch and I must calculate the most fundamental frequency of the sample. BTW, what I've done also proves that spectrum analyzer can be applied to the FM radio. But first I need to know how to calculate these frequencies. Is anyone familiar with such operations on audio data? |
Well would this be any help?
http://www.thejazzchameleon.com/guit...tar-tuner.html |
Well i guess you might want to look up Fourier Transformation. Thats a transform from time to frequency domain. So you will get the spectrum of frequencies present in the signal. Here is what wikipedia says: Fourier transform - Wikipedia, the free encyclopedia. Basically you need to compute the Fourier-coeffs. for all the frequencies that might be present (depends on the quality of your data), replace integration by summation since your data is in discrete form anyway and remember what time duration corresponds to the length of your buffer so you get the correct Hertzs in the end. Im pretty sure youll find a lot of code on the net, search for "FFT" or sth. (... Ive never done this ;) )
Regards |
Everywhere I look I find FFT algorithm but based on Double data type. But this data type is not supported by RK260X compiler. Also I have buffer which consists of Integer values, not Float/Double. Could you give me some more hints about that?
|
flasher86, I think there is a lot of notions you have to learn there, I think it is more complicated than the touch driver you want to do.
If you want to do a tuner and use FFT, you can either use the DSP instructions offered by the ARM7E core or my the DSP (ZSP400) core. None of them support floating point (single or double precision). You would have to use so called fixed point arithmetic. You are in luck because the stroboscope already does an FFT, but only 128 points which might not be accurate enough for a tuner : Rockchip Developer Package\RK225_Dict_08_28\WMADecode\Stroboscope Anyways, if I were you I would first experiment with this on the PC and then come back later to the MPX players.... |
thanks for tip. Sorry for all these lame questions. Seems I am not as professional programmer as I should be for aimed tasks.
I compiled stroboscope function from SDK, and it seems to work, but for no reason it crashes player after unpredictable time of work. Somewhere it goes out of specified memory region, as it goes crazy and even overwrite lcd memory, and funny things happen on screen. Though it doesnt occur every time. I've got a lot to analyze. For example when I initialize Mic, I can't go back to normal use of player. When I exit the RKP, system funtions go crazy and reset is needed. |
Emulator progress !!!!!!
Hi all,
Gosh it took me the whole afternoon to figure out how to drive the emulator DLL. It was trickier than I thought, the Rockchip OS code is pretty complex and there are a lot of source files we don't have and that are just pre compiled. However, I am starting to have a working emulator :p Here are some screen shots from the GUI front-end ! ImageShack - http://img34.imageshack.us/img34/1016/screen0000n.png http://img6.imageshack.us/img6/3604/screen0001w.png http://img19.imageshack.us/img19/2048/screen0012f.png http://img6.imageshack.us/img6/8449/screen0014.png http://img34.imageshack.us/img34/4269/screen0017q.png http://img19.imageshack.us/img19/2145/screen0026.png I will continue a little bit and will release the source.... |
By the way, I uncommented a line in RK27SDK_0722/Application/MainWin/MainWin.c
Otherwise an intesting debug window appear (by default) : http://img232.imageshack.us/img232/7994/screen0028.png I especially like this funny message in the bottom, from one of the Rockchip developers. I don't speak chinese (but know a few japanese kanji) and i think the first three characters mean "chinese people" (?) But i don't know about the fourth ? any idea ? :) |
flasher86 you dont need to have a oscilloscope to make the driver. You can use simple the multimeter to test the connections between the CPU and the touchkey chip, and tell me how it is connected, that connection that you gave with photos is not right, it intersects with flash and usb interface.
|
Ok, I have a multimeter. How should I measure it? One pin to the ground and another to a particular pin on the rockchip? Or one pin to the rockchip and another to some on eKT8100?
|
1 Attachment(s)
Yes one pin to the rockchip and another to some on eKT8100
you can paint the connections on a picture that I attached, the red colored pins are the pins I need to know where they go. |
hi sid6581
This is looking promising! My BMP0.bin is 33,247,512 bytes, the same as yours so should be ok. here's mine anyway:- http://www.sendspace.com/file/ulld47 It will be interesting to see what happens with my build as I altered the source to use my screen size 400x240, the interface above is 320x240. The resource includes bmps for several player types and screen sizes, this is normal for unbranded RK27xx players. Even if the emulator only partly works it will be a big help if we can just test out the navigation. Thanks for all your hard work so far, it's gonna save us all some time in the long run.;) |
Well, that's it. I can't do it. I measured resistance between pins of Rockchip and eKT8100. I started from ModeSel_L and I haven't found 0 resistance at any of rockchip pins. Then I did the same with ModeSel_H and it was the same. I only got half-resistant pins but there was at least 10 of them on the whole Rockchip and this is not what we are looking for.
Despite those 2 pins which I havent been able to localize, the lower pins you marked on your pic are almost inaccessible physically. You can see it on the picture I posted. The chip is size of 0.5cm X 0.5cm and pins are 5 times smaller than cable of my multimeter, which makes it even harder. I have to give up, it's just impossible to figure this out without breaking anything in my player. Sorry I've wasted your time. Thanks for your effort anyway. It's a shame that stupid keyboard stopped me from making my own firmware. Firmware with one working key is pointless. |
Quote:
It's not worth breaking your player for, it would be a pity - you will lose the .rkp platform I've got a player that launches rkp too and I haven't messed with it at all. You have done some good work, what about creating a new rkp app?. at least it would work on a nearly all players that launch rock games. |
flasher86 you can use 2 needles and 2 pieces of wires with your multimeter to get to the inaccessible pins I have done it with my player. ModeSel_L and ModeSel_H pins they can be connected to the GND or to VDD, is is ok, just measure the resistanse betwen the GND and them.
|
Yeah, I am left with RKP platform.
I have some ideas. First is guitar tuner, which I am on a right track at the moment. Next I will try to deal with MP3 support. Though MP3 support will be a bit complicated because it RK2606 and RK2608 players decodes it differently (RK2608 seems to have external Wolfson decoder). But if I manage to use libraries from SDK it will be possible to compile 2 versions for rk2606 and 2608 players. If libraries fail there is also MADLib to apply for this (perhaps it will get even better quality than standard decoder?) If I succeed with this, we can create some sort of embed os with RTF or PDF reader, FM Radio and MP3 player. MP3s can be added to the resources (I can make simple filesystem and windows app which will easily handle copying files and adding them into rkp file automatically) as still there is no solution to access flash memory. The maximum size of RKP file seems to be above 2GB (32 bit adressing) so I wouldn't mind such a solution even if rkp file weighted the whole flash memory. Creating own firmware would be fun though. For example, I would include sliding-smooth turning off the screen and the whole range of special effects connected with GUI. I've already created a function to draw pictures with alpha transparency, and run-time anti-aliased font. I would create a 10 level battery detector, instead of 4 levels. Also, It would be possible to create a stand-by mode of the player, to not cut the power completely, but to keep it running at minimum power cost (turn off LCD, SDRam and rest of hardware), to for example include clock. Besides, standard drawing functions are slower than snail mail, I achieved 200% speed up in drawing on screen. Drawing speed is the main obstacle to the performance of the system. Nemesis, I will try to do it tomorrow. Today I have to study for tomorow exams of German language (gash I don't know anything, yet still trying to make a key driver :) ) |
I compiled RK2606 sources and use it with my RK2608 player, mp3 worked fine. :D
|
Quote:
|
Hmmm... that's good news. So it won't be a problem to run MP3 app in any player.
|
Emulator
Guys, here is a first version of the simulator.
RockSimulator.zip There is a readme.txt file Note that I use VC++ 2008, but it will also work with 2006. |
Quote:
So far, have you meet any Rockchip-based MPx player with an external codec ? Btw, is RK260x like the RK270x and is ARM7E-JS + ZSP400 based ? |
Quote:
update: built rk27dll.dll size 1,305,600 bytes now for the simulator... |
Built the simulator, it started to bootup, but it appears to lockup.
http://i203.photobucket.com/albums/a...a/emul01-1.jpg Update:- it's ok now. just copied RockchipEmu.exe,SDL.dll and rk27dll.dll to root of C:\ drive This is awesome it even tests the battery charging icons. :shock: |
Wow! it even plays the games from the game menu. :D thank you so much sid6581 for creating this for us.
http://i203.photobucket.com/albums/a...ola/emul03.jpg :D btw found I have to restart my pc if I want to start the simulator again, probably just my PC lacking memory resources |
I think the next step is to extract all the 400x240 images from my current firmware to replace the 320x240 images in this build and modify the source to suit.
Then build a new BMP0.bin to match my player display. But the good news is now I can test it out on my PC instead of risking messing up my player. What joy! :p |
Here is a precompiled simulator including source if anyone wants to have a play. http://www.sendspace.com/file/kvfugi
Just copy the RockchipEmu.exe, SDL.dll and the RK27dll.dll from the debug folder to the root of the c drive. It expects a "RESOURCE" folder containing BMP0.bin and the fonts in c drive too. here is the resource folder too :- http://www.sendspace.com/file/3ow370 :) Needs dotnet framework 3.5 I'm afraid. sorry folks! |
RockchipEmu
Do you know how to fix that?
http://img21.imageshack.us/img21/6365/problemyh.jpg When I capture the screen via "C" button, it looks normal. http://img36.imageshack.us/img36/658/screen0000r.png |
So sorry I uploaded the wrong .exe (for 400x240) should be this one:-
Send big files the easy way. Files too large for email attachments? No problem! Just replace RockChipEmu.exe with this. |
RockchipEmu
Thanks, it's OK now.
Please, anybody, tell me how to launch the games and install the firmware to this virtual player; there's no a manual to read from. :confused: (except some chinese, but it's hard to translate even with Google) P.S. For those guys who wants RockchipEmu all-in-one archive: Rockchip Emulator.rar |
The author of the front end (sid6581) is the really the expert on this, but afaik the source has to be compiled using ADS to produce the firmware.
Then the RK27dll.dll is created from the firmware using vc++. So each time you modify the source you need to compile both the firmware using ADS and a new RK27dll.dll using vc++ to test it out using the simulator front end RockChipEmu.exe. |
edited sysconfig.h for my player screen size
Quote:
recompiled a new rk27dll.dll and it works out ok on the simulator, now 400x240 btw :) There are loads of screen drivers, but how to find the right one for my player? There is object code for a gameboy emulator, drivers for 2 types of wolfson audio chip and touch screen control driver. It looks like there is everything needed to make a firmware for just about any RK27xx series player - it just needs sorting though. I think as soon as I can find the right screen driver it will be as easy as pie! :) http://i203.photobucket.com/albums/a...pboard02-1.jpg |
Hi knob,
if you send me your BASE.RKW I could find out what type of display you have (in case its one thats supported by the SDK). You mentioned earlier that you succeeded in building the firmware for your player, did the keys work? Ive got one player that looks like this one from tinydeal: 3 wide 16:9 Touch Screen MP4 MP3 4GB TA5-4R [Mp4] - $35.59 : TinyDeal Direct Online Store, MP4/MP3 Player, Mobile Phone, Memory Card, Accessories, do you have the same one and if so could you tell me how you did configure the keys? Also this player has the Code:
#define LCDPANEL MCUIF_FD5420_18BRegards |
hi AleMaxx
Here is my base.rkw :- http://www.sendspace.com/file/lzfbyq Nearly all the keys worked ok, without any configuration, I think just the volume down didn't, but that would be easy to remap I think. But I could navigate blind, play music, FM radio. I wonder if it could be possible to create a utility that could get the display setting from base.rkw, Is that what you are thinking or is there an easier way? The chinese .pdf doc for the emulator gives some clues I think. btw my player is in the pic above, it's not a touch screen which makes the job a bit easier, but I have seen code for touch screen in the SDK. regards knob |
Hi knob,
actually I was unable to determine what display you exactly have, but its interfaced with 18bit data bus and its an MCULCD (lcd panel with build in controller). Here is the init function from your firmware (I hope I dont get arrested for spamming): Code:
ROM:60081310 Mcupanel_PowerOnInit ; CODE XREF: LcdCtrl_Configure+FC |
| 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