Nel software, cosa significa il termine "Embedded"?

8

Quindi ho cercato di approfondire la mia conoscenza della programmazione hardware embedded e di livello inferiore, tuttavia, ogni volta che cerco lavori che menzionano "embedded" è sempre roba di alto livello. Per me, questo non ha molto senso.

Quindi cosa significa "incorporato"? Quando penso a embedded penso alla programmazione dei microcontroller di livello inferiore e così via. Se incorporato non è il titolo corretto per questo, allora cosa dovrei cercare?

    
posta durron597 04.04.2011 - 23:47
fonte

3 risposte

4

Definisci cosa intendi per roba di alto livello. Scrivere driver e qualsiasi altro tipo di software che comunica con l'hardware è probabilmente ciò che la maggior parte delle persone pensa quando si parla di software incorporato. Mentre questo è parte di esso, questa è solo una piccola parte. Una volta che hai tutto ciò, c'è ancora l'intera applicazione da scrivere che probabilmente non parla mai direttamente con l'hardware e più probabilmente nella maggior parte dei casi questa è la maggior parte dello sforzo di sviluppo. Questo può a un certo livello essere paragonabile alla programmazione a livello "più alto". Tuttavia, nel mondo embedded probabilmente stai lavorando con alcuni vincoli soprattutto in termini di potenza computazionale e memoria. Ecco una lista di cose che penso su base giornaliera che probabilmente hanno meno importanza nello sviluppo di livello superiore nella maggior parte dei casi.

  • Discussione simultanea (protezione e tempistica)
  • Allocazione e deallocazione e utilizzo della memoria
  • Gestione degli heap (evitando la frammentazione)
  • Soddisfare le scadenze in tempo reale
  • Prioritizzazione del thread
  • Prestazioni I / 0
  • Trasferimenti DMA
  • Dimensioni dello stack
  • Prestazioni della libreria
  • Funzionalità linguistiche (eccezioni aumentano il tuo codice)

Inoltre, le piattaforme embedded tendono ad essere altamente specializzate per raggiungere un obiettivo specifico opposto a un PC progettato per essere una piattaforma per il calcolo dell'eterogeneità generale. Questo significa che probabilmente hai un sacco di codice personalizzato che può essere o non essere portatile.

    
risposta data 05.04.2011 - 00:14
fonte
7

Da Wikipedia / Sistema incorporato :

An embedded system is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints.

In breve, il termine può essere applicato a qualsiasi tipo di sistema che non sia un PC generico. Questo può variare da semplici microcontrollori all'hardware di rete alle moderne console di gioco.

Se consideri "roba di alto livello" come "utilizza un linguaggio di programmazione di alto livello" o anche "è un grande progetto orientato agli oggetti", allora ovviamente è sempre possibile che tu possa avere un software di alto livello un sistema integrato.

In generale, specificando che il tuo software sarà su un sistema "Embedded", intendi che in qualche modo il tuo software sarà accoppiato al sistema embedded e forse non sarà altamente portatile.

È un termine molto ampio, infatti. Alcune cose che non mi aspetterei di sentire chiamate "Embedded" sarebbero software per PC, applicazioni web e software server in generale. Non c'è sicuramente alcuna garanzia che il software Embedded escluda qualsiasi tipo di programmazione o progettazione di alto livello, tuttavia.

    
risposta data 05.04.2011 - 00:06
fonte
1

Sospetto che tu stia guardando a lavori in cui "incorporato" significa "computer in una scatola", generalmente uno che svolge un compito specifico. È probabile che esegua la maggior parte di una distribuzione Linux o un sistema operativo Microsoft, ma sarà abbastanza completo e sarete in grado di utilizzare gli IDE standard della GUI e così via. La parte incorporata arriva davvero quando il dispositivo viene spedito come videoregistratore multicanale, dispositivo di streaming multimediale o allarme anti-intrusione.

In questi giorni puoi eseguire molte elaborazioni su un dispositivo da 1 W, quindi la definizione di embedded è cresciuta di conseguenza. Ma anche 20 anni fa avevamo dispositivi embedded alimentati a batteria con DOS standard e programmi compilati per loro usando l'IDE del giorno (per esempio gli scanner di codici a barre Symbol avevano librerie per C e Pascal, quindi abbiamo usato Turbo Pascal su Win3.1 per costruire gli eseguibili). Ma abbiamo anche spedito "PC industriali" che inizializzavano DOS e il nostro software, e l'input era limitato ad alcuni grandi pulsanti impermeabili montati su una scatola di acciaio inossidabile. Lo schermo LCD da 15 "dietro il vetro conteneva molte opzioni di output, ma il collegamento di una tastiera significava aprire la scatola (all'interno di una fabbrica di alimenti), che poteva essere considerato incorporato da alcuni punti di vista. - spegnilo o meno.

    
risposta data 05.04.2011 - 03:25
fonte

Leggi altre domande sui tag