|
|
Wiki > Main > MeizuReverseEngineering (compare)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Difference: MeizuReverseEngineering (r32 vs. r31)Reverse engineering the Meizu playersM6The main component of the M6 is the S5L8700. datasheet. These are mostly guesses made by looking at the various debug strings in the firmware files and which addresses get accessed in those functions. Memory
*not in the M6SL In DFU mode code gets loaded to 0x22000000 on M6SL, and to 0x22020000 on the other players GPIO
(nc) means not connected. Power systemThe CPU can control its own power by sending a signal to the power manager IC. This means that during power-up it has to quickly let the power manager know it wants to keep receiving power. Using the same signal, the CPU can shut itself (and the rest of the electronics) down. A long press on the play button (M3) or the enter button (M6) causes a quick power-down/power-up sequence, allowing the user to reset the system even when the CPU has completely crashed. Battery charging is done completely in hardware, software can only monitor whether the charger is active or not. I2C?Devices connected to built-in I2C bus: I2C? bus:
Devices connected to GPIO-based I2C bus: I2C? bus:
ADCThe 10-bit ADC seems to have a full range of 3.00V. The battery voltage is divided by two (through a resistive divider) before entering one of the ADC channels. r32 - 14 Jan 2010 - 17:53:49 - BertrikSikken
Revision r32 - 14 Jan 2010 - 17:53 - BertrikSikkenRevision r31 - 04 Nov 2009 - 07:03 - BertrikSikken Copyright © by the contributing authors.
|