Created
August 15, 2015 17:23
-
-
Save ssvb/e395652fc5a3012f8f4b to your computer and use it in GitHub Desktop.
A80 fel stack location test
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# str sp, [pc] | |
fel fill 0x10000 1 0x00 | |
fel fill 0x10001 1 0xd0 | |
fel fill 0x10002 1 0x8f | |
fel fill 0x10003 1 0xe5 | |
# bx lr | |
fel fill 0x10004 1 0x1e | |
fel fill 0x10005 1 0xff | |
fel fill 0x10006 1 0x2f | |
fel fill 0x10007 1 0xe1 | |
fel exe 0x10000 | |
fel hex 0x10008 4 |
It means that the stack pointer is at 0x15AD0. And given that 0x15AD0 - 0x12000 = 15056 bytes (about that much is available for the uploaded code without the risk of overwriting the BROM FEL stack), the stack layout looks pretty much similar to other Allwinner SoC variants. Except that the base address is 0x10000 instead of 0x0.
Indeed, the addresses of the stacks on A80 are 0x12000 and 0x17000 as can be seen in the A80 BROM disassembly listing: https://github.com/hno/Allwinner-Info/blob/master/A80/BROM.S#L80
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
result:
00010008: d0 5a 01 00 __ __ __ __ __ __ __ __ __ __ __ __ .Z..............