How can I execute code directly from external flash on C5515? My code size is larger than 320K. VC5507 and VC5509A supports this by configuring GPIO at power up.
Thanks.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
How can I execute code directly from external flash on C5515? My code size is larger than 320K. VC5507 and VC5509A supports this by configuring GPIO at power up.
Thanks.
Hello Yogin,
In VC5509A there exists an boot option to support Direct Execution From External Asynchronous Memory, When BOOTM[3:0] = 1000b is selected at reset. Where as In C5515 - there is no direct boot mode option support. The function of the boot-loader is to transfer user code from an external source to RAM. The C5515 has a fixed order in which it checks for a valid boot-image on each supported boot device. The device order is NOR Flash, NAND Flash, 16-bit SPI EEPROM, I2C EEPROM, and MMC/SD. The first device with valid boot-image is used to load and execute user code.
In the case where image needs to be copied to external memory due increased size and so on, then its suggested to follow the below procedure:
Caution: Observation is Executing from external RAM is expected to be slow, so care must be taken to have critical section of the code in internal memory and non-critical section in external memory.
Hope the above information helps.
Regards
Vasanth
Yogin,
With careful design of the FLASH contents, you could have the bootloader load a small program, the sole purpose of which would be to jump to your start address in the FLASH memory.
All the caveats expressed by Vasanth apply (particularly the slow random access of FLASH).
Regards,
Bill