since we had problems using the C-Source output (data arrays were too big) from SigmaStudio in our microcontroller which boots an ADAU1452 over SPI, we are targeting the use of the E2Prom.Hex output since the code size of this file is much smaller. The format of this file is described in the ADAU1452 datasheet (39pp.).
What we want to archieve:
- Embedding the Hex file content to our microcontroller code
- Initializing the DSP in SPI slave mode
- Preparing a program sequence by stopping the core
- Decoding the Hex file and doing on-the-fly block writes to the DSP
- Starting the core
Having a parser for the Hex format now, we noticed the following:
- Blocks in the Hex file are ordered by the block start address which does not seem to conform to the DSP programming sequence needed
- Register block data lengths are always multiples of 4, which can lead to a write to an undefined register address or read-only registers
Can you give us a hint whether an on-the-fly Hex programming sequence will succeed regardless of the notices above?
Is there a smarter way to transfer the Hex file content to the DSP (in SPI slave mode)?