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.

absolute beginner

hi,

I would like to learn embedded starting with TM4C launchpad. I am running up against a lack of electronics knowledge. I am completely lost on clock timers, pullup resistors, I/O, pins, ports, all the abbreviations used in manuals... If I take an electronics handbook (eg 'Lessons in electronics' by Tony Kuphaldt) I cannot bridge the gap between elementary circuits, components and the embedded world. Could anyone advise on electronics books, tutorials which cover circuits, components and the link to embedded? I am okay with binary logic, C programming, no problems with that.

Thanks a lot!

Gerard.

  • Hello Gerard

    First you must decide what you want to do with the TM4C Launchpad. That would help anyone in the forum to point in the correct direction.

    Regards
    Amit
  • hi Amit,

    Well, like everyone I guess I would like to learn building intelligent circuits up to the internet of things. But I would like to understand what I am doing, so I am happy to start with very simple circuits with sensors, LEDs, whatever..starting of course with the blinking LED

    Thanks.

    Gerard

  • Hello Gerard,

    I would suggest starting with the Basic Lab

    www.ti.com/.../watch.tsp

    Regards
    Amit
  • When the ARM MCUs first came out - many recommended "against" their use as, "First ever, MCU learning device."   As a small, tech business owner - I find that advice (still) to be valid.

    ARM MCUs are highly complex - while popular - their use and learning support systems - to me - are not the equal of past, far simpler MCUs.

    In college - it is normal/customary to, "Start w/fairly basic courses" - and only gradually/controllably - progress to the "more exotic."  This "tried/proven" method insures that you've built an adequate foundation - something which can NEVER be achieved by starting, "Too high" and/or any vendor's (sales seeking) lab.

    There must be schools - perhaps universities - nearby.  I'd bet that your visit - or search of their web-sites - would prove productive.  Trade schools also build good foundations - they're far more likely to answer your many (proper) questions.

    Becoming a skilled investigator is most important - will aid you in ALL areas of life - long into the future...   Your good posting indicates that while you've "started" the investigative process - you've more work to do - and "lower hanging fruit" (not ARM) proves a superior choice...

  • ARM MCUs are highly complex - while popular - their use and learning support systems - to me - are not the equal of past, far simpler MCUs.

    IMHO, both approaches have their pros and cons.

    While smaller MCUs are simpler and easier to understand, their design is often rather ideosyncratic. Think of the Microchip PIC16/18 architecture, with hardware stack of 31 byte (less than optimal for C compilers), and just one interrupt vector. And peripherals tend to be rather simple (no DMA or FIFOs), forcing one to do most work with the core. Additionally, the (IMHO rightly) despised direct-register-access method is very common there - just check the MSP430 sub-forum.

    For sure, Cortex M is more complex (a pity that TI has no M0 to offer), but, especially with CMSIS, the design approach is much more structured. And, with the appearance of the Cortex M, there was a fundamental change in the MCU world - most of the performance is now in autonomous peripherals, and not in the core. (Some groups just don't get it - the infamous Arduino-circle question "How fast can I toggle that GPIO pin ?" is speaking volumes in this regard...). Selecting the right MCU for an application can mostly be reduced to selecting the right peripherals.

    To come to the point - one should choose wisely, else one might get on the wrong track ...

  • Thanks for all your suggestions. Maybe I should add that I do not have to understand the design concept of the controller in full detail. Compare it with a pilot, he knows how to operate the plane, he knows what the readings mean but he would never be able to design a plane. So I just want to be the (rookie) pilot of the microcontroller. But I feel I need some electronics understanding. If you say stay away from the Cortex, start with something more simple, what would be your advice, Arduino?

    Thanks
    Gerard
  • If you say stay away from the Cortex, start with something more simple, what would be your advice, Arduino?

    First, I'd like to state that my posts are just my own, private opinion - I'm an engineer, not a teacher.

    So, I would not be so "radical" to recommend you "away" from Cortex M. However, Cortex M0 controllers are usually simpler, and would be more appropriate to start with. Some are even available in PDIP (DIL) casings. But, as said, it's a pity TI doesn't have any. And I got the impression that the MSP430 line is about to be phased out in favour of the MSP432 (also a Cortex M4).

    Honestly, Arduino has a rather bad reputation amongst professionals, and IMHO for good reasons. The available programs/examples use to make a chaotic impression, just like old BASIC spaghetti code. And more important, it hides the internas of the peripherals from you.

    Since you already arrived here, I would suggest to download the TivaWare examples, Launchpad documentation and TM4C datasheet, and see if you are comfortable with it. If so, you could start with example projects for simple peripherals.

    As alternatives, I would suggest a MSP430 eval board, or a low-pincount Cortex M0 evaluation board. The latter perhaps from NXP, ST, or Atmel. BTW, this vendors have their legacy 8-bit/16-bit MCU lines, too.

    IMHO the time of 8-bit microcontrollers is almost over. With Cortex M0 and other 32-bit alternatives being equally cheap, the industrial customer base is beginning to break away - and sales figures are most important ...

  • I remain in favor of "8051 class" MCUs as "starters" - these enabled me to past co-found - take tech firm public - that's quite a pay-off. (a gift which keeps giving - btw)

    I do agree w/f.m. that Cortex M0 is a superior (by far) first ARM choice - and support the various vendors which f.m. noted. (our favorite is "S" brand - to maintain political correctness)

    I differ w/f.m. in suggesting dip package - my firm "cleaned out" disty stock of ARM M0 Eval boards - there is no way we could design, manufacture, test/verify for (anywhere) near the "loss leader" price (sub 10 (USD) Q=1) charged. (and this even w/our firm enjoying "pro" Pick-n-Place & 20' multi-stage, reflow oven.)   I'm "dead against" your inserting your "unknown" construction attempts into your learning process.   Enough WILL go wrong - shoddy, intermittent construction techniques should NOT be invited to this party!   (especially as eval boards are so inexpensive - and reliable - and well designed!)  (but for signal groupings)

    These M0 boards - and this vendor's M4 boards - may "drop into" a mother board which properly "orders signals" (by class & by type) which serves as a huge improvement over (all) vendors' "Wild West" (i.e. effort free) signal distribution methods. (i.e. NO methods - shortest pcb trace path - period!)

    Suggest that you review 8051 boards vs. M0 - AND a visit to local schools - or web-sites of leading universities - most always proves useful.
    Both poster f.m. and I advise that learning suffers when "rushed." Small gulps - learning by (really) doing - and taking the time to clearly and properly, "Describe your issue" (rather than brain-dead, "Does not Work!) will, "Speed, Ease & Enhance" your learning efforts.

    And you may further boost your "learning" by "Green Verify click" both for f.m.'s & this reporter's postings - done freely - in your behalf...