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.

PROCESSOR-SDK-AM65X: Adding new module to PDK

Part Number: PROCESSOR-SDK-AM65X

In the PDK setup article http://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_00_00_07/rtos/index_overview.html#pdk-example-and-test-project-creation the pdkProjectCreate.sh script is used, in order to configure existing modules in the project.

We are trying out this PDK project to build RTOS, and we of course will need to extend the project with our own new modules.

Unfortunately doing this manually is not that straightforward.

Because this make-based PDK project does a lot of hidden things to connect all the inter-module dependencies.

The question is: Is there a tool like pdkProjectCreate.sh, which will allow to create new empty modules, and automatically modify/configure the dependencies between existing ones? If not - then is there another easy way to add dependencies to the project? Or is it not supposed to be extended at all, because it is just a reference implementation?

  • Hi Arseni,

    which device you use?

    Regards,

    Yordan

  • Hi Yordan,

    it is DRA802

    Regards

  • Hi Arseni,

    We would highly recommend that you use the makefile based approach to build complex projects and not use the CCS project method in the context of the PDK that is delivered for DRA802.

    The pdkProjectCreate.sh, if you understand, is going to create a CCS based project, is that your intent? To be creating CCS projects for your development?

    Our experience shows that when you are working on large projects with multiple dependencies and external components, it is easy to go with the Makefile based approach. 

    Please let me know if that clarifies or if you have any further questions.

    Regards

    Karthik

  • Hi Karthik,

    Thanks for your reply, and sorry for a delay.

    No this is not what I mean. I actually had no idea about the CCS, and now I am going to take a look it it.

    I think we are talking about different things, so I will list my goals, steps done and presumptions first.

    Goal: build a TI RTOS for the R5f core of the Jacinto AM65x/DRA80xM processor, with additional custom code.

    Steps done: 

    Presumptions: 

    • pdkProjectCreate.sh sets all the necessary variables, that are used in the PDK make build.
    • All modules in the project are already connected, the pdkProjectCreate just disables irrelevant modules.
    • In order to add a *new* self-written module to the project, one has to modify the makefile project configuration manually.

    And now to the problem:

    The makefile build configuration is very tangled to manually edit it. Also manual changes mean that some helper tools like pdkProjectCreate.sh may stop working.

    If I want to develop some platform code, based on this PDK project - I am going to spend a lot of time and effort, for maintaining this complex makefile build configuration.

    So my questions really are:

    1. Are my goals and assumptions clear and correct?
    2. Are there any tools to make a real development based on this PDK project simpler? If not then how do other TI customers develop their production software? Based on the PDK project, or completely from scratch?

    Best Regards,

    Arseni

  • see my comment below

  • Hi Arseni,

    I see a few points here that I need to discuss internally before getting back to you.

    The best way I see is to address this via a conference call and then summarize here. Let me come back to you with a proposal.

    Regards

    Karthik

  • Hi Karthik,

    conf call sounds good, looking forward!

    Best Regards,

    Arseni

  • Hi Arseni,

    Just updating here that we are due to talk this week and we will come back and update this thread with the summary.

    Regards

    Karthik

  • Hi Arseni,

    Many of the customers use different build environment for their code. So we did not find it to be useful to provide the generic documentation about using the PDK build system.

    For using the PDK it is recommended to use the libraries of PDK built using the PDK build system or use the pre built libraries from the release package.The customers can use their own build system, and link the PDK libraries which are built as static libraries.

     You can refer the examples provided in the PDK package to know about how to use the drivers for specific use cases.

     Adding a module in the PDK would be similar to what you have done in the patch, but TI does not recommend modifying the PDK code and maintaining it locally, as you might have to re work every time you have to migrate to new PDK release version.

    Regards

    Karthik