ARM Assembly Language Programming for Raspberry PI

linri arm asm asembler raspberry

Le schede Raspberry Pi sono schede economiche ma potenti che utilizzano processori Arm;pPossono essere programmati in assembly per efficienza.

Nicer Land rappresenta un sito che offre numerosi testi online con riassunti e codici sorgente pronti da scaricare su molteplici argomenti: Raspberry, Arduino, programmazione ATMEL, ARM hardware, simulatori e così via.

Nella recensione  di oggi parleremo del testo ARM Assembly programming with Raspberry PI using GCC.

Il link

Gli autori: Sepehr Naimi, Sarmad Naimi, Azalia Yaghini, Muhammad Ali Mazidi

Si tratta di una pubblicazione a otto mani, nata probabilmente dall’esigenza di mettere a fattor comune le esigenze di quattro programmatori e rendere più semplice il cammino professionale dei successori nel gruppo di sviluppo.

Sepehr Naimi ha iniziato a usare il computer imparando i linguaggi Basic e C quando aveva 13 anni. Ha frequentato l’università BIHE e ha conseguito il Master in Ingegneria informatica. Tiene corsi di microprocessore, microcontrollore ed elettronica. Le sue aree di interesse includono microcontrollori, sistemi operativi, RTOS, sistemi embedded, meccatronica e robotica.

È coautore di alcuni libri di testo ampiamente utilizzati, tra cui “Il microcontrollore AVR e i sistemi integrati” e “Il microcontrollore del braccio STM32F103 e i sistemi integrati”.

È interessato alla storia e alla letteratura, e il sito dal quale è possibile ottenere gli estratti (Nicer Land) è di sua proprietà.

Il formato:

Questo libro tratta la programmazione di Arm Assembly per le schede Raspberry Pi. Sebbene le istruzioni Arm siano standard, le direttive dell’assemblatore variano negli assemblatori GCC e non GCC. In questo libro viene spiegato come scrivere programmi assembly Arm in Linux e nei compilatori basati su GCC. Questo libro offre anche una visione generale dell’architettura Arm e Raspberry Pi.

Tabella dei contenuti:

  • Capitolo 1: La storia di ARM, Raspberry Pi e microprocessori
  • Capitolo 2: Architettura ARM e programmazione in linguaggio assembly
  • Capitolo 3: Istruzioni e programmi aritmetici e logici
  • Capitolo 4: Branch, call e loop in ARM
  • Capitolo 5: Aritmetica dei numeri interi con segno
  • Capitolo 6: Mappa della memoria ARM, accesso alla memoria e stack
  • Capitolo 7: Pipeline ARM ed evoluzione della CPU
  • Capitolo 8: Istruzioni ARM e Thumb
  • Capitolo 9: Aritmetica in virgola mobile ARM
  • Capitolo 10: Interrupt ed eccezioni
  • Capitolo 11: Cache in ARM
  • Appendice A: Descrizione delle istruzioni ARM Cortex-A
  • Appendice B: Direttive dell’assemblatore ARM
  • Appendice C: Macro
  • Appendice D: diagrammi di flusso e pseudo-codice
  • Appendice E: Passaggio di argomenti in funzioni

 

A chi è diretto

Due programmi di esempio relativi alla gestione di numeri in virgola mobile

Si tratta di un testo utilizzato nelle lezioni universitarie di specializzazione (ed il sito Nicer Land offre i link alle presentazioni Power Point e ai codici di esempio), quindi l’audience è per forza di cose limitata a chi veramente desideri approfondire la programmazione del Raspberry PI utilizzando il linguaggio Assembler. Trattandosi di un processore relativamente semplice, è spesso possibile ottenere notevoli incrementi di efficienza semplicemente traducendo il codice C classico lavorando su interrupt, eccezioni e gestione ottimizzata della cache, ma la parte del leone viene effettuata nella comunicazione I/O (GPIO), in quanto il pilotaggio ed il monitoraggio di ogni singolo bit trasmesso e ricevuto diventa un gioco da ragazzi.

 

Join our groups on Telegram…

… and don’t forget our social channels!

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.