I have decrypted the OS now using a method described on yAronet and modified boot2launcher's source (instead of 0x1180000 0x10000000 + size changed) but it seems that this method would be too easy. The emulator reboots with
data abort exception, lr=101f9ddc
So, is anybody gonna help me or does nobody want to talk about this because they don't want to upset TI?
I have the code to make a "hot reboot". It's tested and working.
The OS decrypted code has to be copied some way at 0x10000000.
But you have to make sure no OS code is used at that time.
So I suppose you can neither fread directly at 0x100000000, nor use memcpy().
I've tried to use standard C functions (malloc, fread, and then a for loop and pointers...), but in the end it didn't work either.
I've disabled interrupts, same thing...
I've disabled the compiler optimisations, same thing...
I'm either getting errors speaking of:
- code allready in use
- misaligned data
either a freeze or full reboot.
I suppose, some part of the old OS code is still in use...
Maybe performing the copy operation in assembly would be a way.
It's probably quite simple, for someone who understands ARM assembly.