I am using the chip is bf609.
The default startup mode SPI FLASH.
initCode and after zlib compression ldr files are stored in the SPI FLASH .
initCode contains SPI FLASH read and write, and zlib decompression .
When starting from SPI FLASH and enter initcode,initcode reading stored in the SPI FLASH the APP.ldr.zlib file.
Then decompress and put the decompressed data stored in the DDR .
Finally call the function rom_Boot(). Start from the DDR .
Call the function :
rom_Boot(appAddressL3,0,0,0,ENUM_ROM_BCMD_DEVICE_MEMORY | ENUM_ROM_BCMD_DEVENUM_0| ENUM_ROM_BCMD_MEM_SMCBANK_0 ,0);
The program can be started.
But I have some questions .
APP.LDR.ZLIB also need to include a initCode file to start properly.（Here initCode not contain FLASH literacy and decompression）
I do not have to figure out there's boot process . Why app.ldr also need to include a initCode file?
SPI FLASH startup has already been performed initCode.