Google

Jul 14, 2008

Migrating from 8051 to ARM

So as long as the 8051 is powerful enough for your needs than you shouldn't move. But if you feels like you needs a change you should move to ARM based architectures for a number of reasons:

  • They are dropping RAPIDLY in price
  • They are FULLY 32-bit cores, 8-bit MCU's just don't cut it some times. For example my DVD player from 2002 has an 8052 MCU embedded in it as a front end (remote control reading, On Screen Display etc.). But newer DVD players from what I've been seeing are either using proprietary cores or ARM based cores.
  • Also budget wireless chipsets and routers use ARM7 and ARM9 chips (probably to do the WEP/WPA encryption). Well I do know the wifi chipset in the PSP uses an ARM9 based CPU.
  • Supported by freeware GNU compilers (GCC for example), makes development rather painless and if you want to code in assembly (GNU assembler really sucks ) then you get free assembler.
  • Tons of very cheap devkits available (that operated close to 60Mhz, a 60Mhz ARM is a very powerful chip, definitely could do MP3 decoding)
  • And of course, the iPod Nano ( and probably all iPod's) uses ARM as a main CPU.
  • The ARM is rapidly gaining ground and with their price going downwards each year, they will soon replace most 8-bit in anything but mundane tasks.

Generally when it comes to MCU's:

PIC - Only use for mundane tasks (keyboard reading, image scanning, etc.) because the single cycle architecture makes this stuff easier.

8051 - Use for more complicated tasks, still a bit limited because of the limited stack space. Handles complicated tasks much more elegantly than PIC.

ARM7/9 - Use for complicated tasks that require a lot of code (Video players, MP3 players, etc.). Handles complicated tasks very elegantly and efficiently. Better tuned for embedded C programming.

Of course I skipped many other great MCU architectures but if you are interested you can find some better ones.


You might be also interested in:


:: MASM 611 SOFTWARE
:: bit reversal and sorting programs
:: Find Square Root of a hexadecimal number in assembly language
:: common intreview questions on 8086

No comments: