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.

C5509A I2C EEPROM Bootloader 64K (16-bit) address limit workaround?

Is there any way to have the C5509A bootloader read more than 64K bytes from an I2C serial EEPROM?  As the I2C master, the DSP only uses a 16-bit address to issue the 'read' command.  However, after the first read (from address 0x0000), each successive read is performed with the "read current address" function -- relying on the EEPROM to automatically increment the address internally.  It seems like the bootloader might happily keep reading data past the 16-bit address boundary, unless it kept a counter internally and stopped after 64K.

If it's not possible to load more than 64K, can I get the source code to the C5509A bootloader so I can make a secondary bootloader?

Thanks!

  • Hi,

    Yes, as mentioned in the bootloader application note memory device requirement is to use 2 bytes internal addressing to support  upto 64k Bytes.

    Here is the snapshot from bootloader application note:  

    The bootloader has the following requirements for the I2C EEPROM:

    •  The memory device complies with Philips I2C Bus Specification v2.1 and responds to slave address 50h.
    • The memory device uses two bytes (up to 64K bytes) for internal addressing.
    • The memory device has the capability to auto-increment its internal address counter such that the contents of the memory device can be read sequentially.

    On your question with respect to bootloader source code access, suggest you to contact Local TI FAE. But I believe even without bootloader source code you could  create your secondary boot.

    Hope this clarifies.

    Regards

     Vasanth

  • Hi Vasantha,

    Thanks for your reply. I was aware of the 2 byte addressing requirement from the bootloader application note. However, I was hoping there might be some way to get the bootloader to read more, since it doesn't really use the address. It only sends address 0x0000 to begin the read sequence. Also, SPI mode for the same bootloader can support 24-bit addresses.

    Regarding the bootloader source -- yes I can make a secondary bootloader without it, but it would save me some time!

    Cheers!
    -Chris
  • Hi Chris
    Unfortunately we are not going to be able to share the ROM source. That is not standard TI policy on this family of device.

    Regards
    Mukul