• 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 » Microcontrollers » Stellaris® ARM® Microcontrollers » Stellaris® ARM® LM3S Microcontrollers Forum » Need a StellarisWare "Blinky" Example
Share
Stellaris® ARM® Microcontrollers
  • Forum
Options
  • Subscribe via RSS
Helpful Stellaris® LM4F Series Links
  • LM4F Series
  • Stellaris PinMux Utility
  • Stellaris® LM4F120 LaunchPad
  • LM4F MCU Applications
  • LM4F MCU Video
  • ARM Cortex-M4F Whitepaper
  • Stellaris MCU Brochure
  • LM4F232 Eval Kit
  • Forums

    Need a StellarisWare "Blinky" Example

    • Andy Neil
      Posted by Andy Neil
      on Mar 14 2012 18:55 PM
      Guru31975 points

      Kendall Witte
      In my opinion, it is regrettable that blinky.c doesn't use the Stellarisware routines to configure and update the GPIO that drives its LED. 

      http://e2e.ti.com/support/microcontrollers/stellaris_arm_cortex-m3_microcontroller/f/471/t/171912.aspx

      Indeed. And many others have said the same thing - many times!

      Is it not, then, about time that a "Blinky" example was produced which does use the Stellarisware routines to configure and update the GPIO that drives its LED?!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • TI Alex
      Posted by TI Alex
      on Mar 15 2012 15:12 PM
      Expert8210 points

      Andy,

      The concept of a "blinky" example is to be a simple, easy program. If "blinky" uses StellarisWare routines, then the DriverLib would need to be included which bloats the example and makes the example more complicated (although not by much).

      I would challenge anyone who says it takes them longer than 10 minutes to implement "blinky" using StellarisWare - which also makes for a fun exercise :).

      Regards,

      Alex

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andy Neil
      Posted by Andy Neil
      on Mar 15 2012 16:23 PM
      Guru31975 points

      I think you're entirely missing the point there!

      Stellaris Alex
      The concept of a "blinky" example is to be a simple, easy program

      And the purpose of a StellarisWare "blinky" example is to be a simple, easy StellarisWare program!

      Stellaris Alex
      If "blinky" uses StellarisWare routines, then the DriverLib would need to be included

      Indeed - so the purpose of a StellarisWare "blinky" example is to illustrate exactly that without over-complicating the issue with a compex application!

      Stellaris Alex
      I would challenge anyone who says it takes them longer than 10 minutes to implement "blinky" using StellarisWare

      I think this very forum bears ample testimony to the fact that there are very many users failing that challenge by a very long way!!

       

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • TI Alex
      Posted by TI Alex
      on Mar 15 2012 18:17 PM
      Expert8210 points

      Andy,

      Andy Neil
      And the purpose of a StellarisWare "blinky" example is to be a simple, easy StellarisWare program!

      This is not necessarily true - and clearly people's opinions differ ;).

      You know as well as I do if "blinky" was written using DriverLib, someone else would be here asking me for a simple application that uses direct register writes or arguing "blinky" should be written without a library.

      Maybe we should release two versions of "blinky" ... ?

      Regards,

      Alex

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • slandrum
      Posted by slandrum
      on Mar 15 2012 18:53 PM
      Mastermind9510 points

      There should maybe be two versions of several of the examples, so that people can see how to do them with StellarisWare, and people can see how to do them with direct register writes.

      Blinky teaches some bad lessons that cause problems when people try to learn from it.  Its smallness is part of its problem.  When enabling the GPIO port, a direct write is done the the register, not an OR.  It's not made clear that this write will enable one device and disable others.  An example that enabled more ports, or that had better comments about exactly what was going on would be helpful.

      It seems that in general people that don't want to use StellarisWare also don't think to look at the source for StellarisWare for examples and documentation of how to access the hardware registers, so those people need other examples of the correct way to do direct register writes to perform the things they need to do.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andy Neil
      Posted by Andy Neil
      on Mar 16 2012 01:54 AM
      Guru31975 points

      Stellaris Alex
      Maybe we should release two versions of "blinky" ... ?

      Yes - that was exactly my suggestion!

      Sorry if that was not clear.

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Andy Neil
      Posted by Andy Neil
      on Mar 16 2012 15:12 PM
      Guru31975 points

      slandrum
      There should maybe be two versions of several of the examples, so that people can see how to do them with StellarisWare, and people can see how to do them with direct register writes.

      Yes - that would be good.

      slandrum
      Blinky teaches some bad lessons that cause problems when people try to learn from it.  Its smallness is part of its problem

      TI/Stellaris is not alone in that!

      slandrum
      people that don't want to use StellarisWare also don't think to look at the source for StellarisWare

      This is true - but bizarre!

      One would have that those wishing to use direct register access (rather than APIs) would be the hardened, advanced users - but to such users, surely, looking at the StellarisWare source would be such an obvious approach?!

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • cb1_mobile
      Posted by cb1_mobile
      on Mar 16 2012 15:56 PM
      Guru21970 points

      Andy Neil

      slandrum
      There should maybe be two versions of several of the examples, so that people can see how to do them with StellarisWare, and people can see how to do them with direct register writes.

      Yes - that would be good.

      Beware of what you request!  Good for whom - and for how long?   And have you properly considered the "unintended consequences" of such additional Direct Register (DR) examples?

      LMI/TI have a large and on-going investment in StellarisWare - diluting this has risk - must come from high up.  (if at all)   Believe StellarisWare is by far - "best in class" - isolates both new and entrenched users from critical mistakes while saving both (novice/experienced) from the rather severe demands of multiple register identification, analysis and verification.  Effective use of DR methods forces far greater effort upon the user - and upon every single "back/forth" forum posting due to intricacy, possible register linkages & much greater detail. 

      If "several examples" are offered - which ones?  How do you ever cap this - or even can you?  How do you illustrate the necessity to systematically read/review 20, 30, 40 or more registers - with the goal of discovering "just which ones" truly influence the user's particular need/application?  The admittedly "too short, imprecise" blinky examples surely "bumped against" this dilemma - suspect their shortness won out over the demands/expectations/time required for proper, detailed explanation...  What now has really changed - to justify such re-think, re-direction of TI tech staff?

      Surely "DR Use/Enhancement" has its place - but I doubt that it is via "another few examples" and then "woven" into this forum.    All 500+ pages of the current SW-DRL-UG's drawings, descriptions, charts, and examples are insufficient to preclude 10-20 requester posts on a near-daily basis.  A seeming encouragement of "DR Use" may open a torrent of vastly more demanding, "DR support," requests - even when DR's selection over StellarisWare is questionable.  (i.e. use restricted to code execution speed-up or size reduction goals - my read of such forum posts shows very minimal "justification" for DR use - thus both User & forum helpers - beware!)

      In general - StellarisWare must be the "first/best choice" - the business case for StellarisWare dwarfs all others.  Enabling DR & other, competing methods forces perhaps an unfair/unplanned - new workload upon TI tech staff - especially if properly explained/detailed...  (and then - how long until raw Assembler examples & detailed explanations "bubble-up?")

      Report Abuse
      • Reply
      You have posted to a forum that requires a moderator to approve posts before they are publicly available.
    • Todd Martin
      Posted by Todd Martin
      on Aug 25 2012 16:43 PM
      Prodigy10 points

      +1 for a StellarisWare version of the blinky example.

      I've learned the hard way that I can't mix-n-match code from the blinky example with other StellarisWare examples. Now I've got to find a good example for how to use the GPIO library just to enable/use some LEDs on my dev board.

      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