Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

"Hello world" is not output System_printf()

Hello,

I have created a simple DSP program, "hello world" message is not output.
Someone please tell me.

-----Development Environment-----

Code Composer Studio v5.2.1.00018
JTAG: SpectrumDigital XDS510USB Emulator
Board: UDWORKS DM8168DVR RDK
Platform: SYS/BIOS

----------------------------------------------

1.Create a new project.

2.Compile project.(template hello)

----- source code --------------------------------------------------------------

#include <stdio.h>
#include <xdc/std.h>

#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>

/*
* ======== main ========
*/
Void main()

System_printf("hello world\n");

/*
* normal BIOS programs, would call BIOS_start() to enable interrupts
* and start the scheduler and kick BIOS into gear. But, this program
* is a simple sanity test and calls BIOS_exit() instead.
*/
BIOS_exit(0); /* terminates program and dumps SysMin output */
}
----- source code --------------------------------------------------------------
----- console ------------------------------------------------------------------
**** Build of configuration Debug for project hello ****

C:\ti\ccsv5\utils\bin\gmake -k all 
'Building file: ../hello.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.3.4/bin/cl6x" -mv6740 -g --define=dm8168 --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.3.4/include" --display_error_number --diag_warning=225 --abi=coffabi --preproc_with_compile --preproc_dependency="hello.pp" --cmd_file="./configPkg/compiler.opt" "../hello.c"
'Finished building: ../hello.c'
' '
'Building target: hello.out'
'Invoking: C6000 Linker'
"C:/ti/ccsv5/tools/compiler/c6000_7.3.4/bin/cl6x" -mv6740 -g --define=dm8168 --display_error_number --diag_warning=225 --abi=coffabi -z -m"hello.map" --stack_size=0x800 --heap_size=0x800 --define=DSP_CORE=1 --warn_sections --display_error_number -i"C:/ti/ccsv5/tools/compiler/c6000_7.3.4/lib" -i"C:/ti/ccsv5/tools/compiler/c6000_7.3.4/include" --reread_libs --rom_model -o "hello.out" -l"./configPkg/linker.cmd" "./hello.obj" -l"libc.a" 
<Linking>
'Finished building target: hello.out'
' '
**** Build Finished ****
----- console ------------------------------------------------------------------


3.Select *.ccxml

[TargetConfigurations]
Selected DM8168.ccxml (XDS510USB+DM8168 based)
Launch selected Configration.

4.CortexA8 connect-target

5.Load GEL file
Load evm8168x.gel (spectrumdigital)

----- console ------
CortexA8: Output: PRCM for C674x is in Progress, Please wait..... 
CortexA8: Output: C674x L2 RAM Accesses are PASSED 
CortexA8: Output: User Can Connect to C674x 
--------------------

6.Menu options Scripts -> TI816X CPU BRINGUPS, and select c674x

7.C674X_0 connect-target

8.Run-Load Program
Load program hello.out

Suspended->Running changes


"Hello world" but does not appear in the console.
Why?

Regards,

Hideki Yamada

  • Hideki,
    System_printf() is not quite the same as printf() from stdio.h. System_printf() can be configured to store the output in an internal buffer instead of sending it to the console. You can find out if System is configured that way from your CFG script. Somewhere in the CFG script you would have the statement that assigns System.ISupportProxy to SysMin, something like this:
    System.SupportProxy = SysMin;

    If you are indeed using SysMin, check this post to see how to read from the buffer using ROV or to flush the buffer to the console: http://e2e.ti.com/support/embedded/bios/f/355/p/84044/289714.aspx#289714.

  • hello,

    Thank you for reply.

    The following code is already written
    System.SupportProxy = SysMin

    Listed as "No data to display" also OutputBuffer of ROV window.
    Preferences are basically wrong?

    Regards,

    Hideki

    3884.hello.cfg

  • Hi Hideki,

    Please try the gel file attached at the bottom of this post and let me know if it resolves the issue you are seeing.

    http://e2e.ti.com/support/embedded/bios/f/355/t/209056.aspx

    Thanks,

    -Jon

  • Hi Jon,

    I tried ti816x_ddr.gel.

    ----- console message -----

    CortexA8: Output: PRCM for C674x is in Progress, Please wait.....
    CortexA8: Output: C674x L2 RAM Accesses are PASSED
    CortexA8: Output: User Can Connect to C674x
    C674X_0: GEL Output: --->>> OnTargetConnect <<<---
    C674X_0: Output: Netra Main PLL Init is in Progress, Please wait .....
    C674X_0: Output: Netra Main PLL Init is Done .....
    C674X_0: Output: Netra DDR PLL Init is in Progress, Please wait .....
    C674X_0: Output: Netra DDR PLL Init is Done .....
    C674X_0: Output: Netra DDR2/3 PRCM Init is in progress .....
    C674X_0: Output: Netra DDR2/3 PRCM Init is Done .....
    C674X_0: Output: Netra DDR Setting Start .....
    C674X_0: Output: Initializing EMIF1 .....
    C674X_0: Output: Netra DDR Setting End .....
    C674X_0: Output: Device type is GP
    C674X_0: Output: PRCM for OCMCRAM0/1 Initialization in Progress
    C674X_0: Output: OCMCRAM0 & OCMCRAM1 Accesses are PASSED
    C674X_0: Output: PRCM for OCMCRAM0/1 Initialization in Done
    C674X_0: Output: PRCM for C674x is in Progress, Please wait.....

    -----------------------------------

    and C674X_0 connect-target

    ----- console message ------

    C674X_0: Trouble Reading Memory Block at 0x48180a14 on Page 0 of Length 0x4: Error 0x00001002/-1137 Error during: Memory, Target, It appears that the target is being held in reset. This may be due to Wait-In-Reset (WIR) configuration set by the EMU 0/1 pin settings. If this is the case, press Cancel and disconnect all connected devices to attempt to clear the WIR configuration. If this is a multi-core system, the master CPU or ICEPick may not be releasing the target from reset. Please check your configuration and/or your GEL files to ensure that nothing is blocking the target from being released from reset.
    C674X_0: GEL: Error while executing OnTargetConnect(): target is not connected at (*((unsigned int *) (0x48180000+0x0A14))&0x2) [5481.ti816x_ddr.gel:597] at C674x() [5481.ti816x_ddr.gel:306] at OnTargetConnect() .


    Regards,

    Hideki

  • Hi Hideki,

    Did you power cycle the board or just reload the gel file in place of the other gel file?

    I think the issue that is happening has something to do with the way the gel file is setting up the memory.  Did a gel file come with the documentation and software that you got with the board?  Or is the only gel file you have the one that you downloaded from Spectrum Digital?

    Also, which "rev" of the spectrum digital gel file did you download and does it match the rev of you DM8168?

    Thanks,

    -Jon

  • Hi Jon,

    Thank you for your reply.

    There was a mistake in my operation.
    I will report the results of the test again.

    "ti816x_ddr.gel" and "evm816x.gel" I have tried (spectrum digital), the result was the same.

    Regards,

    Hideki

  • Hi Hideki,

    There are several different revisions of the "gel" file for the DM816x on the Spectrum Digital site.

    Rev. C,  Rev. C with DIMM, Rev. D and Rev E.

    Which revision of the gel file did you download and does it match the revision of the DM8168 chip on your board?  As a starting point, we need to make sure you are using the correct gel file for your board..

    Thanks,

    -Jon

  • Hi Jon,

    Thank you for your reply.

    spectrum digital GEL file version is revE.

    But the board is made ​​UDWORKS.
    Dvr_netra.gel file is provided as part of the UDWORKS.
    Looking at the contents of this file,
      DDR3 769
    I was writing with.

    CPU revision is DM8168ACYG (rev1.1).

    Are there any other required information?

    6507.dvr_netra.gel

    8524.evm816x_revE.gel

    Regards,

    Hideki

  • Hi Hideki,

    Please try the Dvr_netra.gel file that was shipped with the board from UDWORKS.    Let me know the results from using this gel file with your hello project.

    It's important that you use correct gel file.

    Thanks,

    -Jon

  • Hi Jon,

    I tried dvr_netra.gel.

    I will report the results of running.

    6735.result.pdf

    In terms of results, "hello world" is output.

    I did with the additional
    -That it has made in the memory initialization scripts ( Scripts-NETRA External Memories-DDR3_796MHZ_doall )5633.dvr_netra.gel
    -That you have run main () in MoveToRun. "main()" function is not executed even if the Load Program.

    Regards,

    Hideki

  • Hi Hideki,

    Looking at the result.pdf you posted it looks like your problem is solved, is this correct? 

    Thanks,

    -Jon

  • Hi Jon,

    I can solve my problem. Thank you.

    Regards,

    Hideki