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.

C6678 edma3 example build problems

I am trying to build the edma3_drv_bios6_c6678_st_sample project under CCS.  I had many include file path problems because apparently the default paths in the compiler were not set properly during installation.  After searching for the proper paths, and updating the include path settings I was able to compile all of the source files without error.  Then, the linker couldn't find the .ae66 files.  I managed to update the linker paths too, but now I have the following link errors:

<Linking>
warning: creating output section ".bss" without a SECTIONS specification
warning: creating output section ".cio" without a SECTIONS specification
warning: creating output section ".const" without a SECTIONS specification
warning: creating output section ".far" without a SECTIONS specification
warning: creating output section ".fardata" without a SECTIONS specification
warning: creating output section ".neardata" without a SECTIONS specification
warning: creating output section ".rodata" without a SECTIONS specification
warning: creating output section ".stack" without a SECTIONS specification
warning: creating output section ".switch" without a SECTIONS specification
warning: creating output section ".sysmem" without a SECTIONS specification
warning: creating output section ".text" without a SECTIONS specification
warning: creating output section ".cinit" without a SECTIONS specification
warning: creating ".stack" section with default size of 0x400; use the -stack
   option to change the default size
warning: creating ".sysmem" section with default size of 0x400; use the -heap
   option to change the default size
"../linker.cmd", line 5: warning: memory range not found: L2SRAM on page 0
"../linker.cmd", line 5: error: no valid memory range(NULL) available for
   placement of ".my_sect_ddr"
"../linker.cmd", line 5: error: run placement fails for object ".my_sect_ddr",
   size 0x1cc0 (page 0)
"../linker.cmd", line 4: warning: memory range not found: L2SRAM on page 0
"../linker.cmd", line 4: error: no valid memory range(NULL) available for
   placement of ".my_sect_iram"
"../linker.cmd", line 4: error: run placement fails for object ".my_sect_iram",
   size 0x4c0 (page 0)

followed by a list of undefined symbols.

I obviously still have something set wrong in my build environment, but I'm new to CCS and am having a terrible time figuring things out.  The strange thing is the example for the release version of this project (edma3_drv_bios6_c668_st_sample_configuration) builds without error.

I've had other problems trying to combine features from different examples (PCIe + EMIF) with include paths, but this one is really stumping me.  Any help would be greatly appreciated.

  • Hi Andrew,

    What version of the edma3 driver, compiler and CCS (and any other relevant packages referenced in the project) are you using?

  • Hi Gurnani,

    CCS reports version 5.1.0.09000. 

    Under CCS Installation Details, the C6000 Compiler Tools lists as version 7.31.  The EDMA3 lists as 2.11.3.

    I am just starting out with the C6678, and feeling somewhat overwhelmed.  I'm used to more basic embedded controllers that have documentation for all available peripherals readily available in one place.  CCS and the C6678 have everything hidden in so many different levels and places it's hard to understand how to pull different features together. 

    Is there documentation that shows how to create a new CCS project that uses, for example, the PCIe, EDMA3, and EMIF systems?

    Thank you.