Other Parts Discussed in Thread: TCI6630K2L, TI-CGT
Hi,
I am working on a TCI6630K2L device, and am struggling with its endianness configuration. I am trying to configure the whole chip in Big-endian, so I did what is described in the K2L data sheet (SPRS893E) and set the Lendian pin to a low-level (pull-down).
Regarding the ARM side, the cores start nevertheless in Little-endian but can be then switch to Big-endian by Software (I am fine with that). Moreover the Big-endian configuration is automatically inherited in the AXI2VBUS bridge at startup (no action from software is required) for every of the ARM cores.
However the C66x cores seem to be in a undocumented hybrid endianness where they are expecting instructions encoded in Little-endian, but are performing every memory accesses in Big-endian (same as for the ARM cores, but this is the documented / expected behaviour). The bit EN of CSR register is cleared, telling that the cores are in Big-endian. My issue is that the TI-CGT-C6000 toolchain (I am using version 8.1.3) cannot generate object code that match the behaviour of the C66x cores in Big-endian: object code are either in Little-endian or in Big-endian (including the instructions).
Am I missing something on either sides (Keystone II chip or toolchain) ?
Regards,
Robert