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/SATA module with SYS/BIOS?

Other Parts Discussed in Thread: SYSBIOS, OMAP-L138

Trying to build a SYS/BIOS-compliant executable to exercise the PSP/SATA driver.

Running:

sysbios 6_31_04_27,

xdctools 3_20_08_88,

pspdrivers 01_30_01,

biosusb 01_10_03,

edma_lld 02_11_02_04,

ipc 1_22_03_23,

rtfs 1_10_02_32

and CCS 4.2.3 on Windows 7 (32-bit)

When I do a clean build I get many library-related link errors:

undefined                first referenced                                                                                                                              
  symbol                      in file                                                                                                                                   
 ---------                ----------------                                                                                                                              
 _C64_disableIER          C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_intf.obj>
 _C64_enableIER           C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_intf.obj>
 _ECM_disableEvent        C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_intf.obj>
 _ECM_dispatchPlug        C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_intf.obj>
 _ECM_enableEvent         C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_intf.obj>
 _HWI_disable             C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ahci.obj>     
 _HWI_restore             C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ahci.obj>     
 _PRD0                    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _PRD1                    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata_remmed.obj>
 _PRD2                    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _PRD3                    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _PRD_start               C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _PRD_stop                C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _PWRM_getCurrentSetpoint C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_getDependencyCount C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_getNumSetpoints    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_getSetpointInfo    C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_registerConstraint C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_registerNotify     C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_releaseDependency  C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _PWRM_setDependency      C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Sata_pm.obj>  
 _SEM_pend                C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      
 _TSK_timerSem            C:\\Program Files\\Texas Instruments\\pspdrivers_01_30_01\\packages\\ti\\pspiom\\sata\\lib\\C6748\\Release\\ti.pspiom.sata.a674<Ata.obj>      

Clearly these are DSP/BIOS symbol names. Have I missed something critical in "Migrating a DSP/BIOS 5 Application to SYS/BIOS 6"  (SPRAAS7E.pdf) ?

My build options have every library under the sun (I've stripped it down to the nothing and rebuilt, too).

What am I missing?

Haven't found any documentation that would suggest that the PSP package is compliant with SYS/BIOS. PSP User Guide and Release Notes only mention DSP/BIOS. Are the docs old, is the PSP package not ready for SYS/BIOS yet, or do I have to build the PSP libraries myself, or... ? I've been through the SATA driver documentation too, not much enlightenment to report.

 

Any suggestions would be greatly appreciated.

- K

  • PSP 1.30 is specifically built for DSP/BIOS 5.x.  At a minimum you would need to link in some of the compatibility libraries, but I think you're better off abandoning this effort as you will likely run into many many more issues.  The driver model changed significantly in SYSBIOS. I believe work is under way to produce a "native" SYSBIOS PSP.  I'll see if I can dig up some more info or timelines.

  • Brand,

    Right. Discovered the DSP/BIOS requirement wording in the "DSP/BIOS Platform Support Package Product Download" page". Have now successfully built under DSP/BIOS but only found TWO available functions: PSP_sataDrvInit(), PSP_sataDrvDeInit() within the PSP/SATA package. Are there any other high-level SATA functions that I can use to test hard disk writing performance (the goal of this effort), or do I have revert to using lower-level, CSL a/o BSL functions?

     

  • According to the PSP 1.30 User Guide:

    "The SATA sample application is not provided as part of BIOSPSP release. Please refer to File system package application example."

    Here's a link to download the file system:

    http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/bios_file_system/index.html

    FYI, DSP/BIOS drivers would use the DSP/BIOS device driver model.  You would call APIs like SIO_create, SIO_issue, SIO_reclaim, etc.

  • Dear Kevin,

    I met the same questions with you. I have installed the pspdrivers_01_30_01 and used it in DSP/BIOS 5_41_13_42. I want to read and write sata with the driver. There are some driver function in the installed files, (which is listed in the picture) but I don not know how to use these to read and write sata. 

    So do you have some examples to read and write sata based on these above? I am very confused and Please help me.

    I will appreciate it if you can help me. Thanks a lot!

    Best wishes to you!

    Regards

    Samantha

  • And I use the OMAP-L138, thank you!
  • Hi did you manage to get anywhere with this? I'm also trying to implement SATA on an OMAP-L138.

    I have the RTFS example project building and running on the LCSDK board, it sees the SATA connection, but fails at getdriveid(). Any ideas?
  • Try out this diagnostic gel file:

    http://processors.wiki.ti.com/index.php/OMAP-L1x_Debug_Gel_Files

    In particular, the Print_PSC_Status function is the one I'm thinking about.  See if the SATA module has properly transitioned.  The SATA peripheral has a quirk that is different than all other modules in device.  When you attempt to enable it you must use the "force" bit.  This is documented in the OMAP-L138 TRM in the footnote to Table 9-2 "PSC1 Default Module Configuration".

    It might not be related at all to your issue, but this seems like something that could be easily missed.  I'm afraid if this doesn't solve the problem for you I personally don't have any further suggestions on this issue, as I have never programmed a SATA peripheral.  Hopefully others will chime in if that's the case.

    Brad