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.

TMS320C6416: Problem with SYSBIOS(XDC) can't support C64_big_endian

Part Number: TMS320C6416
Other Parts Discussed in Thread: SYSBIOS,

Because some hardware casue, programe must be configured as big endian mode. however while i create a sysbios project, it remained the packages (release by xdc) doesn't support C64_big_endian mode. i checked the ti/targets/packages/rts6000 folder, it doesn't have ti.targets.rts6000.a64e.  so my questions is how can i build the ti.targets.rts6000.a64e via xdc command, or who can share me the ti.targets.rts6000.a64e and boot.a64e?

my CCS is 5.3 and XDC is 3_24_05_48.

  • Kevin,

    Which SYS/BIOS version are you using?

    Todd

  • sorry for later reply, the version is bios_6_34_02_18.

  • Kevin,

    I researched this and the TMS320C6416 device is not supported in SYS/BIOS 6 releases.  Only newer devices with the enhanced C64x+ core are supported.  You can find a list of the supported devices for SYS/BIOS by clicking on the “Device Support” link in the release notes.  Also XDCtools supports big endian on newer C64x+ devices, but not on TMS32C641x devices.  Sorry to not have a better answer for you.

    Regards,
    Scott

  • Hi ScottG, 

    Yes, from the release notes, the C64x device is do not in the supported list. however i can create the project in case of C64X little endian, and works successfully. however if the endian mode is set as big mode, it build failed, and the build logs as followed.

    and from the logs, we can see that ti.targets.C64 is in the supported targets list, but the ti.targets.C64e is not. 

    BTW, i can find the boot.a64 and ti.targets.rts6000.a64 libs in folder "C:\ti\xdctools_3_24_05_48\packages\ti\targets\rts6000\lib", however can't found " boot.a64e and ti.targets.rts6000.a64e", so i suppose that the build failed is caused by the files missed.

    I checked the rtsc /xdc , seems that i can build these two libs mentioned above via xdc command, and also i tried in my local compute, however the generated libs 's size is smaller than little endian's libs. and i suppose the libs 's size should be same for big and little endians. so maybe i missed something.

    thanks very much for your reply, please reminder/reply me if you found i missed anything. 


    **** Build of configuration Debug for project testSysbios ****

    "C:\\ti\\ccsv5\\utils\\bin\\gmake" -k all
    'Building file: ../hello.cfg'
    'Invoking: XDCtools'
    "C:/ti/xdctools_3_24_05_48/xs" --xdcpath="C:/ti/bios_6_34_02_18/packages;C:/ti/ccsv5/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.C64_big_endian -p ti.platforms.dsk6416 -r release -c "C:/ti/ccsv5/tools/compiler/c6000_7.4.1" "../hello.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring hello.x64e from package/cfg/hello_p64e.cfg ...
    js: "C:/ti/bios_6_34_02_18/packages/ti/sysbios/family/Settings.xs", line 107: Error: Target not supported: ti.targets.C64_big_endian
    Please choose one of the following targets supported by BIOS:
    gnu.targets.arm.M3
    gnu.targets.arm.M4
    gnu.targets.arm.M4F
    iar.targets.msp430.MSP430
    iar.targets.msp430.MSP430X_large
    iar.targets.msp430.MSP430X_small
    ti.targets.C28_float
    ti.targets.C28_large
    ti.targets.C64
    ti.targets.C64P
    ti.targets.C64P_big_endian
    ti.targets.C674
    ti.targets.arm.elf.A8F
    ti.targets.arm.elf.A8Fnv
    ti.targets.arm.elf.Arm9
    ti.targets.arm.elf.M3
    ti.targets.arm.elf.M4
    ti.targets.arm.elf.M4F
    ti.targets.arm.elf.R4Ft
    ti.targets.arm.elf.R4Ft_big_endian
    ti.targets.arm.elf.R4t_big_endian
    ti.targets.arp32.elf.ARP32
    ti.targets.arp32.elf.ARP32_far
    ti.targets.elf.C64P
    ti.targets.elf.C64P_big_endian
    ti.targets.elf.C64T
    ti.targets.elf.C66
    ti.targets.elf.C66_big_endian
    ti.targets.elf.C674
    ti.targets.elf.C67P
    ti.targets.msp430.MSP430
    ti.targets.msp430.MSP430X
    ti.targets.msp430.MSP430X_small
    ti.targets.msp430.elf.MSP430X
    ti.targets.msp430.elf.MSP430X_small
    gnu.targets.arm.A15
    "C:/Users/Administrator/workspace_v5_3/testSysbios/hello.cfg", line 12
    "./package/cfg/hello_p64e.cfg", line 189
    "./package/cfg/hello_p64e.cfg", line 268
    "./package/cfg/hello_p64e.cfg", line 176
    gmake.exe: *** [package/cfg/hello_p64e.xdl] Error 1
    js: "C:/ti/xdctools_3_24_05_48/packages/xdc/tools/Cmdr.xs", line 51: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake: *** [configPkg/compiler.opt] Error 1
    gmake: Target `all' not remade because of errors.

    **** Build Finished ****

  • Hi Kevin,

    Thanks for the additional comments, I understand.  There is indeed a ti.targets.C64 in XDCTools, but not big endian as you see. I think this target in XDCtools might have come from support for C6416 in DSP/BIOS (version 5 of OS).  

    I don’t know the history of why support for C6416 was not carried forward to SYS/BIOS (version 6 of OS).  If you do build SYS/BIOS for this device you might run into issues running code intended for C64x+ on C64.

    We don’t recommend or support running SYS/BIOS on this device.

    Regards,
    Scott

  • Hi ScottG,

    Thanks very much for your reply. fortunately, the sysbios runs fine for me in case of little endian mode based on C64 device, however due to some hardware case, the C64 device must be configured as big endian mode, so the code which running as little endian mode before should be changed to match with big endian mode, this is why i want to know how to package the libs mentioned above or where can i get them. 

  • Hi Kevin,

    I understand that you’ve built SYS/BIOS with little endian for C6416, and it seems to be OK.  And you want to switch to using big endian, and you want us to send you big endian libraries for C6416.

    We don’t have big endian libraries to send to you.  We do not support using SYSBIOS on these devices.

    Regards,
    Scott

  • Hi ScottG,

    Yes, I know you don't have the libs mentioned above, i means do you know how to build these libs via xdc command. i followed the followed links to build C64P's libs http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/rtsc/3_15_03_67/exports/docs/rtscpedia/Working_with_xdc.runtime/Working_with_xdc.runtime.html, however the generated libs is not same size with the released one in xdc tools folder. i am not sure what i was missed.

    Or you can tell where i can get the informations about build these packages via xdc commands.

    Thanks very much for your quick reply.

  • Hi Kevin,

    You can find information here: https://www.eclipse.org/rtsc/

    Todd