Legenda

  • MCU –> Micro Controller Unit
  • MPU –> Micro Processor Unit
  • OE –> openembedded
  • NVM –> Non Volatile Memory
  • MMU–> Memory Management Unit
  • PMIC –> Power Management Integrated Circuit

Dettagli

OE

OE (openembedded) è il build system su cui si basa il progetto Yocto. È un insieme di molteplici script python che definiscono la logica che possiamo utilizzare per poi realizzare i nostri recipe.

MCU

Una MCU (Micro Controller Unit), da non confondere con Marvel Cinematic Universe, o microcontrollore è a tutti gli effetti un computer su un singolo chip. Al suo interno integra CPU, RAM, NVM (memoria non volatile) e alcune periferiche comuni (timer, ADC, UART). Generalmente viene programmato andando a flashare un programma compilato all’interno della sua NVM.

MPU

Una MPU (Micro Processor Unit) o microprocessore segue lo stesso principio di una MCU, ma integra molte più periferiche, soprattutto quelle necessarie per l’esecuzione di un sistema operativo. Tra queste troviamo:

  • MMU (Memory Management Unit), che gestisce la conversione di indirizzi di memoria virtuali a indirizzi fisici e controlla l’accesso da e verso la memoria RAM
  • PMIC (Power Management Integrated Circuit), che regola le complesse sequenze di alimentazione della CPU e delle varie periferiche
  • molteplici bus
  • molteplici controllori di memorie esterne

In generale, una MPU viene scelta per progetti che richiedono:

  • GUI complesse, rendering video, touch avanzato
  • Esecuzione contemporanea di più processi (Web server, video, logging)
  • Sviluppo in linguaggi di alto livello (Python, Java) su OS