ARM Assembly Language too difficult?

Thread Starter

jean28

Joined Sep 5, 2012
76
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!
 

Papabravo

Joined Feb 24, 2006
21,225
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
 

MrChips

Joined Oct 2, 2009
30,802
If you want to learn to write code in ASM, start with a simpler mcu such as Atmel AVR, TI MSP430 or Freescale M9S08.
 

MrChips

Joined Oct 2, 2009
30,802
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.
 

Thread Starter

jean28

Joined Sep 5, 2012
76
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.
Then out of your experience, which do you suggest the most? Good to know there's a professor in the forum! :)
 

MrChips

Joined Oct 2, 2009
30,802
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.
 

MrChips

Joined Oct 2, 2009
30,802
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.
 

Thread Starter

jean28

Joined Sep 5, 2012
76
Arduino is ok for starters. But you need to look deeper into the mcu to learn how it works.
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 )
 

Thread Starter

jean28

Joined Sep 5, 2012
76
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.
That's insane. So the datasheet was actually wrong?
 
Top