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.

RTOS: PDK package structure

Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI-RTOS

Hello,

On the latest PDK package (version 01.08.01.06  that comes with SDK 3.02) there seems to be some duplicates that i am not sure i understand:

under the drv->stw_lld there are folders for "boards" , "devices" , "platform" ,... and the similar folder names also exist under the drv->vps->src folder

can you please explain the duplicate, what are the differences, when each of these are/should be used and under which libraries.

why would the boards and platform be under vps at all?

i will appreciate any information you can provide on explaining the above and the PDK structure in general,the split and meaning between csl, stw_lld, bsp,... (do bsp only relavnt when using sysBios while csl/stw is more generic? what about vps?)


(i tried looking at the documents published by TI but they did not provide enough information/description to answer my questions).

Thanks

  • Hi Guy,

    The folders which are present under stw_lld are supposed to be used in non OS applications.
    VPS folder has BIOS driver compatible version of the board and platforms module.
    They are used by BSP examples.

    To understand this better you can look at the makefile of loopback_baremetal_app (vps\examples\loopback_baremetal_app) which is non OS version of loopback and links with stw_platform, stw_boards, etc. whereas the loopback (vps\examples\loopback) example is BIOS driver version and links with vps_platforms and vps_boards.

    Regards,
    Rishabh
  • Hi Guy,

    Did you checkout the Wiki documents?

    If not you might want to look at 'PDK Directory structure Wiki' @ http://processors.wiki.ti.com/index.php/PDK/PDK_TDA_Software_Developer_Guide.

    Also we have PDK software developer guide which provides some detailed information on different modules/components under PDK @http://processors.wiki.ti.com/index.php/PDK/PDK_TDA_Software_Developer_Guide.

    Regards,

    Ankur

  • Hello,
    As For the Wiki pages i have already looked at them at it did not provide me with satisfying answers.

    Your info about the VPS folder was helpful but i am still a bit at lost.

    1) from some reason i could not find any description on what each of the examples suppose to do only an operational manual and the sources.
    2) i looked at the loop-back_bare-metal but it still takes most headers and functions from the VPS sub folders instead of taking all of them from the stw_lld. from your description above i thought that this example should not use any of the "duplicate" files from the VPS and use only drivers and function from the stw_lld. so i am still a bit at lost on what and when exactly do i need the VPS files and when can i only be satisfied with the stw_lld. Also it is still using "bsp" files - isn't that mean that it is still a sysBios application (if i understood correctly BSP is always sysBios dependent)

    Thanks
  • Hi Guy,

    The details on VPS examples are here:processors.wiki.ti.com/index.php/PDK/PDK_TDA_VPS_User_Guide.

    To answer the second question I will refer to Board and Platform module as Board for sake of simplicity.
    There are two different pieces of code here: VPS and Board. Board code has two flavors OS based and non OS as explained earlier.
    VPS driver code has three layers: HAL, Core and driver. There are two kinds of driver layer: baremetal and one that uses BIOS. All the VPS driver code is still inside vps folder.
    Hence bare metal loopback app uses VPS code (i.e. HAL, Core and vpsdrv_baremetal) from vps folder and board code from stw_lld folder.
    Hope this helps.

    Regards,
    Rishabh
  • Thanks,
    I already looked at the wiki page but could not find any line the gives a simple description on what each example is what what it actually does. only how to compile - operational manual.

    When you say OS based what does this entails? i would expect that would mean using some OS features like threads , semaphores,...do you mean OS as an OS with already "built in" support for the specific HW (meaning it already contains in its libraries the lld drivers - can you please elaborate?

    also again as for BSP - does BSP always mean/refers to OS based code and if so how come the baremetal example still includes "bsp" files, if not what does the BSP suppose to be?

    another question - the AR12 device seems only to exist under the vps drivers folder and it contains only files marked as bsp. does this mean that to use and configure the AR12 i need to have sysBios and work with the OS based drivers/functions?
  • Hi Guy,

    Here are the answers:
    1. Each example has a pretty simple and intuitive name and hence the description you are asking is not there. E.g. Loopback example captures the video and displays it. If you are looking for something specific do let me know.
    2. When I say OS based it means using OS features like semaphore.
    3. BSP does not always means OS based code. BSP means board support package and can be use in both OS and non OS context.
    4. The way you were using AR12 has not changed with migration from BSP/starterware to PDK. And with reference to previous question you should be able to use A12 without SYSBIOS as well.

    Regards,
    Rishabh