GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > PBC / V4-5-0
Constituent: pbc_bootshell     Tag: rad750
#include "PBC/PBC.h"
#include "rom_defs.h"
#include "cmdtlm.h"
#include "asmFns.h"
#include "bootcomm.h"
#include "bootshell.h"
#include "pbc_sio.h"
#include "pbc_memmap.h"
#include "ZLIB/zlib.h"
#include "EE_boot.h"
#include "FILE/FILE_hdr.h"
#include "PBC/PBC_msgs.h"
#include "PBC/PBC_types.h"
#include "PBC/PBC_string.h"
#include "MSG/MSG_macdefs.h"
Include dependency graph for secondary.c:
Functions | |
int | Pbc_InflateSecondary (void *source, const unsigned long sourceSize, void *dest, const unsigned long destSize) |
Inflate secondary boot file. | |
void | Pbc_JumpToSecondary (void entry(int), int arg) |
Execute secondary boot. | |
unsigned int | Pbc_CopySecondaryFromEeprom (const EE_Bank bank, void *dest, const unsigned int size) |
Copy secondary boot code file from EEPROM to RAM load area. | |
int | Pbc_ExecuteSecondary (const int rtosArg, const unsigned long sbcFlags) |
Load, possibly inflate and execute secondary boot code. |
CVS $Id: secondary.c,v 1.22 2005/05/17 20:45:32 dmay Exp $
Secondary boot support
|
Copy secondary boot code file from EEPROM to RAM load area.
|
|
Load, possibly inflate and execute secondary boot code. This function is a bit long. It sets up secondary boot flags in boot diagnostics, copies the file out of EEPROM if needed, parses the file header, runs a checksum on the file, uncompresses if required, and if all of that succeeds, it jumps to the secondary.
|
Here is the call graph for this function:
|
Inflate secondary boot file. Inflate compressed application code from temporary RAM storage to RAM where the application was linked. ZLIB inflate routines are used. ZLIB requires a z_stream block to direct inflation. We inflate the entire block of compressed code as described by the parameters to the function. If there is an inflation error, return failure. Inflated code is not executed in function. Use PBC_JumpToSecondary() to execute secondary boot.
|
|
Execute secondary boot. Run application code at the address specified by the argument entry. The argument arg is passed to the secondary code as the first argument. If for some reason the secondary boot returns, we reboot with the panic argument.
|
Here is the call graph for this function: