• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Development Tools » Code Composer Studio » Code Composer Forum » Using CCSv3.3 with a Continuous Integration build tool
Share
Code Composer Studio
  • Forum
  • Announcements
Options
  • Subscribe via RSS
Common Questions
  • Code Composer Studio Forum Usage Guidelines

  • Resources
  • Code Composer Studio (CCStudio) Product Folder
  • Troubleshooting CCS
  • CCS Wiki
  • Download CCS
  • Order CCS
  • Tools Insider Blog
  • Bug Tracking
  • Using CCSv3.3 with a Continuous Integration build tool

    Using CCSv3.3 with a Continuous Integration build tool

    This question is answered
    David Aldrich
    Posted by David Aldrich
    on May 05 2009 09:57 AM
    Expert1320 points

    Hi

    I want to use a Continuous Integration (CI) build tool (Hudson in this case) to periodically build our CCSv3.3 project. The idea is that the build tool will automatically build the project, either periodically or in response to a commit to our version control system, and notify the developers by email if the build breaks. We could go on to add automated tests to the resulting build.

    In its simplest form, the tool checks out the required source code and executes a build command. In my case the command is:

    timake myProj.pjt Debug

    Now, the build tool needs to determine whether the build performed by timake passed or failed - it can't interrogate the console output. Typically, one would use ERRORLEVEL or similar to determine what happened.

    So my questions are:

    1) Does timake support ERRORLEVEL or similar?

    2) Does anyone have experience of using a CI build tool with CCS that they would like to share?

    Best regards

    David

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    All Replies
    • Bernie Thompson TI
      Posted by Bernie Thompson TI
      on May 05 2009 10:44 AM
      Verified Answer
      Verified by David Aldrich
      Mastermind41680 points

      David Aldrich
      1) Does timake support ERRORLEVEL or similar?

      It appears that timake.exe does modify the ERRORLEVEL variable, running through some rigged builds it looks like it is 0 on success and some >0 value on failure, so if your goal is to determine a pass/fail situation on the build, interrogating the ERRORLEVEL variable would seem to work. Below is the output of my simple test with the BIOS hello project, with a build setup to fail.

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>ec
      ho %ERRORLEVEL%
      1

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>c:
      \CCStudio_v3.3\cc\bin\timake.exe hello.pjt Debug
      -----------------------------  hello.pjt - Debug  -----------------------------
      Build Complete,
        0 Errors, 0 Warnings, 0 Remarks.

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>ec
      ho %ERRORLEVEL%
      0

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>c:
      \CCStudio_v3.3\cc\bin\timake.exe hello.pjt Debug
      -----------------------------  hello.pjt - Debug  -----------------------------
      [hello.c] "C:\Program Files\C6000Code Generation Tools 6.1.6\bin\cl6x" -g -pdr -
      fr"c:/CCStudio_v3.3/bios_5_33_03/packages/ti/bios/examples/basic/hello/evmDM6437
      /Debug" -i"c:/CCStudio_v3.3/bios_5_33_03/packages/ti/bios/examples/basic/hello/e
      vmDM6437" -i"." -d"_DEBUG" -mv6400+ -@"evmDM6437/Debug.lkf" "hello.c"
      "hello.c", line 34: error: declaration may not appear after executable statement
       in block
      "hello.c", line 34: error: expected a "}"
      "hello.c", line 34: error: identifier "this" is undefined
      "hello.c", line 34: error: expected a ";"
      "hello.c", line 39: error: expected a declaration
      "hello.c", line 40: error: expected a declaration
      6 errors detected in the compilation of "hello.c".

      >> Compilation failure

      Build Complete,
        6 Errors, 0 Warnings, 0 Remarks.

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>ec
      ho %ERRORLEVEL%
      100

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>c:
      \CCStudio_v3.3\cc\bin\timake.exe hello.pjt Debug
      -----------------------------  hello.pjt - Debug  -----------------------------
      [hello.c] "C:\Program Files\C6000Code Generation Tools 6.1.6\bin\cl6x" -g -pdr -
      fr"c:/CCStudio_v3.3/bios_5_33_03/packages/ti/bios/examples/basic/hello/evmDM6437
      /Debug" -i"c:/CCStudio_v3.3/bios_5_33_03/packages/ti/bios/examples/basic/hello/e
      vmDM6437" -i"." -d"_DEBUG" -mv6400+ -@"evmDM6437/Debug.lkf" "hello.c"

      [Linking...] "C:\Program Files\C6000Code Generation Tools 6.1.6\bin\cl6x" -@"Deb
      ug.lkf"
      <Linking>

      Build Complete,
        0 Errors, 0 Warnings, 0 Remarks.

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>ec
      ho %ERRORLEVEL%
      0

      c:\CCStudio_v3.3\bios_5_33_03\packages\ti\bios\examples\basic\hello\evmDM6437>

      David Aldrich
      2) Does anyone have experience of using a CI build tool with CCS that they would like to share?

      Hopefully someone in the community who has done more work with this can offer some feedback on this one.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • David Aldrich
      Posted by David Aldrich
      on May 05 2009 11:28 AM
      Expert1320 points

      Hi Bernie

      Thanks very much for your reply - it was very helpful.

      If anyone has comments on using a CI tool with CCSv3.3 (or CCSv4 Beta) I will be interested.

      BR

      David

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Tim North
      Posted by Tim North
      on May 06 2009 10:05 AM
      Prodigy20 points

      We too use Hudson as a CI server.  We have had no issues with it.  We use the TI code generation tools together with Gnu Make to build everything out of our Configuration Management tool (Subversion).  On our platform (OMAP), the OMAP development board boots off an NFS share so we load the results of the build onto the NFS share for testing.

      Is there something specific not working with Hudson?

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • David Aldrich
      Posted by David Aldrich
      on May 06 2009 10:53 AM
      Expert1320 points

      Hi Tim

      Thanks for your reply. After about a day of using Hudson I now have it doing a build of our CCSv3.3 project. It is working well. I am using timake to do the build and the crucial thing for me was to understand that ERRORLEVEL communicates the success or failure of the build to Hudson.

      Using timake means that we can just specify a CCS .pjt file to build. Developers can then work in the GUI. Why do you prefer gnu make?

      I have no other specific questions. I am just looking for ideas on how to use Hudson.

      David

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Tim North
      Posted by Tim North
      on May 06 2009 11:30 AM
      Prodigy20 points

      Hi David

      Glad to hear Hudson is up and running.

      We use a standard make because we have mixed platform builds.  We make some windows tools, some arm linux and some 64x dsp.

      One thing we did find useful was being able to post the test results back to the Hudson server.  The test board forms an xml message containing the test results (basically a pass / fail and a big test log) and HTTP posts it back to the Hudson server using curl.

      Tim

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • David Aldrich
      Posted by David Aldrich
      on May 06 2009 12:15 PM
      Expert1320 points

      Hi Tim

      Thanks for your comments.

      David

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    TI E2E™ Community
    • Support Forums
    • Blogs
    • Videos
    • Groups
    • Site Support & Feedback
    • Settings
    TI E2E™ Community Groups
    • TI University Program
    • Make the Switch
    • Microcontroller Projects
    • Motor Drive & Control
    Other Communities
    • Deyisupport
    • Designsomething.org
    • beagleboard.org
    • TI on Element 14
    • TI on TechXchangeSM
    Other Technical & Support Resources
    • WEBENCH® Design Center
    • Product Information Centers
    • Technical Documents
    • TI Design Network
    • TI Technical Articles
    • TI Training

    All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

    Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

    Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
    TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

    TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
    embedded processors, along with software, tools and the industry’s largest sales/support staff.

    © Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
    Trademarks | Privacy Policy | Terms of Use