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.

C6670 big endian problem again

hello

I posted problem of big endian on C6670 EVM board. But I couldn't find any solution. so I post again.

I have to use Big endian mode on C6670 EVM board. and I build big endian  POST

and I programmed by eepromwriter_evmc6670l. but board didn't work

so I tried other way, I re-build POST, eepromwriter_emvc6670l. and I programmed by eepromwriter

It worked well. but I tried big endian mode, It didn't work

This is my way.

1. I re-build platform_lib_evmc6670l in Debug_BE configuration.

2. I re-build platform_lib_evmc6670l in Lite_BE configuration.

3. I modified post_evm6670l properties for big endian.

   - I changed device endianess. ("little" to "big")

   - I changed lib file ("ti.platform.evm6670l.lite.lib"  to "ti.platform.evm6670l.lite.libe")

4. I re-build post_evm6670l in big endian.

5. I modified eepromwriter_evmc6670l for big endian, like 4

6. set my board for big endian, no boot mode.

7. board power up. and excute eepromwriter_evmc6670l.

8. set my board for big endian, I2C boot mode (0x50)

what I missed for ??

Thank you

regards

  • Hi Shin,

    It seems the steps you have used appear to be fine. We need more information to debug the issue. When you mention that it didn`t work for you can you also report value of DEVSTAT register and PC register. Also, did you load and run the post example in no boot mode to confirm that there are no issue with the built application binary.

    When the boot fails do you see the code loaded in device memory correctly or does it appear endian swapped? Also please provide details of how you created the post I2C image that you loaded on the eeprom.

    Regards,

    Rahul

  • Hello

    Thank you for your reply

    I read your reply and I find DEVSTAT register and I find doubt point

    board booted by little endian,  the DEVSTAT register value is 0x0000000B, but booted by big endian, its value is 0x0000080A,

    The Data manual shows the different value is PLL Multi I2C/SPI Ext Dev Cfg. and nothing explain this filed.

    Is it right operation in big endian??

    This captures is memory Browser both of all

    little endian

    DEVSTAT(0x02620020) : 0x0000000B
    DSP_BOOT_ADDR0(0x02620040) : 0x20B00001

    big endian

    DEVSTAT(0x02620020) : 0x0000080A
    DSP_BOOT_ADDR0(0x02620040) : 0x20B00001
    Thank you
    Best regards
  • hello?

    Can I modify the value of PLL Multi I2C/SPI Ext  in DEVSTAT??

    Regards

     

  • Hello

    No one have solution this thread ??

    I used TMDSEVM6670LE made in ADVENTECH.

    Thank you

    Regards

  • Has this thread been forced termination with no solution?? 

  • Sorry for the delayed response on this thread.

    The change from little endian to big endian should only change the last bit so the chnage from 0xB to 0xA. but I am not sure why the PLL Multi I2C/SPI Ext Dev Cfg bit changed. Typically this is set to 0 so the ROM will load the default parameter table in. We have simiar post wherein the customer confirmed that they were able to get the big endian boot working by setting the write mode settings. Please check out the following.

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/t/181144.aspx

    We have filed a lit bug for description of the SPI Ext Dev Cfg but in the mean time you can refer to the ROM source that we put out here:

    http://processors.wiki.ti.com/index.php/Keystone_Device_Architecture#Keystone_ROM_Boot_Examples_and_Reference_code

    Typically that field is configured as 0 but chnaging it would mean the ROM will try to look for an alternate parameter table. This is a snapshot from earlier version of the bootloader user guide which had this detail.

    The boot parameter table for SPI is loaded at location 0x00873680. When you see the boot fail, can you take a look at this location and confirm that the boot parameter table is loaded with correct configuration.

    Regards,

    Rahul

  • hello

    Is it end with no solution??

    Can't I handle Parameter Index Table?

    Boot Parameter (0x00873680) is not matched big and little endian

    big endian : FFECF459

    little endian : FBFCF65B

    Regards,