C vs Embedded C
Lo sviluppo di programmi integrati è un campo in rapida crescita oggi. C'è una necessità costante di scrivere applicazioni incorporate usando linguaggi di programmazione di alto livello (come C) principalmente per due motivi. In primo luogo, la complessità delle applicazioni incorporate sta aumentando ed è diventato molto difficile gestire le applicazioni utilizzando linguaggi di basso livello come il linguaggio Assembly. In secondo luogo, poiché i nuovi modelli di processore vengono rilasciati molto frequentemente, è necessario aggiornare / adattare costantemente i programmi incorporati a set di istruzioni più recenti. La funzionalità di riusabilità presente in lingue come C potrebbe fornire soluzioni a entrambi questi problemi.
Embedded C è un passo verso l'adattamento del linguaggio di programmazione C per scrivere applicazioni embedded efficienti. Embedded C è un linguaggio di programmazione Extension to C che consente ai programmatori di avere tutte le funzionalità utili di un linguaggio di programmazione di alto livello, pur avendo la possibilità di comunicare direttamente con i processori embedded target per migliorare le prestazioni. Nel corso degli anni, molti programmatori C indipendenti hanno aggiunto estensioni per supportare l'accesso all'hardware I / O di base. Embedded C è uno sforzo per combinare queste pratiche e fornire un'unica sintassi uniforme.
Cos'è C?
C è un linguaggio di programmazione di alto livello per tutti gli usi sviluppato da Dennis Ritchie negli anni '70. È principalmente destinato allo sviluppo di software di sistema. Ma viene anche utilizzato molto frequentemente per lo sviluppo di software applicativi. Il linguaggio di programmazione C è così popolare tra tutti i programmatori che i compilatori C esistono per quasi tutte le architetture dei computer. C ha influenzato molti altri linguaggi di programmazione come C ++ e Java. In effetti, C ++ è stato avviato come estensione a C e, insieme a Java, contiene una sintassi molto simile a C.
Cos'è Embedded C?
Embedded C è un'estensione del linguaggio di programmazione C che fornisce supporto per lo sviluppo di programmi efficienti per dispositivi embedded. Non fa parte del linguaggio C. È stato sviluppato dal gruppo di lavoro ISO chiamato "Estensioni per il linguaggio di programmazione C per supportare processori embedded" ed è descritto nel rapporto tecnico su Embedded C (TR 18037), che è stato pubblicato nel febbraio 2004. Embedded C development mira a fornire un aumento delle prestazioni per le funzionalità utilizzate per il DSP (Digital Signal Processing) e l'elaborazione integrata. Cerca di consentire uno sviluppo portatile ed efficiente delle applicazioni nel dominio dei sistemi incorporati dando accesso diretto alle funzionalità nel processore di destinazione.
Qual è la differenza tra C e Embedded C?
C è un linguaggio di programmazione di alto livello di uso generale ampiamente utilizzato principalmente per la programmazione di sistema. Embedded C è un'estensione del linguaggio di programmazione C che fornisce supporto per lo sviluppo di programmi efficienti per dispositivi embedded. Embedded C non fa parte del linguaggio C. C è di solito per la programmazione desktop, mentre Embedded C è più adatto per la programmazione integrata. A differenza di C, Embedded C consente ai programmatori di parlare direttamente con il processore di destinazione e quindi fornisce prestazioni migliorate rispetto a C. C crea file eseguibili dipendenti dal SO, mentre Embedded C certifica i file che in genere vengono scaricati direttamente nei microcontrollori. A differenza di C, Embedded C ha tipi di punti fissi, più aree di memoria e mappatura del registro I / O.