I have an existing C6x project and code base that I am attempting to migrate to a C7x device.
I am using the C6000-to-C7000 Migration User's Guide (SPRUIG5E.pdf).
I am running CCS12.5 installed on Windows 7 64-bit SP1.
The C7x device that I am currently attempting to target is the C71x present within the DRA829 on the J721EXSOMG01EVM.
I have created a "Project_C7x" with the following properties...
I have created a new/empty RTSC C7x Project with the following properties...
Project_C7x, Properties, General...
Configuration: Debug
Project-tab
Device
Family: C700
Variant and core: J721E_DRA829_TDA4VM, C7X_0
Connections: Managed
Project type and tool-chain
Compiler version: TI v4.0.0.STS (also tried TI v3.1.0.LTS with same failed results)
Output type: RTSC App (Exe)
Output format: eabi (ELF)
Device endianness: little
Linker command file: none
Runtime support library: <automatic>
Products-tab
Products
XDCtools [3.62.1.16 core]
SYS/BIOS [6.83.0.18]
XCDpath Package Repositories
$(BIOS_CG_ROOT)/packages
C:\Users\GenUser\myRepository\packages
XDCtools settings
Target: ti.targets.elf.C71 (this was my attempt to fill this field - may be incorrect)
Platform: myC7x
Build-profile: debug
I have created the RSTC Platform file named "myC7x" to be placed within C:\Users\GenUser\myRepository\packages
CCS 12.5 --> File/New/Other.../New RTSC Platform...
New Platform
Page 1 of 2 - Basic Information
Platform Package Details
Package Name: myC7x
Platform Package Repository: C:\Users\GenUser\myReposirtory\packages
Add Repository to Project Package Path (checked)
Device Details
Device Family: c7000
Device Name: TMS320C7100 (*** this is the ONLY device option present for the c7000 family)
Page 2 of 2 - Device Page
Device Details
Device Name: TMS320C7100
Device Family: c7000
Clock Speed (MHz): 1000
Device Memory
Name, Base, Length, Space, Access
L1PSRAM, 0x00E00000, 0x00008000, code, RWX
L2SRAM, 0x00800000, 0x00100000, code/data, RWX
L1DSRAM, 0x00F00000, 0x00008000, data, RW
Customize Memory - checked
External Memory
Name, Base, Length, Space, Access
DDR_CODE, 0x80000000, 0x00600000, code, RWX (base address likely incorrect - NOT able to find correct C7x DDR address range for static targeting of code during build/link/locate step)
DDR_DATA, 0x80600000, 0x00800000, data, RW (base address likely incorrect - NOT able to find correct C7x DDR address range for static targeting of data during build/link/locate step)
DDR_STACK, 0x80E00000, 0x00080000, data, RW (base address likely incorrect - NOT able to find correct C7x DDR address range for static targeting of stack during build/link/locate step)
Memory Sections
Code Memory: DDR_CODE
Data Memory: DDR_DATA
Stack Memory: DDR_STACK
The project has a single source file main.c along with a RTSC configuration file "app_C7x_C71.cfg" adapted from my prior C6x project which uses SYS/BIOS directives to create static tasks, queues, mailboxes, etc.
Upon "Building Selected File(s)" main.c within this project it fails with the following CDT Build Console [Project_C7x] output...
**** Build of configuration Debug for project Project_C7x ****
"C:\\TI\\ccs1250\\ccs\\utils\\bin\\gmake" -k -j 4 main.obj -O
Building file: "../app_C7x_C71.cfg"
Invoking: XDCtools
"C:/TI/ccs1250/xdctools_3_62_01_16_core/xs" --xdcpath="C:/TI/ccs1250/bios_6_83_00_18/packages;C:/Users/GenUser/myRepository/packages;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C71 -p myC7x -r debug -c "C:/TI/ccs1250/ccs/tools/compiler/ti-cgt-c7000_4.0.0.STS" "../app_C7x_C71.cfg"
making package.mak (because of config.bld) ...
configuring app_C7x_C71.xe71 from package/cfg/app_C7x_C71_pe71.cfg ...
The TMS320C7100 device is not currently supported.
The following devices are supported for the C71 target:
C71
J7ES
J721E
subdir_rules.mk:19: recipe for target 'build-201859473-inproc' failed
js: "C:/TI/ccs1250/bios_6_83_00_18/packages/ti/sysbios/family/c7x/Settings.xs", line 145: Error: Unsupported device!
"C:/TI/ccs1250/bios_6_83_00_18/packages/ti/sysbios/family/c7x/Settings.xs", line 170
"C:/TI/ccs1250/bios_6_83_00_18/packages/ti/sysbios/family/Settings.xs", line 176
"C:/TI/ccs1250/bios_6_83_00_18/packages/ti/sysbios/family/Settings.xs", line 128
"C:/Project_C7x/pjt/app_C7x_C71.cfg", line 11
"./package/cfg/app_C7x_C71_pe71.cfg", line 181
gmake.exe: *** [package.mak:206: package/cfg/app_C7x_C71_pe71.xdl] Error 1
js: "C:/TI/ccs1250/xdctools_3_62_01_16_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
gmake[1]: *** [build-201859473-inproc] Error 1
gmake: *** [build-201859473] Error 2
gmake: Target 'main.obj' not remade because of errors.
subdir_rules.mk:16: recipe for target 'build-201859473' failed
**** Build Finished ****
As you can see the build is complaining that the device TMS320C7100 is currently not supported and is suggesting alternate C71 target devices (C71, J7ES, J721E) each of which are NOT available for the device family c7000 during the creation of the RTSC Platform file "myC7x".
The specific C7x device targeted is NOT important at this point as I'm not at the point of targeting/loading the project onto a physical C7x device. Nonetheless one is needed to resolve this build error.
My goal at the moment is to work through the C6000-to-C7000 Migration User's Guide (SPRUIG5E.pdf) resolving the plethora of changes needing to be worked out within our existing C6x code-base, infrastructure, data types, algorithms, instrinsics, etc.
Please refer to my earlier posting to the Code Composer Studio forum entitled ... CCS 12.5 "Install Device Support" Fails.
This earlier posting was my first attempt to resolve this C7x project build failure/issue thinking that C7x device support on my CCS 12.5 install was incomplete.
I have NOT been able to find the C7x DDR memory address map within any of the TRMs, e.g., DRA829, containing a C7x device.
I have been able to find DDR memory address map for the C66x device on the DRA829, but NOT the C71 device.
Knowing the DDR memory address map for the C7x is critical for the functional migration of my existing C6x project/code to a C7x device.
Questions/issues needing answers to:
What am I missing or doing wrong in targeting my simple Project_C7x to a C7x device? How to resolve the RTSC build issue?
Is the RTSC Platform Target: ti.targets.elf.C71 being used within RTSC Platform file "myC7x" above, correct? If not, what should be used instead?
What is the DDR memory address map for the C7x device?