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.

C67xx SPI Flash Booting (16bit or 24bit addressing)

Other Parts Discussed in Thread: TMS320C6747, TMS320C6748, OMAP-L138, OMAP-L137

Spent ages trailing through bootloader info, datasheets and app notes. Perhaps someone can answer this clearly?

Looking to use a C67xx DSP with SPI Flash for booting.

There is no mention of 16bit addressing modes and 24bit addressing modes in any material I can find (where as C64xx documents do cover this).

So, I need to know if I can use a large SPI Flash device for booting, or if the bootloader can only handle a 16 bit Addressed SPI Device.

Best Regards

Rob

  • The ROM bootloader documents do briefly mention that only 24-bit addressing for SPI Flash is supported. Implies maximum UBL image is 16MB. The SPI flash can be larger...just that the RBL can't access past the first 16MB. For SPI flash, 16-bit addressing is not supported.

    Using the TMS320C6747/45/43 Bootloader (Rev. C)
    http://www.ti.com/litv/pdf/sprabb1c
    http://www.ti.com/litv/zip/sprabb1c

    Using the TMS320C6748/C6746/C6742 Bootloader (Rev. E)
    http://www.ti.com/litv/pdf/spraat2e
    http://www.ti.com/litv/zip/spraat2e

  • Hmmm...just noticed in another thread you are using the C6722. Seems to be an early predecessor of the C674x series. A very bried mention of 16-bit addressing in this document. Implied is that an EEPROM is being addressed. Not Flash.

    9230C100 TMS320C672x Floating-Point Digital Signal Processor ROM
    http://www.ti.com/litv/pdf/sprs277c

  • Hi Norman,

    Thanks for your responses on this. Indeed the processor in question is the C6722, I think this is why I am so confused - as the C674x series definately appears to support the SPI Flash (with 24 bit addressing) but the C6722 doesn't from what I have read to date.

    Regards

    Rob

  • Hi Norman,

    Could you clarify that if the SPI flash's space on >16MB can be used by the uboot/kernel/filesystem ?

    Thanks & Best Regards,

    Eason

  • I have not actually used the C6722. Robert would be better to answer specifically for the C6722. In theory, as long as the code knows hows to send 24 or 32-bit addresses to the chip, any code such as u-boot/kernel should be able to access SPI memory larger than 64KB. From what I've seen, SPI flash chips either use different commands for larger addressing or must be switched to a larger address mode using the same commands. Bootloaders are probably not written for a large number of specific flash devices and tend to be limited to a common denominator of 64KB. That's my guess.

  • Thanks, Norman.

    I checked the SPI flash's datasheet, it looks some of them provide kind of "extended address", which means you can use 24 bit address port to get 32 bit address accessiable.  

    So the conclusion I made is that we only need to ensure the uboot <=16MB, which is the limitation of the ROM code.

    Please kindly add your comments.

    BR,

    Eason

  • Reasonable conclusion. No practical experience with it. On the OMAP-L137, the EVM used the SPI flash only for DSPUBL, ARMUBL and optionally u-boot and Linux kernel. All of which fit in 16MB. On that processor, only the DSPUBL had to fit in 16MB. On the OMAP-L138, only the ARMUBL or u-boot need fit into the first 16MB.  Of course we are talking about the OMAP-L13x, C6747 or C6748, not the C6722. Apologies to Robert for the thread hijack.

  • Thanks very much!

    My customer has requirements for large size SPI flash, so I will reply on this thread once they has proven it to be OK or not.

    BR,

    Eason