[arm] come entrare nel mondo dei arm

niki77:
A tal proposito potresti consigliarmi qualcosa da leggere?

Difficile consigliare un testo specifico, sia perché ARM in realtà è un core dato in licenza ai vari produttori, che poi lo implementano nello loro mcu, sia perché esistono molti core ARM diversi.
Un buon testo per iniziare, parlando di mcu con core Cortex M3, ma anche M4, è "The?definitive?guide?to?the?ARM?Cortex-M3" di "Joseph?Yiu", ISBN?978-1-85617-963-8", lo trovi su Amazon in edizione elettronica a 24$.
In tutti i casi un buon punto di partenza sono sempre i data sheet della mcu, il reference manual delle mcu, le varie application note e quasi tutti i produttori rendono disponibile il reference manual del core utilizzato, ST fornisce anche librerie pronte, in sorgente, e varie applicazioni di esempio.

MikroC lo usavo diversi anni fà per i micro della serie 16 e 18 Microchip

MikroC si è evoluto moltissimo, adesso è diventato un buon compilatore utilizzabile anche in ambito professionale, oltre alle vaste librerie, purtroppo solo precompilate, è possibile accedere a tutti i registri macchina come con gli altri compilatori, nelle vecchie versioni era fattibile solo in parte, se non niente del tutto, perché non erano mappati.
La cosa bella di MikroC è che utilizza lo stesso IDE, e le stesse librerie, salvo integrazioni per le differenze tra mcu, per tutti i micro che supporta, parliamo di PIC, dsPIC, PIC32, AVR e ora anche gli ARM Cortex M3 e M4 di Stellaris e ST, in futuro dovrebbe arrivare il supporto anche per gli NXP.
In pratica un programma scritto per un AVR/PIC lo puoi usare anche su un ARM quasi senza dover modificare nulla, per contro non è un ANSI C e sebbene molto migliorato rispetto alle precedenti versioni l'eseguibile generato non al livello di prestazione di quelle di un eseguibile generato con un compilatore Microchip o Hitec.
Personalmente utilizzo il MikroC per i PIC serie 12 quando ho problemi che posso affrontare in C piuttosto che in assembly, su queste piccole mcu spesso si usa l'assembly per via delle ridotte risorse di ram e flash.