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/TDA3: CCS7 work project

Part Number: TDA3

Tool/software: Code Composer Studio

Dear colleagues,
Now we are estimating migrationg our video system to Jacinto TDA35XXABFQ1 chip (DM505M) and want to test performance.
We use Spectrum Digital Starter Kit 15x15 TDA3x ES1.0 GP (EVMTDA3G-01-40-00 01NOV16 703754-1101 REV A).
Software we work at: CCS7, PROCESSOR_SDK_VISION_03_00_00_00, starterware_01_06_00_16.
At first I would like to make system part of software, based upon 2 Cortex-M4 IPUs.

Experts at this forum said me:
1) Vision SDK after compilation doesn't contain ready to load projects for Code Composer 7
2) Same about Starter Ware (starterware_01_06_00_16)
In addition Starter Ware doesn' compiles at all:

C:\ti\starterware_01_06_00_16>gmake all PLATFORM=ti814x/tda2xx/tda2ex/tda3xx
------------------------------------------------------
# Starterware 01.06.00
------------------------------------------------------
gmake -C C:/ti/starterware_01_06_00_16/bootloader/sbl_lib CORE=m4
gmake[1]: Entering directory `C:/ti/starterware_01_06_00_16/bootloader/sbl_lib'
C:/ti/ccsv7/utils/cygwin/mkdir -p C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release
C:/ti/ccsv7/utils/cygwin/mkdir -p C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release/.deps
C:/ti/ccsv7/utils/cygwin/mkdir -p C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/lib/ti814x/tda2xx/tda2ex/tda3xx/m4/release
gmake C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/lib/ti814x/tda2xx/tda2ex/tda3xx/m4/release/sbl_lib.aem4
gmake[2]: Entering directory `C:/ti/starterware_01_06_00_16/bootloader/sbl_lib'
# Compiling ti814x/tda2xx/tda2ex/tda3xx:m4:release:sbl_lib: src/sbl_lib_common.c
C:\ti\ccsv7\tools\compiler\ti-cgt-arm_17.9.0.STS/bin/armcl -ppd=C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release/.deps/sbl_lib_common.P -c -qq -pdsw225 --endian=little -mv7M4 --float_support=vfplib --abi=eabi -eo.oem4 -ea.sem4 --symdebug:dwarf --embed_inline_assembly -o4 -os --optimize_with_debug --inline_recursion_limit=20 -g -ms -DTRACE_ENABLE -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -DVPS_VIP1_BUILD -DVPS_VIP2_BUILD -DVPS_VIP3_BUILD -DRELEASE_BUILD -DASSERT_ENABLE -DSBL_CONFIG_DEFAULT -DSBL_OPT_LEVEL=0 -DSBL_PROD_BUILD -DTRACE_LEVEL=3 -DBUILD_M4 -DBUILD_IPU1_0 -DTRACE_ENABLE -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -DVPS_VIP1_BUILD -DVPS_VIP2_BUILD -DVPS_VIP3_BUILD -DRELEASE_BUILD -DASSERT_ENABLE -DSBL_CONFIG_DEFAULT -DSBL_OPT_LEVEL=0 -DSBL_PROD_BUILD -DTRACE_LEVEL=3 -DBUILD_M4 -DBUILD_IPU1_0 -DTRACE_ENABLE -DVPS_VIP_BUILD -DVPS_VPE_BUILD -DVPS_DSS_BUILD -DVPS_VIP1_BUILD -DVPS_VIP2_BUILD -DVPS_VIP3_BUILD -DRELEASE_BUILD -DASSERT_ENABLE -DSBL_CONFIG_DEFAULT -DSBL_OPT_LEVEL=0 -DSBL_PROD_BUILD -DTRACE_LEVEL=3 -IC:\ti\ccsv7\tools\compiler\ti-cgt-arm_17.9.0.STS/include -I. -IC:/ti/starterware_01_06_00_16/include -IC:/ti/starterware_01_06_00_16/include///hw -IC:/ti/starterware_01_06_00_16/include//hw -IC:/ti/starterware_01_06_00_16/include/hw -IC:/ti/starterware_01_06_00_16/include/armv7m/ -IC:/ti/starterware_01_06_00_16/include/armv7m -IC:/ti/starterware_01_06_00_16/include// -IC:/ti/starterware_01_06_00_16/include/ -IC:/ti/starterware_01_06_00_16/include/pm/pmhal -IC:/ti/starterware_01_06_00_16/pm/pmhal -IC:/ti/starterware_01_06_00_16/include/pm -IC:/ti/starterware_01_06_00_16/platform/ -IC:/ti/starterware_01_06_00_16/platform -fr=C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release -fs=C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release -fc src/sbl_lib_common.c
"src/sbl_lib_common.c", line 30: fatal error: cannot open source file "hw_ctrl_core.h"
1 catastrophic error detected in the compilation of "src/sbl_lib_common.c".
Compilation terminated.

>> Compilation failure
gmake[2]: *** [C:/ti/starterware_01_06_00_16/binary/bootloader/sbl_lib/obj/ti814x/tda2xx/tda2ex/tda3xx/m4/release/sbl_lib_common.oem4] Error 1
gmake[2]: Leaving directory `C:/ti/starterware_01_06_00_16/bootloader/sbl_lib'
gmake[1]: *** [m4] Error 2
gmake[1]: Leaving directory `C:/ti/starterware_01_06_00_16/bootloader/sbl_lib'
gmake: *** [sbl_lib] Error 2

C:\ti\starterware_01_06_00_16>


You can see: sbl_lib_common.c", line 30: fatal error: cannot open source file "hw_ctrl_core.h"

The file "hw_ctrl_core.h" not exist at my computer and even in all Internet - 0 results found

So! Is it really there no any example work project to start work with TDA3xx ????? it is worthy 21 century!!! Much enjoy!

When I try to construct my own CCS7 project using a StarterWare example I encounter with similar error:
#include "hw_baseaddress_dsp.h" - this file not exist elsethere.


Now at first I try to construct simple debug project for CCS7.
I start "hello word project", have made several options, have switched off DSPs and second Cortex-M4 (Bypass option is On) at Target Options.

This project here:
drive.google.com/open

This project loads, starts, Suspend button exists, memory in memory browser is the same as ELF-file, printf is in list of functions in the MAP-file.
But during suspend program cursor is not within endless loop, values of every variable is random, printf doesn't work (it is said it must send messages to debug console window as default),

The main.c:

#include <stdio.h>

volatile int HugoBox [1024];
volatile int i, cnt=0;

int main( void )
{
printf("Hi, everibody in the house!!! \n");

while( (2*2)==4 )
{
printf("Start re-init %d \n", i );
for( i=0; i<1024; i++ ) HugoBox[i] = cnt*i;
printf("Re-init is complete %d \n", HugoBox[33]);
cnt++;
}
}

Best Regards
Alex Norokh

  • Hi Alex,

    Couple of things:

    1. When you are compiling starterware, you should be giving only a single platform in the build command (not multiple platforms with slashes):

    gmake all PLATFORM=tda3xx

    2. The header file: hw_ctrl_core.h is present in the folder: starterware_XX_XX_XX_XX\include\tda3xx\hw. Since the platform is not properly specified in the build command the makefiles are not able to point to the right folder.

    3. For the hw_baseaddress_dsp.h,... this file does not exist. This header file is included from an example sbl_multicore_mbx_3 which is never compiled for DSP as a part of the build. Please refer to the example sbl_multicore_mbx instead. The base addresses are captured as part of the file soc.h.

    4. From the context of your code looks like only the symbols are loaded and you are not at the stage of executing the code. The call stack in the Debug window does not reflect the fact that the code has reached main. You should check the linker command file and also check if the code once you load through CCS is indeed reaching main.

    5. Also, just to clarify, you mention Processor SDK Vision 3.0. This package contains pdk_01_07_00_16. (not starterware directory). Looks like you have downloaded a starterware version independently. 

    Thanks and Regards,

    Piyali

  • Yes! gmake all PLATFORM=tda3xx completed successfully. Thank you.
    What is pdk_01_07_00_16?? I don't se it in \ti folder.
  • The PDK package contains Device Abstraction Layer libraries and peripheral/board level sample/demo examples that demonstrate the capabilities of the peripherals on TDAx platform for development, deployment, and execution of applications. 

    This is the driver layer from Processor SDK Vision 3.0 onwards. This can be found in PROCESSOR_SDK_VISION_03_00_00_00\ti_components\drivers\pdk_01_07_00_16 folder.

    Thanks and Regards,

    Piyali

  • At first about memory:

    It seems memory (Cortex-M4 SRAM) - all sections in CMD files in this memory - is in work condition. I filled memory in memory browser - 64 elements were written by value 255. An after program execution I saw 64 elements of HugoBox array become == 255. So.....can I rely this SRAM are working properly and I don't need to extra setup SRAM (switch on, ungate, set corresponding registers.....) ???

    If, as you pointed out, problem is unproper stack init, do you have any idea the reasons it is happen? The project link in the head of conversation.

    In addition, TDA3x user guide has no information about processor version.

    At

    Right mouse click on project >>> Properties >>> CCS Build >>> ARM Compiler >>> Processor Options >>> Target Processor Version

    as default was "4".

    I have seen this post:

    ---------------------------------------------------------------------------------------------------------
    2.) Cortex-M4 Support
     
    ....
     
    The new support is enabled through the use of two options.
     
    --silicon_version=7M4 - Enables support for the core Cortex-M4 instructions
    --float_support=FPv4SPD16 - Enables support for the FPv4-SPD16 extension.
     
    The --abi=eabi option must be used when using floating point support. Floating
    point support is turned on by default for Cortex-M4. If the user does not
    want to use the floating point unit, the option --float_support=fpalib can
    be specified on the command line.
     
    Thanks and regards,
     
    -George
    ---------------------------------------------------------------------------------------------------------
    Is it right for TDA3x Cortex-M4 ???
  • Hi Alex,

    Not sure if I understood your last snapshot.
    Looks like only the symbols are loaded and the code is still not run/loaded yet. The array location is not initialized and it looks like that is what you are seeing.
    Can you please share a snapshot where the PC is at main, followed by some snap shots of code single stepping in main?

    Thanks and Regards,
    Piyali
  • I beleive program and symbols both loads:

  •  Program position cursor never appear in hello.c program window. After starting debugger CPU starts running, when I suspend execution - program goes to 0x8 window as it can be seen in the above screenshot. When I go step execution (F6) - also program goes to 0x8 window.

  • I renamed hello.c to main.c - the same...
  • !!!!!!!!!!(((( \\\\\\\\ YES /////// ))))!!!!!!!!!!!!!

    the problem suddenly resolved!

    In Russia there is a proverb exists:

    "The problem was not in the wrong moovie film, but in the homosexual saboteur in the cinema booth"

    Today I launch skype, USB cam, after that debugger start to work !!!

    I think some treatment must be in xdc user guide to pay attention to USB workability - maybe to connect it directly to PC, not to USB hub.

  • Glad that the code is running at your end!

    Regards,

    Piyali