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)

nlite 17th Oct 2009 7:45 am

Quote:

Originally Posted by AleMaxx (Post 283572)
To my knowledge there is no MMU (and Im pretty sure). There is a remapping-feature that allows switching between boot ROM and SRAM and you can mark parts of the memory-map to be non-cacheable but this surely has nothing to do with the features a MMU provides.
Concerning TV out on rk2705, the chip has an RGB interface (RGB+Sync signals) which is primarily intended for LCDs but you could of course hook up a DAC or PAL/NTSC encoder to this and get a TV signal. Btw, here is a spec-sheet for the rk2705: http://www.szxizhuo.com/UploadFiles/...8105248185.pdf.

That's the data sheet I was looking at.

W.r.t. the MMU, I hoped the rk2705, being newer than the rk2706, would support virtual memory. But still a superscalar (4-issue) DSP with 8-stage pipeline and general-purpose 32-bit instructions is slightly intriguing (assuming it hasn't been lobotomized by Rockchip and can function on its own).

If someone familiar with rk2705 firmware can suggest a small piece of DSP code, I'll try to find some ZSP G2 instructions, perhaps hack a simple (open source) disassembler because there doesn't seem to be one.

flasher86 17th Oct 2009 2:32 pm

Have you looked at DSPLoader.c? There are references to a few files e.x. C:\SYSTEM\jpg.bfw

Knob, I didn't check precisely whether we have the same original FW, but I made a backup. But I am pretty sure we have the same, this is non-brand player, noone cares about FW for our player.

BTW. I've been digging through the code all day today. I successfully identified at least 20 functions e.x. I2C_Init, IOMUX_SetI2CType and many others.

I noticed very few differences between original FW and the one from SDK but they exist. Especially with function IOMUX_SetI2CType.

I have problems with understanding the structure of the original function. It's weird because I don't know where the function really starts. In the original IOMUX_SetI2CType function it has some extra code at the beginning, but other functions call it not to it's beginning address but to somewhere in the middle.

Although I haven't been able to fix this audio yet, I am really glad because I have a chance to learn ASM ) After some time it's not so creepy language.

tp11 17th Oct 2009 11:00 pm

Quote:

Originally Posted by nlite (Post 283592)
That's the data sheet I was looking at.

W.r.t. the MMU, I hoped the rk2705, being newer than the rk2706, would support virtual memory. But still a superscalar (4-issue) DSP with 8-stage pipeline and general-purpose 32-bit instructions is slightly intriguing (assuming it hasn't been lobotomized by Rockchip and can function on its own).

If someone familiar with rk2705 firmware can suggest a small piece of DSP code, I'll try to find some ZSP G2 instructions, perhaps hack a simple (open source) disassembler because there doesn't seem to be one.

I was looking at this which has references to mmu_ctrl mmu_addr etc.

MEGAUPLOAD - The leading online storage and file delivery service

sid6581 18th Oct 2009 3:39 am

Quote:

Originally Posted by tp11 (Post 283602)
I was looking at this which has references to mmu_ctrl mmu_addr etc.

MEGAUPLOAD - The leading online storage and file delivery service

I haven't looked but that would be surprising. An ARM7E is not supposed to have MMU (?) Now, RK28xx that's an other story :)
About the DSP, i still think it is ZSP500 with those G2 instructions for which we don't have the opcodes, vs ZSP400 for RK26xx.

I have RK2705 too, and 240 MHz for ARM7E and 176 MHz for ZSP500 is actually pretty impressive.

AleMaxx 18th Oct 2009 6:59 am

These mmu_ctrl and mmu_addr registers seem to belong to the SD/MMC controller, possibly related to DMA transfers. I dont know what MMU stands for here, but this has got nothing to do with a MMU in the usual case (in my opinion).

flasher86 18th Oct 2009 7:21 am

Quote:

Originally Posted by AleMaxx (Post 283604)
These mmu_ctrl and mmu_addr registers seem to belong to the SD/MMC controller, possibly related to DMA transfers. I dont know what MMU stands for here, but this has got nothing to do with a MMU in the usual case (in my opinion).

I think that too, I read somewhere that this CPU doesn't support MMU, but there are some wicked MMU-like features for better handling SD Card. I am not sure where I read it, but it was some site with comparision of ARM7 and ARM9 which is the main CPU of WIZ game console.

BTW. Does any one know what are the functions in IOMUX for? I am trying to fix the audio problem in my RK2705 player. And all my clues go to this function. But I don't want to waste time if that has nothing to do with audio.

The audio has kind of weak signal, it doesn't work properly if there isn't any addition amplifier connected to the player. Maybe someone know which functions in the SDK are resposible for headphone amplifier?

Knob, and Sid6581 I uploaded IDA project (BASE ORIGINAL.rar) for our original FW. There is huge load of functions in NAME window. If you wish to play a little with IDA Disassembler it will definitely help you.

sid6581 18th Oct 2009 10:46 am

Quote:

Originally Posted by flasher86 (Post 283605)
BTW. Does any one know what are the functions in IOMUX for? I am trying to fix the audio problem in my RK2705 player. And all my clues go to this function. But I don't want to waste time if that has nothing to do with audio.

Many pins in the RK27xx chip can have several usages.
IOMUX functions selects the particular usage for a pin.
They multiplex pins to reduce the number of pins for the chip, which is supposed to reduce cost.

Have a look at system/drivers/hwapi_iomux.h and look at the datasheet for pinout.

For example,
pin #30 is GPIO A1 or LCD data bit 16 or UART0 rxd
pin #31 is GPIO A2 or LCD data bit 17 or UART0 txd

So, if you want to use UART0 to have a nice debug console on your PC, you simply have to do:
IOMUX_SetUart0Port(UART0_UART_TYPE);
and then configure UART0.

You would have to solder TX, RX and GROUND to a board that translates UART <-> RS232 or UART <-> USB.
I would advise this Future Technology Devices Intl - FT2232H Modules
You will have a regular com port appearing on your PC and can use your favorite terminal...

WIZARD 18th Oct 2009 10:48 am

Quote:

Originally Posted by flasher86 (Post 283605)
Knob, and Sid6581 I uploaded IDA project (http://www.speedyshare.com/990269526.html) for our original FW.

The link is broken! :(

sid6581 18th Oct 2009 10:49 am

Quote:

Originally Posted by sid6581 (Post 283609)

By the way, this is a super useful module.
From your PC, you can control devices via UART, SPI, I2C ... the most common protocols out there, and have a bunch of GPIO.

flasher86 18th Oct 2009 10:55 am

Hmm speedyshare server seems to be broken now.

Here is another download: Download BASE ORIGINAL.rar from Sendspace.com - send big files the easy way

So Sid, Tell me, is it possible that IOMUX can be responsible for bad audio? Because I am lost. I digged through ASM code of our FW, and found some additional functions in Main(). GPIO_PowerOnInit is completely removed and replaced by something else. Can a set of GPIO pins do something with our problem?


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