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.

TM4C123GH6PM: Where to start with TM4C123G LaunchPad

Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: ASH

Hi,

I purchased the MCU TM4C123G LaunchPad™ Evaluation Kit. BUt Now I am not able to understand from where I should start.

I installed the keil also but I am not able to see the TM4C123GH6PM program there.

Is there any tutorial available ? I am beginner.

Thanks

Ash

  • ASHU

    I would suggest you use Code Composer Studio instead of Keil as a starting tool. Keil has its advantages, but for learning the basics and getting support in this forum, CCS will likely to make your learning much easier.

    Basics:
    - Install CCS
    - Download and install Tivaware (both can be found at TI's site)
    - Inside CCS, go to "import CCS project". Locate the examples folder in your installed Tivaware structure, and import one of the basic projects, such as the led blinker. Compile and run, you should be connected to your launchpad, and able to debug the program while executing it in your board.
    - Locate the DriverLib User Guide in your /docs folder of Tivaware installation, open the pdf in a tablet, turn off your computer, go to a park with that table, sit under a tree and browse the user guide for a few hours, to get an idea of how many peripherals are available, and how many driver functions are ready for you to use them...

    Once this is achieved, you can start playing with all peripherals, such as UART, GPIO's, Timers, and so on.

    Bruno
  • Not too long ago - beginners "were" advised - "NOT to START w/ARM" (due to their great complexity) which too often - "simply overwhelms!"

    Attempting "Kilimanjaro" - as first climb - leaves one (most always) "bloody/bruised."     Simpler/lower - devices/mounts abound - poster's local "tech resources" should be consulted.   (as they will prove immensely helpful - "Lone Ranger" (alone) learning is a hard slog - never famed as "quick/efficient/injury free.")

  • Hello ASHU,

    In addition to Bruno's excellent advice (thanks Bruno!), there is a video series for this LaunchPad as well on training.ti.com: training.ti.com/tm4c123g-launchpad-workshop-series-1-15-introduction

    Also cb1 is accurate about the perils of starting with ARM and TM4C... that is quite adventurous for a 'starting MCU'. You may want to look if MSP430 might be a better Launching point for your MCU adventures, they also have a lot more 'low level' material/examples available.
  • @Ralph,

    Greetings - thank you - may I, *** LIKE ***   (I've "clicked" upon (sigh) just, "open air")

    While Bruno & I (both) pilot (small) air-craft - neither of us considered, "Starting w/a JET!"     (lesser mountains/craft/even MCUs - provide far easier, reinforcing, knowledge-building, "experience!")

    Full appreciation of ARM's power (CAN) be obtained - but almost universally - NOT as user's, "first effort!"    (i.e. endless frustration, 1K+ page manuals, "dead-ends" - do NOT, "Appreciation Build...")

  • Hummm...
    I was about to stay put, but suddenly too many messages here are giving the same opinion about the usage of ARM as an initial platform, and I disagree to their content.
    There is no more complexity in starting zero to ARM than zero to Arduino or to MSP43x.
    Blinking an led takes the same in any of those platforms, specially when using driver libraries such as xxxxWare.
    The fact that the clock of an ARM oscillates a bit faster won't make it a jet... And still, I could not really "see" the clock of MSP430's, even if they we running at 16MHz.
    It should be more like comparing to learn to fly in a Piper Cub or in a Cirrus SR22... Except for the first few minutes of awe, both can be used for learning, and it will take the fresh pilot about the same amount of hours to be able to go on solo.
    Cheers
    Bruno
  • I cannot definitely ID Cirrus SR22 - but if that's the model w/the Auto Pilot - OMG! Great craft.

    We must "Agree to Disagree." How often have users (here) failed to, "First Enable their Peripheral" - thus LAND (none too SOFTLY!) in the FAULT ISR! And then what - can they even (hope) to find the "OMG - I'm in Fault ISR - Aha - Vendor has provided (some) manual help!"

    There are multiple other reasons - some espoused @ top U.S. Universities - urging less than "Kilimanjaro" as first climb. (ARM too...)
  • If you don't enable the peripheral in ARM you get in trouble...
    If you don't disable the watchdog in a MSP430 you get in trouble...
    All trades have their underlying "secrets"...
  • Bruno Saraiva said:
    If you don't disable the watchdog in a MSP430 you get in trouble...

    Yet - did not this vendor "Acquire" that MCU (from a Euro firm, as I recall) so that's (rather) weak "support" for your position.   (i.e. that restriction was "inherited" NOT specified - by this vendor!)

    Bruno Saraiva said:
    All trades have their underlying "secrets"...

    If we may assume that, "by trades" - you refer to MCUs - there are few such "unexpected restrictions" w/in 8051, 68xx, and Z8.    To my knowledge - there were NO (equivalent) - IMPOSSIBLE TO AVOID "GOTCHAS" - w/in any of those 3 (past & continuing) popular MCUs.

    As you invoke "trades" - what about the "trade" of Engineering - or Law?    In all Engineering Schools with which I've had dealings (we sell to more than 20 such schools - on 3 continents) there are ALWAYS "PRE-REQUISITE COURSES" - which must be taken and passed (w/a suitable grade) - prior to "Students Entry" to the more demanding, advanced courses!     Similarly - Law School emphasizes "contracts" during the first year - so that law students are (properly) prepared for the "greater legal theories/complexities" - which follow!   (Years 2 & 3)    

    Are all such institutions wrong in demanding such, "proper building of an educational foundation" - so that their students may succeed - when the "more difficult/demanding" arrives?

    Let's "broaden" this "Requirement for Preparation" to (even) younger students - looking at "math students."     Is it often that Calculus is introduced - and seriously taught - prior to Algebra?

    You of course, "Know all this" - you cannot refute the broad, general nature & power of these arguments!

    Following your "position" - would you choose a "freshly minted, so young MD - to perform (for his/her FIRST TIME) a "Life-Saving, complex operation" - upon your family member?    Clearly you would NOT!

    While it IS fun to, "play a contrarian" - REAL FACTS - IRREFUTABLE FACTS - DO TEND to "Get in your way!"

  • I tend to agree with Bruno on this. The difficulty, when using the TIVAWare API, of using the TM4Cs is not greater than that of 'simpler' micros. In fact it's that abstraction that keeps the effort much the same. Although some peripherals are more complex than on other micros, some are not. Even some that have more available complexity don't force you to manage that. And some Arms have peripherals no more complex than older micros. Indeed some older micros have very complex peripherals (Old Philips 8051 bit based CAN peripherals come to mind).

    cb1_mobile said:
    If we may assume that, "by trades" - you refer to MCUs - there are few such "unexpected restrictions" w/in 8051, 68xx, and Z8.

    8051 had a lot of weird limitations with addresses. So many that I'm not sure a compliant C compiler was ever developed for the architecture. There was/is a legion of incompatible vendor extensions to deal with 8051 eccentricities. The ongoing replacement of 8051s with ARM cores is to be celebrated.

    The 68xx has, as near as I can tell, ceased to exist. Certainly 6811, 6805 and 6812s are no more. To be fair here is an independent company making 6811 ASICs. These were pretty clean as I recall with only a few now forgotten oddities.

    Now if I remember correctly, and it's been a long time, the Z8 was the base architecture of a micro that I developed special macros for to enable the particular register bank that happened to work for that board. Not entirely sure that was the micros fault but it did seem rather sensitive. And the fact that the register banks existed was a sufficient oddity in itself.

    And not mentioned is the PIC which was too many peoples introduction to micros.

    I think ARMs are probably the best available introduction, as long as you don't use complex peripherals like camera connections (I'd even stay clear of IIC initially). It's also a base from which you can start at a fairly abstract general level and then expand to more complex scenarios/peripherals, on to register level programming details (someone has to write the libraries) and even assembly.

    Robert

    Another issue is the cadre that expect to use something like a TM4C to develop a real-time facial recognition IOT device as their first embedded project.

  • If we look at the number of "Peripheral Registers" - the ARM MCUs exceed (simpler, 8 bit MCUs) by "multiples."     (most always)    Finding the "right" register - sometimes even the correct bit (when there are 32 of them - rather than the far simpler 8) - points to the greater ease & learning comprehension (and of course learning "speed") favoring simpler MCUs.

    There is a unique European board designer/producer, "Olimex" - maker of "MANY" different vendor's ARM MCU boards.    (surprisingly - none from this vendor - I do not know why.)    Their ARM boards range from the "very simple" to reasonably complex - thus they "surely" have a strong motivation to sell.   (especially to sell ARM MCU boards...)     

    And - despite that "Sales desire" - they inform their clients, "Re: Suitability of ARM MCUs for beginners:

    "MINUS" Relatively complex for beginners - a lot of multiplexing, a lot of low-level programming and understanding required (despite the library packs released by chip manufacturers). Definitely this architecture is not suitable for 'first steps in microcontrollers'

    This "cautionary guidance" may be viewed/confirmed @ " https://www.olimex.com/Products/ARM/ 

    That Olimex makes such a statement - even though it likely injures their Sales - proves most powerful.

    One more "complexity" - (very) notable here - the "Over-Occurrence" of JTAG Lock-Out!     I cannot recall being (similarly) "Locked Out" from any of our past, 8 bit MCUs.

    It should be obvious that the ARM MCU presents a high hurdle - one especially difficult for a "beginner" - to overcome...