ARM Assembly Language too difficult?

Discussion in 'Embedded Systems and Microcontrollers' started by jean28, Sep 10, 2013.

  1. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    Hey guys,

    I'm taking a course on microcontrollers this semester where we have to choose an MCU and build an embedded system. We were thinking about choosing the Tiva C micro from TI. However, lots of people have told us that it is not an excellent choise because of it's ARM architecture.

    We have to program lots of our stuff in assembly language and people say the assembly language of ARM is more difficult than others. Is that really true?

    Thank you!
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,148
    1,791
    It is no more or less difficult than any other assembly language of the last 50 years. Like anything else there is a big difference between "code" and "really good code". I would not expect much in the way of "really good code" from a 1 semester class. I would expect a significant amount of "working code".

    In the cosmic scheme of things there are three steps:
    1. Make it work
    2. Make it fast
    3. Make it elegant
     
  3. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    If you want to learn to write code in ASM, start with a simpler mcu such as Atmel AVR, TI MSP430 or Freescale M9S08.
     
  4. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    I already have experience programming in ASM using the MSP430. Now my team and I plan on moving to the Tiva C.
     
  5. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    Fine. If you want to work with the ARM chip, move on to programming in C.
     
    jean28 likes this.
  6. Eric007

    Senior Member

    Aug 5, 2011
    1,044
    33
    You forgot PIC MCUs!:D
     
  7. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    No I didn't and don't get me started!:D
     
  8. Eric007

    Senior Member

    Aug 5, 2011
    1,044
    33
    I know you didn't...and I posted that on purpose to tease you...:D:p
    I know you don't like PICs...
     
  9. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    Why don't you like PIC's?? :D
     
  10. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    I have worked extensively with them in the past. The list is too long of all the things wrong with the design.
    I teach ASM programming. I would never give it to my worst enemy to have to learn.
     
    Eric007 likes this.
  11. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    Then out of your experience, which do you suggest the most? Good to know there's a professor in the forum! :)
     
  12. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    This is a moving target. New MCUs appear on the market daily.

    You have to make the distinction between a newcomer wanting to learn about MCU
    architecture, hardware and software versus max performance.

    If you want performance, consider an ARM processor as you have already discovered.

    If you want to learn the basics of microprocessor technology, Freescale HC11 or HC12 is one of the cleanest designs. Atmel AVR comes a close second.

    For simply getting started at a low cost, TI MSP430 LaunchPad is a good choice.
     
  13. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    Arduinos never get the nod if you want to genuinely learn about MCU's/MPU's, right?
     
  14. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    Arduino is ok for starters. But you need to look deeper into the mcu to learn how it works.
     
  15. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    Once I had to reverse engineer and debug an embedded system that was failing intermittently. It was using a Microchip PIC.

    I traced the problem to a flawed interrupt system in the design of the chip and also an I/O interrupt pin that should have had a Schmitt trigger input, while all the other GP I/O pins did. Go figure.
     
  16. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    Sorry for all the questions. I'm an undergrad in computer engineering and my interest in MCU's and embedded systems is growing more and more each day. I've been looking for a good tutorial online for ASM programming for ARM architecture. Is there any specific place that you suggest your students to start off? Or at least a place where I can find the instruction set of ARM ASM in a clean way?

    Thanks again (and probably for the last time as well :D )
     
  17. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    That's insane. So the datasheet was actually wrong?
     
  18. MrChips

    Moderator

    Oct 2, 2009
    12,446
    3,362
    jean28 likes this.
  19. jean28

    Thread Starter Member

    Sep 5, 2012
    76
    0
    I've seen various pages including that one. Guess I'm looking for some page that shows an example done exclusively with a Tiva C, but since it is new I'm sure it's not easy to find one yet.

    I'll use that one for reference. Thanks a lot!
     
Loading...