comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:9beb566ded04
1 /*
2 * Our loadagent will always be loaded into Calypso targets by the on-chip
3 * boot ROM operating in the UART download mode. The lowest IRAM address
4 * at which we can load our code is 0x800750; somewhat lower at 0x800518
5 * the boot ROM downloader has a few variables which may have been intended
6 * to be private to the boot ROM, but which are useful to us. For example,
7 * by looking at these variables, we can see which of the two UARTs was
8 * used to feed our code to the boot ROM, and use the same UART for
9 * subsequent communication - without building multiple versions of our
10 * loadagent or resorting to other ugliness.
11 *
12 * This header file defines the layout of the IRAM structure in question,
13 * based on the disassembly of the boot ROM.
14 */
15
16 struct boot_rom_vars {
17 u8 baud_rate_code;
18 u8 pad1[3];
19 u32 uart_timeout;
20 u8 uart_id;
21 u8 pll_config;
22 u16 cs_ws_config;
23 u8 clktcxo_13mhz;
24 u8 rhea_cntl;
25 u16 chksum_cmd;
26 u16 chksum_accum;
27 u16 pad2;
28 u32 branch_addr;
29 };