Post Go back to editing

In the case of multiple firmwares, how to get the current firmware address of the SPI flash when running the main() function?

Category: Software
Product Number: ADSP-21593
Software Version:

Hi .

I'm currently design the second-stage-loader(SSL)  and when a new firmware stored in SPI flash chip, SSL will first call adi_rom_Boot() function to test the new firmware before cover the old one(the one stored at the beginning address of SPI flash)

so here is the question: is there a way to get the current firmware address of the SPI flash ?

greatly appreciate for your help!

  • Hi JayLee,

    We understand that you want to store new firmware in the SPI flash . Once that is flashed, the new firmware needs to test and then the old firmware will test.
    Hence you need to find the sector of the old firmware flashed. Please confirm whether our understanding is correct.

    so here is the question: is there a way to get the current firmware address of the SPI flash ?
    >> Are you asking to find which firmware is being executing? Please explain your requirement in detail to assist better


  • Thanks  for the reply, Divya, and sorry I didn't clearly express my thoughts. so, I will explain it in this way:

    Copy one firmware into 2 copies and stored them in different areas of the SPI flash chip for redundancy,

    DSP will automatically select one to execute, if the first one didn't pass the check, then load the other one.

    if the DSP successfully executing one of them, I want to know the loading address of this copy of firmware to find out which copy is used, then throw an exception.

    Best regards,


  • Hi JayLee,

    To assist you better on this, could you please elaborate about your application and why you are taking one firmware into 2 copies and stored in different flash addresses. Also, please let us know which flash device you are using.


  • Hi Divya.

    It's for redundancy, if one copy load failed, DSP will load the other copy. 

    If the DSP successfully loads a firmware and runs it, I want to know the flash address of this copy.

    My flash chip is is25lp512m

Reply Children