Grenzen wir mal Deine Frage auf PIC32 ein - das ist das Gegenstück zu
beispielsweise Cortex M3. Von der Rechenleistung und der
Speicherausstattung liegen beide in der gleichen Größenordnung.
Derartige Prozessoren programmierst Du in der Regel in C oder C++,
Assemblercode ist die absolute Ausnahme und brauchst Du nicht unbedingt.
Von daher wirst Du keinen Unterschied bemerken, ob Du einen MIPS-Kern
oder einen Cortex M vor Dir hast. Der Compiler verbirgt das vor Dir.
Der große Unterschied zwischen den einzelnen Herstellern liegt in der
Peripherie. Hier wirst Du lernen müssen, dass es nicht DEN Cortex M3
gibt, sondern es gibt einen Haufen von Herstellern, die alle
unterschiedliche Controller produzieren. Die einzige Gemeinsamkeit der
Hersteller untereinander ist der CPU-Kern mit Registern, ALU etc und ein
minimaler Satz an Systemperipherie wie Interruptcontroller,
Debuginterface, einen SysTick Timer und noch ein paar Sachen mehr. Alles
andere ist von Hersteller zu Hersteller völlig unterschiedlich. Heißt
also: SPI, I2C, Timer, UARTs, ... sind bei jedem Hersteller anders
anzusprechen, die Hardwaretreiber musst Du für jeden Hersteller und
teilweise auch für jede Serie neu schreiben, und der Aufwand dafür ist
genauso groß wie der Sprung von PIC32 auf AVR32. Das betrifft unter
anderem auch Sachen wie Bootloader, Flash-Programmierverfahren und
anderes.
Folgerung: Es gibt nicht "die ARM Familie", und deswegen ist auch Deine
Frage falsch gestellt. Du kannst nicht PIC32 mit ARM vergleichen,
sondern nur z.B. PIC32 mit STM32F3 oder mit NXP18xx oder mit SAM3xxxx
oder einer anderen Cortex M3-Familie eines bestimmten Herstellers.
Solltest Du Dich jetzt mit irgendeinem ARM beschäftigen, wenn Du jetzt
PIC32 hast? Kommt drauf an. Wenn Du jetzt den PIC32 durch einen
STM32F103 beispielsweise ersetzen würdest, hättest Du gemessen am
Aufwand nicht wirklich viel gewonnen. Das ist dann wie Coke gegen Pepsi.
Wenn Du jedoch spezielle Peripherie wie beispielsweise ein
TFT-LCD-Interface brauchen würdest, oder wenn Du beispielsweise
DSP-Anwendungen im Sinn hast, für die die Befehlssatzerweiterung des
Cortex M4 von Vorteil wäre, oder wenn Du Linux auf ARM haben möchtest
(z.B. auf dem Cortex A8 eines BeagleBoneBlack), dann nur zu.
fchk