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.

Struggling with TFTP boot on EVM C6678



I am trying to get a TFTP boot working with EVM C6678.  I want to be able to use MAD to make an image, and then have the C6678 download that image by TFTP and start 8 different executables on 8 different cores.

I am following directions in mcsdk_2_00_01_12/tools/boot_loader/examples/i2c/tftp/docs/README.txt

I set the pins according to http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Boot_Mode_Dip_Switch_Settings

I setup a TFTPD32 server with IP 192.168.2.101.  I renamed the file i2ctftpboot_evm6678l.out to app.out and put it in the TFTPD32 folder.  (I could not rebuild the file because the project did not Import into CCS correctly - no source files show up in CCS - so I just used the build provided in the release.)

When I power up the EVM, I get no output on the serial console.  I also get nothing in the TFTP log.

I ran WIRESHARK and found that the TI is actually looking for 192.168.1.101 and looking for file test.out.  I tried making those changes but I still have no output on the serial console and no activity in the serial console.

Does anyone have any idea what to try next?  Are the changes I made to the IP and filename correct?  Should I expect no serial output (using USB-based serial connection)?

  • Hello James,

     The default TFTP boot parameters configured in IBL won't be able to boot a MAD binary image. The address where the boot loader (IBL) branches after downloading the binary image has to be configured correctly in the IBL configuration. For information on Programing "IBL Configuration" please go through  "doc/evmc6678-instructions.txt" in the IBL source package. You will have to change the parameter "ibl.bootModes[2].u.ethBoot.blob.branchAddress" for c6678 EVM in IBL configuration gel file (i2cConfig.gel) to the start address of MAD loader (0x80001040).

    You should also be able to change the "tftp server address" and the "boot file name" to suit your environment in the IBL configuration.

    Let me know if it works.

    Best regards

    Sandeep

     

     

  • Thanks for the guidance Sandeep.  I feel like I am too unfamiliar with TI and TI terminology to easily navigate through these README files.  I cannot get the EEPROM writer to work.

    When I get to step 7:

    6. Open the Memory view (in CCSv5, view->Memory Browser), and view the memory ad
    dress 0x80000000.

    7. Load app.dat to 0x80000000:
         * In CCSv5, right click mouse in memory window, select "load memory".
         * Browse and select writer\eeprom\evmc66xxl\bin\app.dat.
         * Select the option "Use the file header information to set the start address and size of the memory block to be
           loaded" and click "next".
         * Change the Start Address to "0x80000000" if it is not 0x80000000, and click "finish".

    Right clicking in the Memory Browser doesn't have any options similar to "load memory".  Is it referring to a different "memory window" or has this menu item been relocated in most recent versions of CCS?

    Is there any shorter path to what I want to do?  My first goal is just to be able to programmatically start a multicore application.  Maybe I should not use TFTP until I understand everything else better.

  • Hello James,

     Which version of CCS are you using? These procedures were written for CCS v5 (5.0.3).

    Unfortunately the other option which I would have suggested bypassing IBL would also need the "load memory" option in CCS to load the MAD binary blob image directly into memory at address 0x80000000.

    So in any case we need to be able to get the "load memory" option in the memory browser window working for you.

    Please give me the details of CCS version you are using and lets try to solve this issue.

    Best Regards

    Sandeep

  • I am using 5.0.3.  I only installed recently off the webpage, so everything should be most recent.

    Here is a screenshot maybe it reveals something stupid I'm doing.

  • James,

    For output on the serial console issue, please refer to 6. Attach the serial port cable in the EVM Hardware Setup page:

    http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup

    Regards,

    Hao.

  • James,

    You need to change the Default Rendering from Traditional to Memory Rendering. See the link http://e2e.ti.com/support/development_tools/code_composer_studio/f/81/p/110280/389984.aspx#389984.

    Regards

    Sajesh

  • Thanks Sajesh, Hao and everyone.   A lot closer but still not 100% there.

    FTP is working insofar as I see the TI download the file from my FTP server.

    I still don't get any output on the serial cable.  In reference to this picture of the shunts:

    http://processors.wiki.ti.com/index.php/File:TMDXEVM6678L-shunts.jpg

    from http://processors.wiki.ti.com/index.php/TMDXEVM6678L_EVM_Hardware_Setup#Hardware_Setup_Steps

    Does that picture show enabling USB or enabling the serial cable?  The manual uses words like "top 2 pins" and "bottom 2 pins" but I'm not sure what the orientation is. 

    Of course, I've tried it both ways and neither gave output. 

    I am trying to use the example in mcsdk_2_00_01_12/tools/boot_loader/mad-utils/mad-loader/examples/{app_1,app_2,shlibs}.  Is there anything in the example that would make this a bad test?

  • Hello James,

     The basic MAD utilities example do not print anything on the console. If you want to verify the serial console, you can run the demonstration application from BIOS MCSDK. You can follow the procedures in step 5 (Running the demonstartion application) from the getting started guide (http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_Getting_Started_Guide)

    For a multicore application boot example using MAD you can also look at the image processing demo. Chapter 10 of the below mentioned user guide explain the multicore boot.

    http://processors.wiki.ti.com/index.php/MCSDK_Image_Processing_Demonstration_Guide

    Best regards

    Sandeep

     

  • Hi James,

     

    The picture shows that the shunts are connected to the top 2 pins which is the setting for enabling the serial cable.

     

    Regards,

    Hao.