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.

MAD booting problem of EVMC6678



Hi:

I am developing applications on the EVMC6678L REV.3A, and I encountered some multicore bootting issues.  It seems that my board refuses to boot from an MAD-generated image that is written into the NOR or NAND flash. 

I am using MCSDK2.0.6.18 and CCS5.1.1, and my CGT is ver.7.3.1, which is installed along with the CCS.

I am trying to download the onboard “mcip-c6678-le.bin” file in the image processing demo into the NOR flash, and then boot from the NOR flash. I have followed the “MAD user-guide”:

http://processors.wiki.ti.com/index.php/MAD_Utils_User_Guide#Debugging_application_on_target;

Here is what I did:

  1. I did NOT re-generate “mcip-c6678-le.bin”, which is under the folder :

               E:\ti\mcsdk_2_00_06_18\demos\image_processing\utils\mad\evmc6678l\images

  1. No modifications on any of the eeprom writer or Nor flash writer.
  2. Turn the switches on the board to “no boot mode”
  3. Modify lines of “i2cConfig.gel” according to the MAD user guide, which is under:

          E:\ti\mcsdk_2_00_06_18\tools\boot_loader\ibl\src\make\bin

         ibl.bootModes[0].u.norBoot.bootFormat        = ibl_BOOT_FORMAT_BBLOB; /*ibl_BOOT_FORMAT_ELF;*/

         ibl.bootModes[0].u.norBoot.bootAddress[0][0]     = 0;            /* Image 0 NOR offset byte address in LE mode */

         ibl.bootModes[0].u.norBoot.bootAddress[0][1]     = 0xA00000;     /* Image 1 NOR offset byte address in LE mode  */

         ibl.bootModes[0].u.norBoot.bootAddress[1][0]     = 0;            /* Image 0 NOR offset byte address in BE mode */

         ibl.bootModes[0].u.norBoot.bootAddress[1][1]     = 0xA00000;     /* Image 1 NOR offset byte address in BE mode  */

         ibl.bootModes[0].u.norBoot.interface    = ibl_PMEM_IF_SPI;

    ibl.bootModes[0].u.norBoot.blob[0][0].startAddress  = 0x9E000000;       /* Image 0 load start address in LE mode */

    ibl.bootModes[0].u.norBoot.blob[0][0].sizeBytes     = 0xA00000;         /* Image 0 size (10 MB) in LE mode */

    ibl.bootModes[0].u.norBoot.blob[0][0].branchAddress = 0x9E001040;       /* Image 0 branch address after loading in LE mode */

5. Connect the board with my PC with the onboard XDS100v1 Jtag and load my “.ccxml” with which “Evmc6678l.gel” is attached, so, no problem for DDR memory initialization.

6. Connect core 0 and load “i2cparam_0x51_c6678_le_0x500.out” to modify IBL configuration, it seems OK.

7. Load “norwriter_evm6678l.out” and write the “mcip-c6678-le.bin” to the flash according to “readme.txt”, it seems OK.

8. Then I disconnect the board and turn the switches to “IBL NOR boot on image 0” mode, repower the board, but it seems that the image processing program is not running, I only get following messages from a COM receiver:

IBL version: 1.0.0.13

IBL: PLL and DDR Initialization Complete

IBL Result code 00

IBL: Booting from NOR

 

Other information:

  1. I tried to load “mcip-c6678-le.bin” to the DDR3 and run according to “Loading and running MAD linked image using CCS” in the user guide, but I got nothing.
  2. I tried to rebuild “mcip-c6678-le.bin” and write it to NAND or NOR flash, but with no luck.
  3. I tested the NAND and NOR boot when I got the board, and it looked fine.
  • Hasn't  anyone checked this yet? This MAD utils is driving me mad, because of the insufficient  and some times confusing user guides. 

  • Hi,

       I am working with MAD utils on the EVMC6678L. I am trying to load and run MAD linked image using CCS, but it seems the code is not running.

       I followed steps in Loading and running MAD linked image using CCS.  "http://processors.wiki.ti.com/index.php/MAD_Utils_User_Guide" ,just as this thread said http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/175549.aspx#634531

    The .bin file I was trying was the onboard image processing demo "mcip-c6678-le.bin" under MCSDK folder.

    Any one can help me out? thanks ahead.

    BTW, I am using MCSDK2.0.6.18 and CCS5.1.1, and my CGT is ver.7.3.1, which is installed along with the CCS.

  • Hi Feng,

    We are working on your post. Please do not duplicate threads for same issue. 

    Thank you for your patience.

  • updates:  I download attached zip file "7457.mad_hello_example.zip" from this thread http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/218188.aspx. the "c6678-le.bin" can be loaded by CCS to DDR memory and run. I see outputs from COM receiver on my PC, although it is know that this project has its own bugs.

    the MAD version of this project is 01.00.01.01, which is different  from mine (01.00.00.05). I don't know wether it is the MAD version that makes the difference. I will try to write this .bin into the NOR flash latter.

    thank you for your reply.

  • 3487.mad_examples.zip

    Uptades:

    Now I am trying to go through the example in "..\ti\mcsdk_2_00_06_18\tools\boot_loader\mad-utils\mad-loader", but still, not so smoothly.

    I build new projects for app_1, app_2 and shlibs because I an not able to generate the fianl .bin file by simplely modifiying and running "build_examples_msys.sh".

    After building these projects, I rename  "app_#.out" to "app_#.exe", which are used by .json  files to generate .bin file.

    Through reading user guides, and search on the forum for similar situations, Now i can generate the .bin file in prelink-bypass mode, using MAD tools(Release Version: 01.00.01.01, which i download from the forum). But when I try to generate it in prelink mode, finally I get these errors:

    F:\ccs_works\evmc6678\mad_examples\mad>python E:\ti\mcsdk_2_00_06_18\tools\boot_ loader\mad-utils\map-tool\maptool.py config-files\maptoolCfg_evmc6678l.json

    F:\ccs_works\evmc6678\mad_examples\mad>"strip6x" -o=./tmp/strippedImages\app_1.s trip ./images/appImages\app_1

    F:\ccs_works\evmc6678\mad_examples\mad>"ofd6x" -x -o c:\users\rad-su~1\appdata\l ocal\temp\tmplqpkog.xml "./tmp/strippedImages\app_1.strip"

    Info: Incompatible permissions for segment: 1  application: app_1 in partition: L2SRAM

    Info: Incompatible permissions for segment: 3  application: app_1 in partition: L2SRAM

    Info: Incompatible permissions for segment: 0  application: app_1 in partition: L2SRAM

    Info: Incompatible permissions for segment: 2  application: app_1 in partition: L2SRAM

    F:\ccs_works\evmc6678\mad_examples\mad>"ofd6x" -x -o c:\users\rad-su~1\appdata\l ocal\temp\tmpyw2agl.xml "./tmp/fs\mal_app"

    F:\ccs_works\evmc6678\mad_examples\mad>"ofd6x" -x -o c:\users\rad-su~1\appdata\l ocal\temp\tmpzegbgy.xml "./tmp/fs\nml"

    F:\ccs_works\evmc6678\mad_examples\mad>"prelink6x" c:\users\rad-su~1\appdata\loc al\temp\tmpvvy49z\prelink.cmd error: input object file,    'c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1', is not dynamic "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 1: error: illegal    input character: '0x7f' "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 1: error: illegal    input character: '0x10' "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 2: warning:    unterminated quote "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 5: error: illegal    input character: '0xffffffc1' "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 5: warning:    unterminated quote "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 6: warning:    unterminated quote "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 6: error: invalid    option: -?跇z "c:\users\rad-su~1\appdata\local\temp\tmpvvy49z\app_1", line 7: error: invalid    option: -?{ ERROR: Prelinker run pass-1 failed

    F:\ccs_works\evmc6678\mad_examples\mad>pause press any key to continue. . .

    I have attached my whole projects and scripts so that any one may have a look . Thanks a lot.

  • Feng,

    I am currently looking at your project to look at the issue you are running into. Can you please specify the version  of Compiler, PERL that you are using. Is this error observed even with pre-link bypass mode or is it only observed with prelink mode?

    can you confirm that you are using the instructions provided on the wiki here to build the example.

    http://processors.wiki.ti.com/index.php/MAD_Utils_User_Guide#Demo_walkthrough

    I have built and run the sample example before without any issues so I am wondering if you are missing some build steps while creating the binary file.

    Regards,

    Rahul

  • to Rahul:

    thanks for the reply and work. 

    For the example (app_1 and app_2), I didi not follow the steps because  when I am trying to run

    ./build_examples_msys.sh C6678 little static

    or sth in STEP-1, the "make.exe" process always crash. That is why I build a project for each app and shlibs. Do you think that I am doing sth wrong with the building of app_1.exe and app_2.exe?
    and I did not run
    ./build_loader_msys.sh C6678
    because I think there is nothing that has been changed, is that making different?

    BTW, I am using MCSDK2.0.6.18 and CCS5.1.1, and my CGT is ver.7.3.1, which is installed along with the CCS.



  • update:

       I updated my MCSDK version and GTC version, after days of debugging, it finally worked. Now i can write my applications into NAND flash and boot from that.

       I am a little bit frustrated and disappointed on the compatibility between TI 's develop tools.

  • Hi Feng,

    Thank you for the update and feedback. We will work on to improve our resources and development tools.