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.

TUSB9261: Running user code from SPI/EEPROM, use TUSB9261FW_SourceCode, CCS version

Part Number: TUSB9261

Data sheet used: TUSB9261, SLLSE671 March 2011 / Revised March 2016
SW package used: TUSB9261FW_SourceCode.zip

Q1:
Document 'CCS3_setup.pdf' says on page 1: "SW Requirements: Code Composer Studio v3.3. or above"
I see that versions available today have much higher version numbers.

Which version should I use to work with TUSB9261FW_SourceCode?

Do we need to purchase CCS or can we use a version which can be downloaded at TI free of charge?


Q2:
Document 'CCS3_setup.pdf' says on page 1: "HW requirements: TUSB926x PDK EVM"
I am unable to find this product, might be it is not available any more from TI.

Which eval board for this purpose is available today? (e.g. TUSB9261DEMO-CB?)


Q3:
The data sheet says on page 1: "Customizable Application code loaded from EEPROM by SPI interface"

To which TUSB9261 internal RAM address and size is this code loaded?

Where is this detail documented?



Q4:
Is this code load (see Q3) already implemented in FW (executed at startup) or do we have
to modify FW code module e.g. 'main.c' to have our custom code loaded via SPI and then executed?

Thank you!

  • Hi Roland,

    1. You should be able to use high versions of CCS to build FW. CCS7.x does not require a paid license. 

     

    2. You can use TUSB9261DEMO to evaluate FW as well.

    3. the TUSB9261 Flashburner takes care of this for you. Some high level Information on the expected mapping of the EEPROM can be found in section 3.1 HID Interface of the TUSB9261 Flashburner users guide. 

     

    4. Correct, at boot TUSB9261 will look for SPI flash to load FW and execute according to its contents. Always remember to use the TUSB9261 flashburner to modify the contents of the SPI flash. This tool must be used to ensure USB descriptors are included correctly. 

    Hope this answers your questions! 

  • Hello Malik,

    thank you for your answers. I will try CCS7.4.0, the version you have pointed me to. I already
    was aware that Flashburner exists but was not sure if and how it is needed in conjunction with
    the process of preparing an external SPI attached memory which contains user code.

    Up to now I was unable to find in TUSB9261FW_SourceCode the exact mechanism of
    how the user code from external SPI flash is loaded into TUSB9261 (assuming the flash
    already contains final user code in the correct format).

    I see the reset vector pointing to 'c_int00' where some init stuff is done (like calling
    'system_init.c' and 'vim_nvic.c'.

    Control is then transferred to 'main.c' where among other things I see the call 'SPI_Init();'
    which does not do any data transfer.

    After some more inits a 'while(1)'-loop is entered which seem to do callbacks and realtime
    stuff.

    In module 'spi.c' I find function 'spi_transfer'. Much to my suprise this function is never
    called from anywhere in the whole FW-package (at least I cannot find 'spi_transfer' when
    doing a text search over all files in the FW package).

    Where are the calls/functions located which are responsible for the transfer of the
    user application code in external SPI flash into the TUSB9261 at reset/startup of
    the whole circuit?

    Thanks again!

    Best regards
    -Roland

  • Hi Roland,

    I cannot provide too many details here but loading of the TUSB9261 FW is done at power-on reset via boot-code preprogrammed into TUSB9261 and not handled by the user application. See first part of section 7.3.1.1 General Functionality in the datasheet. 

  • Hello Malik,

    thanks for your answer. My principal questions still persist but I will first work with CCS7.4.0 and FlashBurner to see how the whole chain is working and to have a complete overview before starting to ask for more details.

    One last question before this thread can be closed:
    Should I address future questions regarding the TUSB9261 topic again in 'Interface Forum' ?

    Thanks again & best regards

  • Hi Roland,

    Yes you can post further questions in the interface forum or even post in this thread again and I will provide a response where possible.