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.

CCS/EVMK2GX: CCS Setup: Target Choice; Platform Choice => No Defined Symbols, No Console Print Output (CIO)

Part Number: EVMK2GX
Other Parts Discussed in Thread: 66AK2G12, SYSBIOS

Tool/software: Code Composer Studio

Using the latest everything: CCS (9.0.1), RTOS, ... on Windows 10 machine, Offline Mode.

Just trying to get the ARM (Cortex-A15) RTOS code example running.

When setting up a new CCS Project,

The Target choices are:

"66AK2G12" or "K2GEVM" (K2GEVM seems to work best)

Compiler choice: GNU v7.2.1 (Linaro)

Project Template: SYS/BIOS/GNU Target Examples/Minimal

Protocols and Repositories: Framework Components, k2g PDK, SYS/BIOS, XDAIS

Target: gnu.targets.arm.A15F (preselected)

Platform: the only selectable choice that seems close is "ti.platform.evmTCI66AK2G02"

Build-Profile: "release" is the only option available and is preselected

The Target Configuration File (.ccxml): Basic = "K2GEVM", Advanced (CortexA15) = "evmk2g_arm.gel"

With these selections, the code consists of a main() and "Void taskFxn(UArg a0, UArg a1)"

Build ("Debug") completes without Errors or Warnings and the gel file outputs in Console Window look correct. I can Step and Breakpoint. There is a System_printf statement in main():

    System_printf("enter main()\n");

This statement seems to execute; I can step it and all looks good, but there is no output in the Console Window. CIO is "Enabled."

Build Output in Console Window:

**** Build of configuration Debug for project RTOS3 ****

"C:\\TI\\ccs901\\ccs\\utils\\bin\\gmake" -k -j 4 all -O 

making ../src/sysbios/sysbios.aa15fg ...

gmake[1]: Nothing to be done for 'all'.

making ../src/sysbios/sysbios.aa15fg ...

gmake[2]: Nothing to be done for 'all'.

**** Build Finished ****

At Debug Start, there is a note for the "... XDS2xx USB Onboard Debug Probe/CortexA15: "0x... (no symbols are defined)"

The gel Console output:

CortexA15: GEL Output: Starting K2G GP EVM Initialization .. 

CortexA15: GEL Output: Reading Device Speed from BOOTCFG_EFUSE_BOOTROM

CortexA15: GEL Output: DEVICE SPEED[23:16] ---> 1000 MHz

CortexA15: GEL Output: ARM SPEED[9:0] ---> 1000 MHz

CortexA15: GEL Output: PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz)

CortexA15: GEL Output: ARM PLL has been configured with ref clock 24MHz, -sysclkp_period 41.6666 (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz)

CortexA15: GEL Output: Power on all PSC modules and DSP domains... 

CortexA15: GEL Output: Power on PCIE PSC modules and DSP domains... Done.

CortexA15: GEL Output: UART PLL has been configured (24.0 MHz * 128 / 1 / 8 = 384.0 MHz)

CortexA15: GEL Output: NSS PLL has been configured (24.0 MHz * 250 / 3 / 2 = 1000.0 MHz)

CortexA15: GEL Output: ICSS PLL has been configured (24.0 MHz * 250 / 3 / 10 = 200.0 MHz)

CortexA15: GEL Output: DSS PLL has been configured (24.0 MHz * 198 / 12 / 16 = 24.75 MHz)

CortexA15: GEL Output: XMC setup complete.

CortexA15: GEL Output: DDR3 PLL Setup ... 

CortexA15: GEL Output: DDR3 PLL Setup complete, DDR3A clock now running at 533MHz.

CortexA15: GEL Output: DDR3A initialization complete 

CortexA15: GEL Output: Entering A15 non secure mode .. 

CortexA15: GEL Output: Enabling non-secure access to cp10 and cp11

CortexA15: GEL Output: Enabled non-secure access to cp10 and cp11

CortexA15: GEL Output: Making all GIC interrupts Group1 

CortexA15: GEL Output: Changed interrupt group 

CortexA15: GEL Output: Set secure mode PMR to non-zero value 

CortexA15: GEL Output: Entering NonSecure Mode

CortexA15: GEL Output: Entered NonSecure Mode

CortexA15: GEL Output: A15 non secure mode entered 

CortexA15: GEL Output: K2G GP EVM Initialization Complete.

So, now my questions:

1. Why are there no symbols defined?

2. Why is there no print output in the Console Window? (When I did a "bare metal" program, the print out was there. Am I missing a lib? Or, ...

3. Have I made all the correct choices during CCS Project Setup?

thanks,

dave

  • jdata123 said:
    2. Why is there no print output in the Console Window? (When I did a "bare metal" program, the print out was there. Am I missing a lib? Or, ...

    Two possible reasons:

    1) System_printf() stores the characters in a buffer, and System_flush() must be called to output the buffered characters.

    2) When using SYS/BIOS with the GNU ARM compiler you also need to enable semi-hosting - see How do I enable Semi-Hosting for Cortex-A GNU targets ?

  • Thank you Chester for the quick response.

    I tried the System_flush() but with no joy. From what I've read, the "\n" in the statement should do the same.

    I then tried the Semi-Hosting suggestion with the same blank results. The doc you mentioned said to modify the swi.cfg file. I did so with no change in results. (Just for SWI interaction?)

    It's a puzzler!

    Gonna keep looking. If you have any other ideas, happy to listen and try.

    thanks,

    dave