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.

C6437 + UART (DSP/BIOS Interrupt) Example

Other Parts Discussed in Thread: CCSTUDIO

Hi.

I need some example of connecting the EVM6437 to UART0  with a DSP/BIOS routine.

Please Advise.

  • Hi,

    I've done this before using the C6452... but the steps should be similar. First download the platform support package (PSP) from http://focus.ti.com/docs/toolsw/folders/print/supportpkg.html , then have a look at the UART example for the C6437, depending on where you installed the PSP it should be located at:

    \pspdrivers_1_10_01\packages\ti\sdo\pspdrivers\system\dm6437\bios\evmDM6437\uart\build\dm6437_evm_uart_st_sample.pjt

    Also, read the DSP/BIOS document located at:

    \pspdrivers_1_10_01\pspdrivers_1_10_01\packages\ti\sdo\pspdrivers\drivers\uart\docs

    .... especially the Users Guide, VERY IMPORTANT, read the users guide and look at the example so that you can see the changes the made to the DSP/BIOS config, you will need to make those to your application as well (_UARTMD_FXNS, uart0_dev_init, uart0DevParams) - You need to understand the example and get it running on your evalboard before you continue...

    Now, for you own project you will need to do the following:

    1.) Add the following line to your DSP/BIOS configuration file,

    utils.importFile("ti/sdo/pspdrivers/system/c6437/bios/evm6437/uart/c6437_uart0.tci");

    2.) Make sure the relevent PSP paths are included in your projects:

    -i"C:\pspdrivers_1_10_01\pspdrivers_1_10_01\packages" -i"C:\pspdrivers_1_10_01\pspdrivers_1_10_01\packages\ti\sdo\pspdrivers\soc\c6437dsp" -d"_DEBUG" -d"CHIP_C6437" -d"BIOS_BUILD"

    3.) Also make sure that the paths for DspBiosBuilder (the tab under, Projects -> Build Options... -> DspBiosBuilder) is setup correctly:

    -Dconfig.importPath="$(Install_dir)/bios_5_33_03/packages;C:/pspdrivers_1_10_01/pspdrivers_1_10_01/packages;"

    4.) Include the C:\pspdrivers_1_10_01\pspdrivers_1_10_01\packages\ti\sdo\pspdrivers\drivers\uart\lib\dm6437\Debug\uart_bios_drv.lib library in your project.

    VERY IMPORTANT: If you use interrupt (asyncronous mode), uart_bios_drv.lib library needs to be rebuild by defining the preprocessor macro PSP_UART_ASYNC_MODE_SUPPORT and undefining PSP_UART_BUFFERING_ENABLED.

    5.) Make the changes to DSP/BIOS config as explained in the user guide (_UARTMD_FXNS, uart0_dev_init, uart0DevParams).

    Good luck... and most importantly don't give up... it might have been my inexperience but it took me more than a week to get my DSP/BIOS UART working...and i had to read the documentation a few times  :)

     

     

  • Hi

    I am trying to build dm648_evm_uart_st_sample.pjt and get the following errors:

    [psp_bios_uart_sample_read_write.c] "C:\CCStudio_v3.3\C6000\cgtools\bin\cl6x" -g -@"=C:/CCStudio_v3.3/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/build/xdcconfig/compiler.opt" -pdr -pds238 -fr"C:/CCStudio_v3.3/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/build/Debug" -d"_DEBUG" -d"CHIP_DM648" -d"BIOS_BUILD" -mv64+ -@"../build/Debug.lkf" "psp_bios_uart_sample_read_write.c"
    "psp_bios_uart_sample_read_write.c", line 51: fatal error: could not open source file "ti/sdo/pspdrivers/drivers/uart/psp_uart.h"

    When I loaded the dvsdk, it put it in

    c:\dvsdk_1_10_00_26_DM648

    along with all the psp drivers. My psp drivers were installed in

    C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages\ti\sdo\pspdrivers\

    The header file has this as its include dir

    #include <ti/sdo/pspdrivers/drivers/uart/psp_uart.h>

    How does the ccs compiler know to look in this directory for the missing psp header files?

     

    Thanks

  • Hi

    Just checked the environment parameters. They seem correct.

    BIOSDVSDK_INSTALL_DIR=C:\dvsdk_1_10_00_26_DM648
    BIOSUTILS_INSTALL_DIR=C:\dvsdk_1_10_00_26_DM648\biosutils_1_00_02
    BIOS_INSTALL_DIR=C:/CCStudio_v3.3/bios_5_31_02

    It looks like the dvdsk installer installed the pspdrivers directory with the version info appended. My guess is that CCS has no idea how to find it. Anyone else have this issue?

    C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages

  • Hi,

    You must include the search path in your project so that CCS know where to look for the header files.

    -i"C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages"

    This is done under Project -> Build options -> Compiler tab -> "Preprocessor" category -> Include search path (-i)

  • Thanks RdN

    That change was required. I can't understand why the build options didn't have that already since the project configuration was installed with the dvdsk CD. If the build options didn't have the include dir on the original version, I wonder how they built it before burning the CD?

    Anyhow, I have another error.

    js: "C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/include/utils.tci", line 488: exception from uncaught JavaScript throw: Error: Can't find import file: 'ti/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/dm648_uart0.tci' (not found along 'C:\CCStudio_v3.3\sdo\pspdrivers\system\dm648\bios\evmDM648\uart\build/;.;C:/edma3_lld_1_03_01_01/packages;Z:/pspdrivers/pspdrivers_/packages;C:/CCStudio_v3.3/bios_5_31_02/packages;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/packages;C:/CCStudio_v3.3/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/build;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/packages;..;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/etc;C:/CCStudio_v3.3/bios_5_31_02/packages/ti/bios/include;c:\dvsdk_1_10_00_26_DM648\xdc_2_95_02/include;c:\dvsdk_1_10_00_26_DM648\xdc_2_95_02/packages')

    Seems its searching everywhere for dm648_uart0.tci except where it is:

    C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages\ti\sdo\pspdrivers\system\dm648\bios\evmDM648\uart

    It looks like it expects to find it in the xdc folder.

    I've been working on the C55x DSPs for about 5 years and I thought they were difficult to compile examples.......util I tried the DM648

     

    Eddie

     

     

  • Solved the dm648_uart0.tci problem by adding the directory to Project->Build Options->XDC->Basic->XDC Path

    C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages

    But now I get the error

    configuring dm648_evm_uart_st_sample.x64P from package/cfg/dm648_evm_uart_st_sample_x64P.cfg ...
    js: "C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/packages/xdc/xdc.tci", line 254: exception from uncaught JavaScript throw: Error: xdc.loadPackage: can't find package 'ti.sdo.edma3.drv.sample' along the path 'C:/edma3_lld_1_03_01_01/packages;Z:/pspdrivers/pspdrivers_/packages;C:/dvsdk_1_10_00_26_DM648/pspdrivers_1_10_00_09/packages;C:/CCStudio_v3.3/bios_5_31_02/packages;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/packages;C:/CCStudio_v3.3/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/build;C:/dvsdk_1_10_00_26_DM648/xdc_2_95_02/packages;C:/CCStudio_v3.3/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/build/xdcconfig/./..;'; try redefining the package path (XDCPATH).

    Arg, will this ever end!

  • I think I'm onto the fix now. Updating psp_xdcpaths_common.dat to my install paths. Works much better.[:D]

  • Try the following:

    Under "Project -> Build options -> XDC->Basic->XDC Path", remove the path you added earlier, and instead add it under Project -> Build Options -> DspBiosBuilder tab -> Basic Category (specify search directories for tci files)

  • Thanks. It builded OK by changing the directories in psp_xdcpaths_common.dat, but opening a tcf file fails giving the error 

    js: "C:/CCStudio_v3.3/bios_5_31_02/xdctools/include/utils.tci", line 484: exception from uncaught JavaScript throw: Error: Can't find import file: 'ti/sdo/pspdrivers/system/dm648/bios/evmDM648/uart/dm648_uart0.tci'

    It turns out I had to add

    C:\dvsdk_1_10_00_26_DM648\pspdrivers_1_10_00_09\packages

    to the DspBiosBuilder tab -> Basic Category in oder to open the tcf. Looks like whats good for the build is not good for the viewer.

    Thanks again for your suggestions.