FreeCalypso > hg > freecalypso-sw
annotate loadagent/romvars.h @ 0:9beb566ded04
starting with the toolchain for building our loadagent
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 28 Apr 2013 17:36:07 +0000 |
parents | |
children | da98dc08f575 |
rev | line source |
---|---|
0
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
1 /* |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
2 * Our loadagent will always be loaded into Calypso targets by the on-chip |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
3 * boot ROM operating in the UART download mode. The lowest IRAM address |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
4 * at which we can load our code is 0x800750; somewhat lower at 0x800518 |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
5 * the boot ROM downloader has a few variables which may have been intended |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
6 * to be private to the boot ROM, but which are useful to us. For example, |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
7 * by looking at these variables, we can see which of the two UARTs was |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
8 * used to feed our code to the boot ROM, and use the same UART for |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
9 * subsequent communication - without building multiple versions of our |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
10 * loadagent or resorting to other ugliness. |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
11 * |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
12 * This header file defines the layout of the IRAM structure in question, |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
13 * based on the disassembly of the boot ROM. |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
14 */ |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
15 |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
16 struct boot_rom_vars { |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
17 u8 baud_rate_code; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
18 u8 pad1[3]; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
19 u32 uart_timeout; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
20 u8 uart_id; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
21 u8 pll_config; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
22 u16 cs_ws_config; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
23 u8 clktcxo_13mhz; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
24 u8 rhea_cntl; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
25 u16 chksum_cmd; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
26 u16 chksum_accum; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
27 u16 pad2; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
28 u32 branch_addr; |
9beb566ded04
starting with the toolchain for building our loadagent
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff
changeset
|
29 }; |