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.

Using PSP 1.30



Hi,

 

Could anyone guide me step by step on how to use a BIOSPSP Driver (Uart or I2C) in a custom application from scratch.

I have been able to run and compile the examples but am having issues when I begin a new custom application.

I am using the following:

1. CCS 4.2.4

2. DSPBIOS 5.41.11.38

3. PSP 1.30.01

I would appreciate if somebody could point me to a 'hello world' application that uses a uart, that walks me through the basics of what folder should be linked how. I have looked at all the wiki documentation but none walks me through setting up driver without xdc tools. I am interested in knowing how the driver builds should be linked to avoid the 'unresolved symbols errors'

 

Thanks

  • And what device/platform are you using?

  • OMAP L137

    I will be using a custom board

  • Hi Manas,

    First of all, I would like you to go through the BIOS PSP User guide placed @ the top level docs folder of the PSP package(C:\Program Files\Texas Instruments\\pspdrivers_01_30_01\docs\OMAPL137). This will give you a clear picture of the PSP drivers and its dependencies. Also refer to the tools to be installed, environment variables to be set, the folder structure and the build procedure mentioned in the user guide. Before starting off with any peripheral, make sure of its instance availability on the SOC and set the PINMUX accordingly - which is done in the platforms of the PSP package.

    For more details on each driver - design, implementation, dependencies, etc, please refer the Driver design document  paced in respective driver folder(C:\Program Files\Texas Instruments\pspdrivers_01_30_01\packages\ti\pspiom\i2c\docs\BIOSPSP_I2C_Driver_Design.pdf)

    The BIOS version mentioned in the User guide is available separately for CCSv3.3 and CCSv4. When the CCSv4 BIOS is installed, it automatically creates an environment variable "BIOS_CG_ROOT" and set it appropriately with BIOS installed directory. So when building using CCSv4, CCSv4 expects this env variable. when set, this will build successfully.

    When building the sample application project(for example i2c), these files are very important - i2cSample.tci(i2c device creation - statically), i2cSample.tcf(i2c configuration done here), and i2cSample_Debug.cmd (here you can view various libraries linked to the i2c sample application project - dependencies) . For more details regarding these files, please refer the BIOS User guide which is available in the BIOS package.

    Since you are using CCSv4, have you tried building the sample example project that comes with the PSP?.

    Hope this helps..

    Thanks & regards,

    Raghavendra

  • Raghvendra,

    1. I have gone through the documentation. They do call the dependencies but do not mention how they are included

    2. Eg: when you say linking libraries for the I2C, does that mean I have to add the location of 'ti.pspiom.i2c.a674' to the library search path in the linker?

    3. I am able to run the examples, however since these are pre-organized, they compile easily and it is hard to figure out how and what should be linked and how in a custom project.

    4. The .tci and the .tcf files would be project dependent (every new project has its own tci and tcf file)

    5. I would appreciate if you could point me to building a sample application using the BIOS and PSP for some hardware from scratch.

    Let me know what you think.

     

     

  • Hi Manas,

    For creating a CCS project for a specific SOC, for different tools, you will have to refer the CCS Userguide.
    Understand the .tcf, .tci, .cfg, .cmd files in the already available sample application projects.

    You can take references from these projects, or even use the same projects and add your source files(application) and build.

    And with respect to linking of libraries, you have to add the libraries in the File search patch(Build settings) of the project. For this,
    you can take reference from the *.pjt files (pspdrivers_01_30_01\packages\ti\pspiom\examples\evm6748\i2c\edma\build\ccs3). It includes all
    the source files and configuraton files like - .tcf and .cmd files. For example, if you refer the i2cSample_Debug.cmd file, it lists all
    the required libraries of the i2c sample appliation project. Similarly, you can use these details as per your requirement and build/create
    a custom project. After creating a project and during build if you face any issues, we can help you further.

    Some more Info -

    The Sample applications and the drivers provided by the BIOS PSP Drivers 1.30.01 can be built using the following:
    1. CCSv3.3  based pjt build
    2. CCSv4 based pjt build
    3. CCSv4 based .cdt build
    Before building/compiling, please ensure that all the environment variables are set appropriately as mentioned in the UserGuide provided by the PSP.
     
    1. CCSv3.3 based .pjt build
    This can be performed if you are using CCSv3.3 (Goto Project -> Open -> *.pjt).

    2. CCSv4 based .pjt build
    This is used to build sample application/projects in CCSv4 (Project -> Import Legacy CCSv3.3 Project -> Browse -> *.pjt)
    In this case, you can simply modify the .pjt file depending on your requirement and build.

    3. CCSv4 based .cdt build
    This is used to build sample application/projects in CCSv4 (Project -> Import Existing CCS/CCE Eclipse Project -> Browse -> Inside Project folder -> build -> ccs4 folder)

    Hope this helps..

    Thanks & regards,
    Raghavendra

  • Thanks Raghavendra,

    I am still having some issues. Why dont we start with an example.

    1. I have imported the 'Hello World' example from the examples list of DSPBIOS 5.xx for evm OMAPL137. I am able to build and debug this example on my target.

    2. Now how can I add a uart driver to this project? I would appreciate if you could give me step by step guide. Mainly because, when I follow the documents, there are a bunch of unclear steps.

     

    Thanks,