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.

CCS high level documentation?



What document describes all of the components that are used in CCS4 and how they interact and effect the project?

The documentation from quick start to reference guides, is quite frankly, miserable, frustrating and uttterly inadequate despite what appears to be a mountain of detail.  After tthree days of searching and downloading and watching videos, i still do not have any coherent view of what's going on in CCS, now what i need to start and build something that i can download and run in my dsp, nor how to load it into the hardware so that it will run once the target hardware is embedded in the product.

 

 

 

 

  • My apologies for your frustration. The source of CCS documentation scattered about in the help that ships with the product ('Help->Help Content') and the CCSv4 mediawiki (which you seem aware of). The quality of the documentation is admittedly poor for the reasons you mentioned. It is difficult to find the information you are looking for. We are working to address this in the release of CCSv5.1, where improving the quality of our documentation is a big priority. In the meantime, you can ask specific questions on this forum and we will do our best to answer them. Sorry that I do not have a better answer for this.

    ki

  • Okay, here goes:

    1. The online help refers to the 'Target Content area of the "CCS Project Settings" page'.

    I ran the new projec wizard, and no such thing appears on the project settings page. 

    How do i tell ccs that i want to use DSP/BIOS and NDK?  Do i need to?

    2.  What is [ (a) GEL,  (b) BSL, (c) Target Configuration, (d) Template project ] ?  What does it do for the project? Do i need one?

     

     

  • Hi,

    Unfortunately we don't have a specific document for CCSv4 that describes the development process from a high level perspective and the relationships between the different components. Something we would call a User's Guide.

    However, I would suggest the following reading to learn a bit more about the development process with TI tools:

    • Chapter 1 of any of the Code Generation Tools User's Guides talks about the software development flow. Links to them are at the page below:

    http://processors.wiki.ti.com/index.php/Before_asking_for_CGT_support

    • C6000 Embeded Design Workshop using BIOS gives a great guided overview about the development process with lab material

    http://processors.wiki.ti.com/index.php/C6000_Embedded_Design_Workshop_Using_BIOS

    • TI's real-time operating system (BIOS) has some great User's Guides at:

    http://www.ti.com/lit/pdf/spru423

    http://www.ti.com/litv/pdf/spruex3g

    As Ki menitioned, we intend to improve the documentation in this area for the upcoming release of CCS.

    Hope this helps,

    Rafael

  • Hi,

    Dr. Nelson said:

    How do i tell ccs that i want to use DSP/BIOS and NDK?  Do i need to?

    The CCSv4 Getting started guide will show several aspects of using components and debugging the projects created from within CCS.

    Section Using BIOS shows how to add DSP/BIOS to your project.

    NDK is a component provided outside of CCS and therefore it has its own documentation set. Check the NDK product page for its user's guide and a starter guide developed for an earlier version that can be of help.

    Dr. Nelson said:

    2.  What is [ (a) GEL,  (b) BSL, (c) Target Configuration, (d) Template project ] ?  What does it do for the project? Do i need one?

    GEL information can be found at: http://processors.wiki.ti.com/index.php/GEL

    BSL or Board Support Library is usually a collection of library or libraries and supporting source code designed to allow the developer have tested code that configures a development board's peripherals (ADCs, serial ports, etc.). The BSL is provided by the third-party companies as they own the design of a development kit.

    Target configuration and template projects are shown in the section Working with CCS of the Getting Started Guide mentioned before.

    Hope this helps,

    Rafael

     

  • Dr. Nelson said:

    1. The online help refers to the 'Target Content area of the "CCS Project Settings" page'.

    I ran the new projec wizard, and no such thing appears on the project settings page. 

    How do i tell ccs that i want to use DSP/BIOS and NDK?  Do i need to?

    The help must refer to a version of CCS before 4.2. A change was made in the project wizard that removed that area. Instead, you can specify if you want to create a DSP/BIOS or SYS/BIOS project by specifying an associated template (it is the last part of the project wizard)

    As for NDK, you don't tell the project wizard that you wish to create an NDK project. You simply include the associated libraries and headers (or import existing NDK example projects from the NDK software).

    Dr. Nelson said:
    2.  What is [ (a) GEL,

    General Extension Language. It is a 'C' like scripting language specific to CCS. You can use it to automate tasks in the debugger.The included help in CCS for GEL is pretty good (Code Composer Help->Tasks->Automating Tasks with General Extension Language (GEL)) and I recommend reading that section for more details.

    GEL is commonly used to initialize the target when starting a debugger. For automation though, I'd recommend DSS.

    Dr. Nelson said:
    (b) BSL

    Board Support Library. It provides APIs used for configuring and controlling a specific board peripherals for ease of use. It is delivered as a package of libraries and header files (and usually source examples). It is similar to a CSL (Chip Support Library) on a board level and created by the board manufacturer.

    Dr. Nelson said:
    (c) Target Configuration

    It is an xml file that defines the host<->target connection and the device you are connecting to. The debugger needs this to know how to communicate to your target.

    There is more information on how to create one in the included help (Code Composer Help->Tasks->Target Configuration)

    Dr. Nelson said:
    (d) Template project ] ?  What does it do for the project? Do i need one?

    This is a new change in 4.2. Basically we include some templates to help people get started. Templates can consist of skeleton code or examples which include additional libraries. Choosing a template is not manditory, it just makes it easier to get started. It makes it easier to create DSP/BIOS and SYS/BIOS projects since it does some setup for you.

    Hope this helps

    ki

     

     

     

  • I looked at Chapter 1 of the C6000 Optimizing Compiler v 7.2 User Guide.  It does add a little bit to the picture, but there is no mention of  GEL, BSL, Target  Configuration, Template, nor including bios, ndk, etc.

    I watched the video, it was good.  but again nothing is defined or explained, it is only demonstrated and only at a very high level.

    The api user guides indeed are very good, once you are into the actual programming.

    Let me add a comment from a mile high:

    Some years ago (maybe 10) i spent the year doing a series of TI DSP projects. I wrote drivers and applications from scratch for pci, vme, fibre, raid, scsi, video, networking, etc.   I did some other TI DSP projects since then, each after a few years interval.   Everytime, the tools had become more sophisticated, more opague, and more difficut to learn and get started. This time i am four days into the effort and i have still not written line 1.  But i might be there shortly.

    C6Flo is finally a good idea, perhaps. i would use it to generate something that i could use as a starting point.  But it does not support enough of the peripherals to be useful and i have to learn javascript to extend it  (real dsp programmers don't do java or java script or xml or c++ or uml or ....). 

     

  • that's wonderful.  thank you.

    let me ask about my specific project, and i think then i can run with it for a while:

    i need to write something for C6748 SOM that uses the uPP and the raw ethernet nocopy.  Would one the NDK examples be a good starting point?