Introduction
The tcDspBootstrapper static class provides access to the CLUB (Critical Link Unified Bootloader) Bootstrapper program in order to load a new MityDSP program (firmware and software).
In order to do this, the location and size of the firmware and software are provided (and verified to be in FLASH), cache is flushed and disabled, and the Bootstrapper is copied from the base of FLASH to the base of SRAM.
The locations of the firmware and software are written to the proper pre-determined Bootstrapper addresses, and finally the Bootstrapper itself is invoked.
- Note:
- There is no return from this call when successful. The current image is terminated and replaced by the specified image.
- See also:
- MityDSP::tcDspBootstrapper Class Reference
Example
This is a simple example of tcDspBootstrapper usage:
const unsigned int BANK_SEL_ADDR = 0xB0000004;
const unsigned int FLASH_BASE_ADDR = 0x90000000;
{
void *myAppFwOffset = 0x00020000;
unsigned int myAppFwSize = 0x80000;
void *myAppSwOffset = 0x000A0000;
unsigned int myAppSwSize = 0x100000;
tcDspBankSelect *myBankSel =
new tcDspBankSelect((void *)BANK_SEL_ADDR);
tcDspFlash *myFlash =
new tcDspFlash((void *)FLASH_BASE_ADDR, myBankSel);
tcBootstrapper::Reload(myFlash, myAppFwOffset, myAppFwSize,
myAppSwOffset, myAppSwSize);
...
}