Micro sistemi operativi su controller avr. Microcontrollori obsoleti? Sistemi operativi in ​​tempo reale

Golovna / Contatti

Ho realizzato più di 10 Troch dispositivi elettronici e completamente gestiti nei loro robot di basso livello senza un sistema operativo. La situazione è cambiata, se la funzionalità del dispositivo offensivo si è espansa notevolmente. Inoltre, nell'attività è necessario il vinile, poiché richiama impostare gli intervalli ora, inoltre, al risultato viene aggiunta la precisione della settimana. Così è diventato chiaro che per scrivere tutto il software per la visione dell'ora non si vede, e si farà in seguito. Dopo aver riflettuto un po', mi sono reso conto che il progetto doveva includere un sistema operativo in tempo reale (RTOS e RTOS).

Sul fronte del PC, de OS - c'è più palla per i robot con risorse di sistema, per il microcontrollore RTOS - è il fronte dello scheduler, che vince e gioca il ruolo principale nell'"ora reale". Al momento, per me è importante garantire il cosiddetto vikonannya zavdan pseudo-parallelo. Tobto є kіlka zavdan ha la stessa priorità ed è importante chiamare nell'ordine dato a determinati intervalli dell'ora.

Un chiaro bersaglio offensivo: al progetto Eurobot 2011 il sistema aveva 18 edifici periferici. Due pagamenti elettronici possono essere combinati funzionalmente in uno. Il numero di componenti è cambiato, il numero di componenti è aumentato (il numero di componenti nel sistema è stato modificato), il numero di componenti è aumentato spazio libero allo scafo. L'arredamento rende più facile per coloro che crescono in proporzione e non possono fare a meno del sistema operativo. Inoltre, l'RTOS aiuta ad eliminare i possibili tempi di fermo del processore robotico, ad esempio, all'ora della conversione dell'ADC, puoi bloccare l'attività e disabilitarla e, allo stesso modo, installerò correttamente il robot. È importante che coloro che ora non cadono nella trappola del compito, possano salvare la pratica privata (sebbene tu possa portarla a risultati non trasferibili). Per il bene di cosa ci importa della crescita di questi spettacoli? Vlasne, michavlyuєmo s MK è onnipotente, effettivamente vikoristovuyuchi yogo conteggio fattibilità.

Dopo alcune ricerche recenti, scegli un campionato su freeRTOS. RTOS si sta espandendo in C e portato a 27 architetture. Il resto dell'arredamento per me è virisale. È necessario ridurre i costi di manodopera e l'ora di lavoro dal MC di altri raccoglitori. Alla volta, è meno necessario fare clic sulla porta per l'AVR.

La presenza di freeRTOS RTOS nel progetto richiede circa 9,8 KB di memoria di programma e 1,8 KB di RAM. Ad esempio, per il compilatore ATmega32 e WinAVR 60% e 85% valido. Già per questo modello, creare un dispositivo da una grande funzionalità è facile: non dimenticare la memoria. Problema Ale tsia v_dpadaє pіd h vykoristannya nuovi modelli AVR. Il prezzo non è assolutamente nulla per Mega2560 con її 256Kb di memoria di programma e 8Kb di RAM. La tendenza dei futuri MK non è più accompagnata dal successo di RTOS.

Pobіzhshi probіgshis su RuNet, mi chiedo vyvelyuv, scho no documentazione sul mio sistema operativo russo. Quello yak è qui! La documentazione originale viene ampliata alla versione aggiuntiva. La situazione è stata chiarita dall'articolo Andriy Kurnytsya ( [email protetta]) dalla rivista "Component and Technologists". Nel corso degli anni, con l'autore, ho rivisto il materiale dell'articolo nella versione rivista. L'articolo di Yogo nel suo insieme può essere la documentazione del mio russo. Ma l'originale è inaccessibile agli occhi di un amico, il sito della rivista mente, quel materiale può essere un po' rielaborato. In generale, l'autore ha fatto una revisione approfondita dell'articolo e non ha senso ripassare ancora una volta l'aspetto teorico, verrà pubblicato nuovamente qui. L'originale dell'articolo sarà un'aggiunta alla pubblicazione. Ho anche detto che ci sono state poche difficoltà nella compilazione del RTOS. Ciò è dovuto al fatto che il makefile corrente è rotto, in che modo viene scritto il percorso delle cartelle. A ciò allegherò un progetto pronto per un modello simile per AVR Studio e AVR Eclipse. Sfortunatamente, il makefile originale non mostra le informazioni di legge, come la RAM e i livelli di memoria del programma, è stato possibile risolverlo aggiungendo un tweet standard.

Quindi, brevemente sulla necessità, il tuo progetto deve vincere RTOS, che è necessario:

Organizzare attività multitasking e di scrittura

Assicurarsi che l'attività venga avviata agli intervalli di tempo successivi

Trasferisci informazioni da un'attività all'altra

Aggiungi un nuovo ordine se necessario

Vantaggi di RTOS prima di M Prima di:

  1. Bagatozachnіst. L'RTOS offre al programmatore un meccanismo pronto e gratificante per la bagatality. La skin della testa del vipad può essere programmata okremo, tutto il lavoro può essere svolto tra i membri del team. Non è necessario riflettere sul re-microfono tra le teste, solo per rompere il pianificatore.
  2. base di Timcha. È necessario tenere conto degli intervalli dell'ora. RTOS è la madre dello strumento. Consenti vikonuvaty diї attraverso intervalli dell'ora chiaramente visibili.
  3. Scambio di dati tra zavdannyami. Per chi in RTOS vikoristovuetsya cherga.
  4. Sincronizzazione. Yakscho compiti diversi puoi conquistare la stessa risorsa, ad esempio l'ultima porta, puoi conquistare mutex e sezioni critiche. È necessario vincere l'attività alla sequenza suvory, o al suono del canto corrente, puoi vincere il semaforo o i segnali per la sincronizzazione dell'attività.

Nedoliki RTOS:

1. Aumento della memoria del programma per l'implementazione del kernel

2. Aumento del consumo di RAM per il salvataggio dello stack di gestione della pelle, semafori, cherg, mutex e altri oggetti del core del sistema.

3. Trucchi per un'ora di passaggio da un'attività all'altra per salvare il contesto.

DescrizionefreeRTOS:

FreeRTOS è un sistema operativo gratuito per un breve tempo reale con un codice valido. È scritto soprattutto in C, ma ci sono inserti di montaggio. È stato suddiviso da Real Time Engineers ltd specificamente per i sistemi che devono essere considerati. Di recente, il progetto "SafeRTOS" ha iniziato a svilupparsi: supporto aggiuntivo, documentazione, proteste e certificazione per la conformità alla variante FreeRTOS dello standard di sicurezza IEC 61508. Questo progetto è stato ripreso da un'azienda tedesca e ora safeRTOS è leader nella tecnologia aerospaziale e medica. Inoltre, il progetto openRTOS è una versione commerciale con la garanzia del builder.

Principali caratteristiche di freeRTOS:

1. Planner supporta 3 tipi di attività avanzate:

Vitisnyuyuchy

cooperativa

ibrido

2. Modificare la dimensione del kernel a 9,8 Kb nella vista compilata per AVR. (WINAVR)

3. La base del kernel: 4 file per Z.

4. Supportare il compito dei programmi spiv. Programmi Spiv creati appositamente per MK con una piccola quantità di RAM.

5. Ricche opportunità di tracciabilità.

6. Puoi controllare lo stack reflow.

7. Non ci sono tasse di programma per un numero di giorni, che sono fissati in una volta.

8. Nessun importo di scambio di compiti prioritari.

9. Dekіlkom zavdannyam può essere nominato ma con la stessa priorità

10. Cause della sincronizzazione di "zavdannya-zavdannya" e "zavdannya-pererivannya":

Chergi

Doppio semaforo

Il semaforo di Rakhunkov

Semaforo ricorsivo

M'utexi

11. M'yuteksy con priorità ereditata.

12. Supporto del modulo di protezione della memoria per Cortex-M3

13. Consegnato in un progetto demo dall'aspetto fresco per varie piattaforme e compilatori.

14. Bezkoshtovna. Puoi vincere progetti senza aprire il codice, fino alla licenza GPL estesa.

15. La documentazione è a pagamento, ma disponibile online qui.

16. L'ora di contrazione del contesto per l'AVR con cristalli a 16 MHz diventa inferiore a 20,8 µs. Lo stesso stile è necessario per la conservazione dei dati allo stack del compito e sulla scia dell'offensiva. (A causa dello stesso rispetto per il PIC18xxx, il controller AVR dovrebbe funzionare 4 volte più velocemente!

Vytіsnyuyuchi pogozadachnіst significa, scho zavdannya, scho vykonuєtsya con priorità bassa, sovrapposta al compito finito con priorità più alta. Peremikannya mizh zavdannyami vіdbuvaєtsya per un'ora uguale. Pertanto, il primo compito a bassa priorità ha priorità più alta, il quanto attuale dell'ora potrebbe terminare, se è a bassa priorità.

In questo modo, l'ora di risposta di FreeRTOS alle chiamate in modalità multi-tasking non è più di un quanto all'ora del pianificatore, che può essere impostato nelle impostazioni. Per umovchannyam da dorivnyuє 1 ms.

Se sei pronto a completare l'attività con la stessa priorità, in quel momento il pianificatore ne vede la pelle di un quanto di un'ora, dopodiché la direzione assume l'attività successiva con la stessa priorità e così via.

Il ricco compito cooperativo vibra nonostante il pianificatore non possa interrompere autonomamente la programmazione del compito in linea, per prepararsi a completare la programmazione con grande priorità. Lo skin manager può trasferire in modo indipendente il controllo al pianificatore. In questo grado, zavdannya chekatime ad alta priorità, mentre a bassa priorità completa il tuo lavoro e dà il controllo al pianificatore. L'ora della reazione del sistema alla chiamata del giorno diventa insignificante e stantia, poiché ci vorrà molto tempo per completare l'attività prima del trasferimento del controllo. La ricchezza cooperativa dell'attività è stata alimentata dalla famiglia Windows 3.x.

Vitisnyayucha e concetti cooperativi di ricchezza sono uniti contemporaneamente nella ricchezza ibrida, se il ciclo del pianificatore è un quanto di tempo, birra, sul vіdmіnu vіd di ricchezza, è chiaro che il programmatore potrebbe essere in grado di lavorare in futuro. Questa modalità è particolarmente banale, se è necessario accelerare il tempo di reazione del sistema a un reset. Diciamo che un compito a bassa priorità viene vinto immediatamente e uno ad alta priorità ottiene il punteggio del compito successivo. Quindi, dopo il completamento del lavoro del processore, l'interruzione viene trasformata in un'attività in linea a bassa priorità e in punti ad alta priorità fino al termine del quanto in linea dell'ora. Tuttavia, anche dopo il completamento del processo di riorganizzazione, trasferire il controllo al pianificatore, quindi trasferire il controllo a un'attività ad alta priorità, che consente al sistema di reagire rapidamente, a causa della situazione attuale.

perchésulChiacchierareb?

È possibile espandere la distribuzione dell'add-on del microcontrollore, che viene utilizzato per l'implementazione di FreeRTOS, dall'interesse il resto della versione.

Il kit di distribuzione di FreeRTOS è disponibile in un modo apparentemente eccezionale oppure può essere estratto automaticamente in un archivio ZIP. Distribuzione Pulisci il codice del kernel senza intermediari (per guardare i file di intestazione e i file con il codice di output) e i progetti demo (un progetto per ambiente di sviluppo della skin per il port della skin). Hanno dato il seguente disimballaggio degli archivi in ​​qualsiasi punto della stazione di disimballaggio.

Indipendentemente dal numero di file presenti nell'archivio, la struttura delle directory è davvero semplice. Se si prevede di progettare un'estensione su 2-3 architetture in 1-2 centri di distribuzione, non saranno necessari più file che possono essere visualizzati prima dei progetti dimostrativi e di altri centri di distribuzione.

La struttura dettagliata delle directory è puntata al piccolo.

Tutto il codice del kernel di output viene spostato dalla directory /Source.

Vmist:

1.compiti.c- attuazione del meccanismo di pianificazione, pianificazione

2. coda.c- realizzazione cherg

3. lista.c- esigenze interne del progettista, le funzioni di prote possono essere utilizzate nei programmi applicativi.

4. croutine.c- implementazione di programmi spiv (a volte possono essere utilizzati quotidianamente, poiché i programmi spiv non vincono).

File di intestazione che si trovano nella directory fonte/includi

1. attività.h, coda.h, tist.h, croutine.h- i file di intestazione sono validi per i file a menu singolo con codice.

2. FreeRTOS.h-sostituire le direttive del preprocessore per correggere la compilazione.

3.mpu_wrapper.h- Mist remapping dell'interfaccia software FreeRTOS (funzioni API) per supportare il modulo di protezione della memoria (MPU).

4.portatile.h-abbellimento depositato dalla piattaforma.

5.projdefs.h- atti di nomina sistematica

6. semphr.h- Progettazione di funzioni API per lavorare con i semafori, come implementazioni basate su cherg.

7. StackMacros.h- Nebulizzare le macro per controllare il riflusso dello stack. La piattaforma hardware della skin mantiene una piccola parte del codice del kernel che implementa l'interoperabilità di FreeRTOS con questa piattaforma. Tutto il codice di deposito della piattaforma si trova nella sottodirectory /Sorgente/Portatile, de vіn sistematizzazioni del mezzo di distribuzione (IAR, GCC, ecc.) E piattaforme hardware (ad esempio, AtmelSAM7S64, MSP430F449). Ad esempio, sottodirectory /Sorgente/Portatile/GCC/ATMega323 Migrare i file port.c e portmacro.h per implementare il salvataggio/ripristino del contesto dell'attività, l'inizializzazione del timer per l'impostazione della base dei tempi, l'inizializzazione dello stack delle attività della skin e altre funzioni di deposito hardware del microcontrollore AVR in Winmega sistema.

Okremo accanto per vedere la sottodirectory /Sorgente/Portatile/MemMang, in cui devono essere inseriti i file heap_l.c, heap_2.c, heap_3.c, che implementano 3 diversi meccanismi di visualizzazione della memoria per le esigenze di FreeRTOS, come verrà riportato in seguito.

La directory /Demo è pronta per compilare e selezionare progetti demo. La parte principale del codice per tutti i progetti dimostrativi è stata visualizzata nella sottodirectory /Demo/Comunicazione n.

Per includere FreeRTOS nel tuo progetto, devi includere i file di codice di output principali e i file di intestazione associati. Non è necessario modificarli o comprenderne l'attuazione.

Ad esempio, se si prevede di modificare la porta per i microcontrollori MSP430 e il compilatore GCC, per creare il progetto da zero è necessaria una sottodirectory /Sorgente/Portatile/GCC/MSP430_GCC ta / Sorgente/Portatile/MemMang. Tutte le altre sottodirectory dalla directory /Source/Portable possono essere eliminate.

Se si prevede di modificare il progetto demo principale (si consiglia di avviare lo sviluppo di FreeRTOS sulla pannocchia), è necessaria anche una sottodirectory /Demo/msp430_GCCі /Demo/Comune. Altre sottodirectory trovate in /Demo non sono richieste e possono essere modificate.

Sotto l'ora della creazione del programma, si consiglia di vincere makefile(o un file per la parte centrale del progetto di distribuzione) come punto valido per il progetto demo. Facoltativamente disabilita i file di build dalla directory /Demo, sostituendoli con i tuoi, e i file dalla directory /Source - sottodimensionati. Far scorrere anche indovinare il file di intestazione FreeRTOSConfig.h, noto al progetto di dimostrazione della pelle. FreeRTOSConfig.h Definisci un #define che consenta la personalizzazione del kernel FreeRTOS:

1. Insieme delle funzioni di sistema.

2. Wikoristannya spіvprogram.

3. Numero di priorità per l'attività e spivprogram

4. Espandi la tua memoria (acquista una pila).

5. Frequenza dell'orologio MK.

6. Il periodo di lavoro del pianificatore è di un'ora, che è visto dalla pelle zavdannya vikonannya, che suona più di 1 ms. Rimozione di alcune funzioni sistemiche e modifica del numero di priorità (cambio di memoria).

Prima dei kit di distribuzione FreeRTOS, includeva anche strumenti per convertire le informazioni di traccia prese dal pianificatore in formato testo (directory /Tgase Con) e il testo della licenza (directory /Licenza).

Visnovki

Per l'aiuto del primo articolo del ciclo, il lettore ha avuto modo di conoscere il sistema operativo dei microcontrollori FreeRTOS. Vengono mostrate le caratteristiche del robot. Descrizione per il kit di distribuzione FreeRTOS. Introdotti gli sketch principali, da cui amplierò lo sviluppo, che verranno utilizzati per sviluppare FreeRTOS.

Nelle pubblicazioni future, il rispetto sarà attribuito al meccanismo del ricco compito e ai gestori di quel programma spiv. Il pianificatore robotico verrà introdotto all'applicazione dei microcontrollori Atmel AVR e del compilatore WinAVR (GCC).

Cosa cade sul pensiero se senti sistema operativo? Chantly kvatirki, linux, makos .. altrimenti è così. Esatto, ed è necessario per il cibo, tutto verrà consigliato: ascoltare musica, giocare (su Internet!), girovagare con un amico su Skype. Allo stesso tempo, guardando, come una luce brillante, otrimavshi byte z yuarta \u003d).

E se scavi più a fondo, poi ascolti musica, trasferisci dati tramite Internet: sono tutti processi singoli e abbiamo un solo processore, quindi un'ora puoi vincere solo un'attività. Ecco perché gli ordini vengono battuti per il bene di piccole "porzioni", l'essenza del lavoro del sistema operativo è irriconoscibile per un koristuvach: in modo che il suono non sibilanti e i byte siano stati inviati e tutto abbia funzionato in una volta. Se è così, uno dei giorni era "sospeso", tutto il resto ha continuato a funzionare.

Se elimini tutte le chicche e perdi l'obiettivo, il sistema operativo è solo un timer, una specie di respiro a intervalli di un'ora e inoltre, senza la partecipazione del coristuvach, si mescola tra i compiti, vikonu come parte e imita. È anche necessario vrahuvat, che il compito più grande non può essere raggiunto in un quanto d'ora, è necessario salvare il compito nel momento in cui si passa a un altro e il tempo a venire per sostituire il campo del cambiamento. Il cui manager è impegnato nel responsabile della pianificazione.

Esistono due tipi principali di sistema operativo: vitіsnyayucha e cooperativo. Al primo colpo di fortuna, la conversazione tra i leader sarà zhorstky, tobto. se il quanto di un'ora è 1 ms, la prossima volta che l'attività viene conteggiata esattamente 1 ms, l'altra volta è uguale a 1 ms, ecc. Tale orologio è chiamato ora reale (RTH). Per le cooperative è più facile, il processo stesso è colpevole di dire che "sono qui" ed è impossibile portarlo all'RTOS.

Vgamuvati vytіsnyayuchu su drіbnі AVR non vede attraverso una piccola quantità di RAM. Tra le opzioni più recenti per le cooperative, sono stato onorato da mRTOS, puoi leggere i dettagli del sistema sul sito Web dell'autore (facile da cercare su Google). Il motivo principale della varianza è la semplicità, la disponibilità di una versione già pronta di CAVR per la comprensione principi fondamentali te stesso.

Otzhe, il cibo per la testa è andato perso, è necessario se fermi tutto. Teoricamente, tutti uguali, che shobi z vіssyu, puoi scaricare senza di esso, più risorse da solo tu stesso. A seconda di cosa ti adatti al progetto, non volare megahertz nello spazio, è abbastanza per cavarsela da solo, ecco dove sono le risorse.

A quel varto metti la tua spezia al potere:
1. Riesci a gestire le risorse con saggezza?
2. Chi non viene trasferito durante il processo di scrittura del firmware del vino, ed è la stessa bici simile al planner?
3. Quanto è leggibile il tuo codice? Come puoi aiutarti attraverso pіvroku-rіk vіdkriti yogo i vіdrazu razіbratisya?
4. Sei solo Scrivi in ​​gruppo?

Il primo giorno è difficile dare una fornitura, perché tutto viene lasciato sotto forma di una mano storta del rivenditore. Con gli altri, tutto era più sensato, poiché ci sono molti compiti indipendenti e si prevede di conquistarli in pochi minuti, piuttosto che meravigliarsi del sistema operativo Bik. In terzo luogo, è diventato più chiaro, più facile da sistemare nella pianta di okremu, abbassare il terreno incolto nel ciclo principale. Se ne scrivi più di uno, ci sono anche dei vantaggi, dal momento che puoi scrivere bene il tuo compito, non rispettando gli altri.

Secondo quanto già detto, lo scopo di stosuvannya da dosit è specifico, proprio come il giorno prima. Non varto phati її nel progetto in pelle. Per la maggior parte dei progetti radioamatoriali, l'intero progetto, anche se era stato annunciato in precedenza, realizzando singolarmente un paio di progetti.

Ora zazirnemo sotto il cofano. Per eseguire mRTOS prima del progetto, è necessario includere mrtos.ce correggere mrtos.h. La struttura del trocho coda sembra una doppiata

#includere #include "mrtos.h" //ecco il corpo della funzione de mi scrivi il tuo super codice void task1() ( mentre (1 ) //Avvia in un sistema operativo be-yak_y sulla base di un ciclo non interrotto { //ecco il codice della tua attività SPEDIZIONE; //funzione di trasferimento del controllo al pianificatore } ; } // maniglia di ripristino del timer 0 interrupt [ TIM0_OVF] void timer0_ovf_isr(void ) ( char ii; #asm("cli") TCNT0= 0x9C ; inc_systime(); for (ii = 0 ; ii< init_tasks; ii++ ) if (tasks[ ii] .delay ) -- tasks[ ii] .delay ; #asm("sei") } void main(void ) { // inizializzazione della periferia init_mRTOS(); //inizializzazione del sistema operativo //qui creiamo attività (attività) 3 attività vengono create qui create_task(attività1, 1, Attivo); //crea un'attività (la mia attività, priorità, stato) create_task(attività2, 1, Attivo); create_task(task3, 1, Attivo); schedulatore(); //pianificatore di lancio mentre(1); )

#includere #include "mrtos.h" //ecco il corpo della funzione de mi scriviamo il nostro super codice void task1() ( while(1)//il task in qualsiasi sistema operativo viene chiamato sulla base di un ciclo non interrotto ( / /ecco il codice del tuo task DISPATCH; / /funzione per trasferire il controllo allo scheduler );) // routine di interrupt timer 0 interrupt void timer0_ovf_isr(void) ( char ii; #asm("cli") TCNT0=0x9C; inc_systime (); for(ii = 0; ii

Ora fai rapporto. il numero dell'attività è specificato in mrtos.h al valore predefinito APPTASKS N. L'attività è espressa nel mezzo di task1()(), task2()() bene, nel mezzo di while(1) non lo è necessario scrivere qualsiasi cosa, non è necessario chiamare la funzione, non è necessario creare il planner per te. Come puoi vedere, l'attività è piegata da un ciclo inesauribile, ma è normale e potrebbe esserlo, ma nel bel mezzo dell'attività, l'obov'yazkovo è necessario per controllare il pianificatore. Oppure la funzione ATTENDERE, o SPEDIZIONE. Per quanto possibile, quindi il compito di vikonuvatimes inesorabilmente.

Come lavori? Creiamo un compito di blimannya con la luce.

void task1() ( mentre (1 ) ( PORTB.0 = ! PORTB.0; WAIT(100 ) ; ) ; )

void task1() ( while(1) ( PORTB.0 = !PORTB.0; WAIT(100); ); )

WAIT non è solo un analogo di delay(), per un'ora il microcontrollore non perde nulla ed esegue cicli a vuoto. Sotto l'ora la gestione WAIT viene trasferita ad altri lavoratori. Totò. puoi creare un paio di spinte di luci diverse lampeggianti, con un WAIT diverso e tutto il fetore brillerà con una frequenza diversa. Se non hai bisogno di zatrymki, allora nel kintsi vikoristovuemo SPEDIZIONE.

Quando WAIT è diverso, è importante capire che l'intero sistema ha un tick minimo (quanto orario), quindi controlliamo non WAIT (50) 50 millisecondi, ma 50 tick di sistema. Impostare il segno di spunta per sdraiarsi in primo luogo, poiché il timer 0 viene spesso chiamato, tobto. proprio come abbiamo regolato l'interruzione per 1 ms, possiamo consentire che la nostra azione duri per 1 ms. Finora, abbiamo dimostrato che è possibile modificare il tick del sistema fino a ~20 µs con una velocità di clock di 16 MHz.

L'impostazione del timer non è considerata in alcun modo prima, poiché il timer può essere solo riordinato, tutte le impostazioni sono legate al prezzo. In altre versioni di CAVR, puoi anche scrivere manualmente i requisiti di tempo, che vengono generati automaticamente.

create_task(attività1, 1, Attivo);

create_task(attività1,1,Attivo);

Non è facile ottenere tutto con delle priorità. Se due attività con priorità diversa e un'attività con priorità alta vengono eliminate in modo permanente, un'attività con priorità bassa non verrà inserita in alcun modo. Ecco perché è necessario organizzare il robot in modo tale che gli amministratori neghino l'accesso. Non potremo mostrare rispetto per nessuno, risparmieremo tempo offensivo. Starter Mill, Active – in esecuzione, StopTask zupinena.

Otzhe, per coloro che lo desiderano, sbatti le palpebre con la luce:

#includere #include "mRTOS.h" void task1() ( while (1 ) ( WAIT(1000 ) ; PORTB.0=! PORTB.0; ) ) // Routine del servizio di interruzione dell'overflow del timer 0 interrupt [ TIM0_OVF] void timer0_ovf_isr(void ) ( char ii; #asm("cli") TCNT0= 0xb2 ; inc_systime(); for (ii = 0 ; ii< init_tasks; ii++ ) if (tasks[ ii] .delay ) -- tasks[ ii] .delay ; #asm("sei") } void main(void ) { DDRB= (1 << DDB7) | (1 << DDB6) | (1 << DDB5) | (1 << DDB4) | (1 << DDB3) | (1 << DDB2) | (1 << DDB1) | (1 << DDB0) ; PORTB= (0 << PORTB7) | (0 << PORTB6) | (0 << PORTB5) | (0 << PORTB4) | (0 << PORTB3) | (0 << PORTB2) | (0 << PORTB1) | (0 << PORTB0) ; // Inizializzazione timer/contatore 0// Sorgente orologio: Orologio di sistema // Valore orologio: 7.813 kHz TCCR0= (0<< CS02) | (1 << CS01) | (1 << CS00) ; TCNT0= 0x83 ; // Inizializzazione timer/contatore/i Interruzione/i TIMSK = (0<< OCIE2) | (0 << TOIE2) | (0 << TICIE1) | (0 << OCIE1A) | (0 << OCIE1B) | (0 << TOIE1) | (1 << TOIE0) ; Init_mRTOS() ; create_task(task1, 1 , Active) ; Sheduler() ; while (1 ) ; }

#includere #include "mRTOS.h" void task1() ( while(1) ( WAIT(1000); PORTB.0=!PORTB.0; ) ) // Timer 0 overflow interrupt service routine interrupt void timer0_ovf_isr(void) #asm( "cli") TCNT0=0xb2; inc_sistema(); per(ii = 0;ii

Come bonus, ho provato la melodia polifonica (a doppia voce) "Dr. Mario chill". L'idea è che la pelle del controller sia costantemente invertita in un vero e proprio desiderio, generando così la frequenza stessa. Modificando la patch è possibile modificare l'altezza della nota.

void task2(void ) ( while (1 ) ( if (mute == 0 ) //come è permesso grati( se (nota_ch2[ n_n] == 0 ) // proprio come una pausa, poi viene controllato, non viene letto nulla(PORTB.4 = 0 ; WAIT(5 ) ; ) else (PORTB.4 = !PORTB.4; // se non è una pausa, allora si sta muovendo con il piede alla frequenza richiesta WAIT(note_ch2[n_n]); ) ) ) )

void task2(void) ( while(1) ( if(mute == 0) //dovrebbe essere autorizzato a riprodurre ( if(note_ch2 == 0) //se fosse selezionata la pausa, nulla può essere disattivato ( PORTB.4 = 0; WAIT( 5);) else ( PORTB.4 = !PORTB.4; //se non è una pausa, allora muoviamo il piede con la frequenza richiesta WAIT(note_ch2); ) ) ) )

Non sto scherzando con l'idea, in un compito viene generato un meandro dalla frequenza della nota per la parte solista, nell'altro per il basso. L'altezza della nota sulla pelle è presa dagli array. Trivalità, radersi e radersi in un compito3.

void task3(void)(while(1)(WAIT(1500)); //graimo la minima banalità della nota per (muto = 0; muto< 500 ; mute++ ) // radere la nota in modo da non arrabbiarti(PORTB.3 = 0; PORTB.4 = 0;); muto=0; //abbiamo impostato un flag che puoi emettere un suono n_n++; //vai alla nota successiva se (n_n == n_max) //yakscho ha giocato a tutte quelle demo in palio( n_n = 0 ; ) ) )

void task3 (void) (while (1) (WAIT (1500); // tieni nota per (muto = 0; muto)< 500; mute++) //обрываем ноту, чтобы не сливались { PORTB.3 = 0; PORTB.4 = 0; }; mute = 0; //выставляем флаг, что можно воспроизводить звук n_n++; //переходим на следующую ноту if(n_n == n_max) //если сыграли все то идем по кругу { n_n = 0; } } }

Per cambiare due canali ruotando un semplice circuito.

Un piccolo pezzo in una volta

Per firmware difettoso

Mi chiedo costantemente cosa fare, occupare per un'ora il mio hobby - un piccolo sistema di controllo automatico domestico (smart booth), basato su un microcontrollore a 16 bit - qual è l'idea corretta? Il secondo mese fa, ho già scritto nel mio blog sull'argomento "Microcontroller vs. Systems-on-a-chip". Quindi l'asse, mi sto preparando a scriverne di nuovo.

Sono rimasto spesso sbalordito dall'apparizione della vendita di Stellaris Launchpad e Arduino Due. La puzza è offesa in base ai microcontrollori a 32 bit e per molti aspetti sono simili. Sono aggiornato con le specifiche (scheda tecnica) e volendo puzzare a un prezzo, le puzze vengono addebitate per un pubblico di destinazione. Stavo pensando a chi può farmi cambiare idea da MSP430 a Stellaris, e posso passare al mio sistema, passare a Raspberry Pi, sostituire i microcontrollori.

Obidva, Stellaris Launchpad e Arduino Due, ancora più difficili, ma non riconosciuti per l'esecuzione di Linux. Il fetore funziona o sull'iconico codice scritto senza intermediari per loro, o sul controllo del sistema operativo in tempo reale (RTOS), un sistema operativo minimalista, con un'ora di reazione alle chiamate anche breve. Quindi la puzza è ovviamente pieghevole, MSP430 inferiore o AVR a 8 bit.

D'altra parte, nella vita reale (al di là di Internet), la maggior parte delle persone che conosco esegue Raspberry Pi o altri sistemi che funzionano su Linux. Vykoristannya stesso microcontrollori, dosit rare vipadok tra i silenziosi, che ho imparato. Navit Arduino, un po' meno popolare, nel mio affilato Linux inferiore, che mi viene in mente. A quanto ho capito, vale la pena acquistare un Arduino, se riesci a ottenere un Raspberry Pi, quale può essere più ricco e quali sono più piccoli? Sotto Linux, non esiste un software già pronto e su di esso puoi programmare, usando semplici script per spostarti.

Soprattutto per me, il motivo è perché non mi interessa la vittoria di Linux, perché oggi sto facendo yoga vicor su un robot e, tornando a casa, non sono contento della necessità di riesercitare su sistemi simili a Linux . Non ho molti problemi con gli hack di Linux, ma è troppo per soffocare, marcire. Sono più a mio agio con semplici dispositivi elettronici basati su microchip a 8/16 bit.

Prote non mi trasformo in realtà. Poiché voglio essere lasciato solo con il mondo reale, posso conquistare quegli strumenti, come conquistare il mondo reale. Altrimenti è come guidare un'auto con un motore a vapore, meno, perché il motore a combustione interna è superbo, sono post-guerriero in un tale grado. Se è necessario passare a una tecnologia più moderna, è necessario padroneggiarla, essere come me. Soprattutto, perché voglio che il mio blog sia rilevante per le persone e diventi rilevante.

Al mio progetto di una cabina intelligente, sono rimasto davvero bloccato con questo problema. Ho già creato un driver di rete locale per il sistema di controllo sull'MSP430 e tutto sembra a posto. In effetti, posso fare tutto ciò di cui hai bisogno per un sistema di automazione sull'MSP430. Tim non è più piccolo, mi chiedo, quali sono corretti, come posso farlo? Non contrabbando, cos'è la zuppa con una sega, se è un cucchiaio? Forse Linux è un sistema più simile? Lasciatemi spiegare.

Vale la pena guardare la situazione attuale, per i risultati tecnologici per l'autunno del 2012 rock. Mi chiederò, a cosa servono gli attuali microcontrollori, rispetto ai sistemi su chip, cosa vince Linux?

Come riciclare progetti sul sistema, come mi vengono in mente, tse: droni, robot, domotica, controller motori, sensori, annuario da polso, stampanti 3D, ecc. Qualcuno di questi tipi di Linux, scho vbudovuetsya, si adatta a più microcontrollori inferiori? Come mai?

Apprezzo molto che ci siano tre situazioni, se il microcontrollore è la scelta migliore: lì, de importante è la reazione istantanea (in tempo reale) al sub; lì, c'è bisogno di energia estremamente bassa; E lì, è necessario utilizzare microcircuiti della più bassa possibile var.

Per la pannocchia, l'uso di microcircuiti economici non è un momento così importante per me. Mi prendo cura del mio hobby per me stesso e non scelgo se rilasciare prodotti della concorrenza. Non devo soccombere al trasferimento della produzione allo stabilimento, che è una specie di lavoro schiavo vittorioso, per fornire un prezzo competitivo per questi altri progetti, come ho detto. Sono felice, yakby zmіg paga più di una paga al giorno, zavdyak alle tue comodità!

Ad esempio, per un progetto di cabina intelligente, posso sviluppare il controllo remoto di vimikach. Vin può accendere / spegnere la luce o altro. Allo stesso tempo, posso andare al mio negozio di articoli elettrici e comprarli per $ 20, fabbricati in Cina. Chi posso se uccidi il prezzo cercando di vendere vlasny vimikach? Non credo sia possibile.

Per essere più riflessivi, è necessario raggiungere la ricchezza di altri discorsi necessari alla domotica. Sensori di temperatura, dima, ruhu, ecc., posso costruire un edificio in modo indipendente, ma è improbabile che tu possa trarne un vantaggio finanziario. Chi se ne frega di comprare da me discorsi del genere per $ 75, se riescono a trovarli per $ 20 presso State Goods?

Se pensi di prenderti cura dei tuoi hobby, allora è meglio ottenere il rispetto per i prodotti più costosi e pieghevoli. Ad esempio, un controller domotico o un termostato, il suono costa oltre $ 100 e offre più libertà alla creatività individuale, puoi incoraggiarne uno, vendere i tuoi soldi e guadagnare soldi da solo.

Ale bazhannya, raggiungendo il prezzo più alto dell'allegato residuo, non significa che sia necessario battere il microcontrollore trovato sulla Terra. Davvero una pessima idea, perché l'ora di rozrobki quelli stessi possono possedere la versatilità, come i dettagli vittoriosi. Forse il microcontrollore è economico, ma ci vuole più di un'ora per scrivere il codice da controllare. Un'ora è un centesimo e se ti eserciti in modo più intelligente, otterrai una portata maggiore.

Comunque, pensa di portarmi a una visnovka, che è meglio espandere il sistema di una cabina intelligente su Linux, più in basso sui microcontrollori, indipendentemente dalle mie abilità speciali, non battere Linux (ho bisogno di programmare a basso livello, script più bassi, Linux ha bisogno di meno script).

Se ti rivolgi a questi argomenti, il prezzo dei microcontrollori può essere un fattore importante per le grandi aziende che scelgono di lanciare un nuovo prodotto, ma a livello individuale, come se volessi fare affari in stile Kickstarter, questo fattore non è più così significativo, infatti, svedese , più importante, minore varianza dei componenti.

D'altra parte, i microcontrollori possono essere una scelta migliore, con un sistema su chip inferiore, se è necessaria una bassa energia. Tali sistemi hanno due momenti: basso autosostentamento del circuito stesso per un'ora di lavoro e un'ora di inizio breve. Un modo tipico per risparmiare le batterie per altri edifici annessi è l'autoconnessione (spegnimento). Se imiti un computer su Linux, avrai bisogno di un'ora decente per andare al lavoro, a volte per dekilkoh hvilin. Un'ora del genere non è accettabile per i sistemi che devono essere corteggiati.

Se prendi un microcontrollore del genere, come l'MSP430, a volte puoi utilizzare una batteria. Stellaris Launchpad e Arduino Due, in linea di principio, gli stessi sullo stesso edificio, puzzano di più energia in meno rispetto all'MSP430, ma comunque un po' meno, pari al Raspberry Pi. Tuttavia, MSP430, puoi avviarlo immediatamente, dopo averlo spento.

In questo rango, sono assolutamente convinto che in tutte le situazioni, dove sono necessarie operazioni a bassa tensione, ci sia un senso di vittoria nei microcontrollori. C'è un gran numero di vari annessi che funzionano a batterie, motivo per cui tale necessità.

Per il terzo tipo, come ho detto prima, l'uso di un microcontrollore è più compreso di Linux, in operazioni che richiedono una risposta istantanea (risposta in tempo reale). Riesco a usare tali accessori, come stampanti 3D e tipografia CNC, so di cosa parlo, dedicando molto tempo al mio matrimonio. Per sua natura, il fetore richiede un'elevata precisione nei robot, poiché è meno probabile che si sdrai nell'ora di reazione ai comandi.

Ad esempio, se hai un file circolare in esecuzione, come se in un determinato momento si stessero tagliando dei pezzi di legno o di metallo, non puoi avviare il processo, attraverso quelli che il computer ha bisogno di fare una pausa, in modo che i dati possano essere trasferito dalla memoria al disco, altrimenti nello stesso spirito. Sii qualcuno che vince il PC, conosce il vipadkovy podvisannya, che periodicamente incolpa l'ora dello splendido lavoro. E ora fammi sapere che hai un ottimo flusso di lavoro di perforazione, sotto la voce di un PC, che Raptom inizia a cambiare l'aggiornamento per Windows, lavorare per un'ora e perforare, perforare l'acciaio, su quale stare, perché . il computer ha acquisito il controllo su di esso.

PC e system-on-a-chip non sono progettati per il lavoro in tempo reale, né da Windows né da Linux, ma da soli il fetore si sta avvicinando a te. Ad esempio, utilizzo una patch in tempo reale per il kernel Linux e speciali software CNC, creazioni per robot di questo tipo. Non so molto della patch cim Linux, e non so se è un po' ingannevole, per un migliore controllo del tempo reale. Ma mi chiedo se c'è un'alternativa migliore, tk. Linux, anche se le patch non si sono bloccate, i microcontrollori non saranno in grado di rompere i loro sistemi in questa finestra.
Nasamkinets, voglio dire che dopo aver speso molto tempo, cercando di conoscere le aree in cui sono installati i microcontrollori nei miei progetti, posso vincere. E tutto sembra che sia arrivata l'era del dominio della luce di Raspberry Pi e Beaglebones. Questa è una situazione attuale per le traversine fai-da-te. Ha più opzioni, è più veloce e più facile da sviluppare su questi sistemi, quindi è la scelta migliore per più progetti.

Per i microcontrollori, non ci sono più aree per collegamenti a bassa tensione, operazioni in tempo reale e collegamenti a bassa tensione.

Non puoi mentire sul fatto che i microcontrollori possono rendere "divertenti" i PC inferiori. Tse quelli con cui ti capita di riconciliarti.

Tradotto dal film inglese del post originale

Il sistema è spostato, il sistema è spostato(eng. embedded system) - se il sistema informatico è specializzato, il computer stesso suonerà come un allegato, che lo controllerà.

Caratteristiche peculiari:

  • Ancora meno risparmio energetico, vicino a 0,5 a ~20 W
  • Piccole rose
  • Presentazione di grandi sistemi di fornitura di calore (raffreddamento). La maggior parte delle volte, la CPU non si raffredda, ma si riscalda un piccolo dissipatore di calore.
  • La CPU e la logica di sistema, così come altri circuiti integrati, sono spesso combinati su un unico chip (System On Crystal = SOC)

La base dei sistemi in erba può essere a scheda singola oa chip singolo microcontrollori, CPU specializzata o universale, PLIS. È una particolarità di alcuni tipi di sistemi superare i vecchi processori della famiglia x86 (ad esempio, i386, i486, Pentium) e i loro cloni attraverso bassi consumi energetici e costi contenuti (circa 1-5 dollari USA). Ci sono anche molte visualizzazioni nei sistemi vittoriosi per la CPU dell'architettura ARM.

Al momento, ci sono un gran numero di aziende (comprese quelle in Russia) che utilizzano computer a scheda singola basati su microcontrollori e CPU con architettura RISC. Tra loro Advantech, AAEON, Advanced Micro Peripherals (AMP), Ampro Computers, Diamond Systems, iBASE, InnoDisk, Fastwel (Russia), Lippert, Octagon Systems, RTD Embedded Technologies, Tri-M Systems - Engineering, SanDisk, STEC. Bancomat, avionica, palmari, sistemi di telecomunicazione possono essere i mozziconi dei sistemi.

Deyakі vbudovanі sistemi vikoristovuyutsya in grandi quantità (ad esempio RFID). Sistema Vbudovanie є metodo prioblyayuschey per i creatori del codice shkіdlivogo attraverso la sua ampiezza e vіdnosnu bezakhisnіst. Codice passo dopo passo per i sistemi vbudovanih (Cabir, RFID-virus); fortunatamente tale iter è ancora difficile per la diversità nella realizzazione degli annessi, in presenza della PZ dominante e per la funzionalità scambiata di tali tipologie di annessi. D'altronde i vertici delle società antivirus e della vecchia sicurezza informatica sono complicati anche dagli ambienti, oltre che da sistemi a bassa potenza, che spesso non consentono la diffusione di tutta la sicurezza dei software antivirus.

I principali hack della CPU per i sistemi in erba є Tecnologie VIA, Transmeta Corporation, Infineon Technologies.

Sistemi operativi per sistemi che devono essere

Nei sistemi che devono essere costruiti, per la gestione, vincono tsіyni sistemi di tempo reale (OS RT) .

Il sistema operativo dell'ora reale dell'OS è l'OS che reagisce al trasferimento dell'ora al non trasferimento dell'aspetto dei suoni. Alcuni RTOS sono chiamati sistemi interattivi di disponibilità costante. Nella categoria RTOS, sono inclusi nelle applicazioni di marketing marketing e, come tale, un programma interattivo è chiamato "lavorare in tempo reale", il che significa che le bevande vengono elaborate da un luogo oscuro e sconosciuto alle persone. Alcune persone capiscono il tempo reale del sistema con il "sistema svedese", ma non lo avviano correttamente, per questo è importante non fermare la reazione degli RTOS, ma quelli che l'ora è bastata per l'addendum ed è stato garantita.

I diversi sistemi sono divisi "hard" e "soft" ora reale. Il sistema operativo dell'ora reale "dura" garantisce il cambio dell'ora per l'ultimo intervallo dell'ora, il sistema operativo dell'ora reale "morbida", di norma, rileva la carica del giorno per l'intervallo dell'ora, ma ancora una volta non lo garantisce. La maggior parte del software è orientato all'ora reale "soft".

Questi sistemi sono caratterizzati da:

  • garanzie di un'ora di reazione a ovnishnі podії (reinsediamento dovuto a obladnannya);
  • solo un sottosistema di pianificazione del processo (i compiti ad alta priorità non devono essere incolpati di quelli a bassa priorità, per una sorta di colpa);
  • spostando fino a un'ora di risposta alle chiamate o reattività (il ritardo nell'interruzione del ciclo di richiamo non è superiore a decine di microsecondi, il ritardo nella transizione dei compiti non è superiore a centinaia di microsecondi)

Il classico culo del manager, necessario del RTOS, è il controllo del robot, che prende il dettaglio dalla linea del trasportatore. La parte sta crollando e il robot può impiegare solo un po' di tempo, se puoi prenderlo. Se l'errore viene ritardato, la parte non si troverà più nello spazio necessario del trasportatore e inoltre il robot non si romperà, indipendentemente da quelli in cui il robot si trova nel posto giusto. Se i vini sono posizionati prima, il dettaglio non è stato ancora catturato e i vini bloccheranno la strada.
Windows CE (vinto WinCE)- Questa variante del sistema operativo Microsoft Windows per computer, telefoni cellulari e sistemi migliorati di cui hai bisogno. Windows CE non è una versione "urbana" di Windows per PC desktop e si basa su un kernel diverso. Fino alle principali carenze del sistema, puoi vedere tutti i programmi software necessari. Sono supportate le architetture x86, MIPS, ARM e Hitachi SuperH.

I principali concorrenti di WinCE sono VxWorks, eCos, OSE, QNX, LynxOS, Symbian OS, OS-9 , oltre a diverse versioni di Linux (ad esempio, uClinux ) io, la più grande vіdomy, Palm OS . I costruttori degli annessi stanno anche preparando un impianto elettrico.

Windows CE è ottimizzato per i componenti aggiuntivi che richiedono la minor quantità di memoria: il kernel di Windows CE può essere eseguito su 32 KB di memoria. Con un'interfaccia grafica (GWES) per robot Windows CE, saranno necessari 5 MB. Gli allegati spesso non sprecano la memoria del disco e possono essere progettati come allegati "chiusi" senza la possibilità di espandersi con uno corto (ad esempio, il sistema operativo può essere "cablato" nella ROM). Windows CE è a conoscenza dell'orologio in tempo reale del sistema operativo.

Sulla base di Windows CE è stata fondata una piattaforma anonima, comprendente un Handheld PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, oltre a un'aggiunta industriale anonima -on e altri sistemi. Il prefisso Sega Dreamcast supportava Windows CE. Windows CE stesso in un post imballato, ma potrebbe essere eseguito su una console da un CD. Deyakі іgri vikoristali tsyu mozhlivіst.

Chiamano spesso Windows CE, Windows Mobile, Pocket PC vicorist come reciprocamente intercambiabili. Non lo sappiamo per certo. Windows CE 3.0 è un sistema operativo modulare, come base per molti allegati di classe. Che ci sia un rivenditore, puoi acquistare uno strumento (Platform Builder), che può sostituire tutti i componenti e i programmi che ti consentono di utilizzare la piattaforma. In tal caso, i programmi, come Word Mobile/Pocket Word, non fanno parte di questo strumento.

Windows Mobile è la migliore vetrina per le piattaforme basate su Windows CE. Al momento, questo set include piattaforme: Pocket PC, Smartphone e Portable Media Center. La piattaforma skin ha il proprio set di componenti Windows CE oltre al proprio set di funzionalità e componenti aggiuntivi correlati.

Windows CE.– Questo è il nome in codice per Windows CE versione 4.2.

Windows Embedded CE 6.0(nome in codice Yamazaki) è la sesta versione del sistema operativo Windows Embedded, orientata alle aziende che producono controller ed elettronica aggiuntiva. In Windows Embedded CE 6.0, il kernel è stato completamente revisionato per supportare oltre 32.000 processi, rispetto ai 32 delle versioni precedenti. Da 32 MB a 2 GB è stato aggiunto uno spazio di indirizzi virtuale, visibile per i processi.

Windows Embedded CE 6.0 è stato rilasciato il 1° autunno 2006.
Windows CE 6.0 R2 è stato rilasciato il 15 autunno 2007.
Windows Embedded CE 6.0 è anche la base di Windows Mobile 7 (nome in codice "Photon").

QNX- sistema operativo in tempo reale commerciale POSIX-summ_sna, riconosciuto come importante per i sistemi che devono essere costruiti. Considera una delle migliori implementazioni del concetto di sistemi operativi micronucleari.

Yak sistema operativo micronucleare, QNX si basa sull'idea di lavorare la parte principale dei suoi componenti, come piccole fabbriche, come vengono chiamate servizi. Tsed i vide dei tradizionali nuclei monolitici, nel nucleo di yak dei sistemi operativi: uno è una grande proiezione, è una grande parte della grande parte e la similpelle. La sottochiave del microkernel QNX consente ai core (rivenditori) di attivare qualsiasi funzionalità non necessaria senza modificare il core. Natomista, semplicemente non puoi iniziare il processo di canto.

Il sistema è piccolo, tanto che la configurazione minima può essere riposta su un floppy disk, allo stesso tempo è importante anche con uno svedese e un giusto grado di "finito" (come è praticamente per non vendicare l'indulto).

Neutrino QNX, Rilasciato nel 2001, è stato portato su un'ampia gamma di piattaforme e, allo stesso tempo, è pratico da esercitarsi su qualsiasi processore moderno che vince sul mercato dei sistemi, che verrà sviluppato. Ci sono famiglie tra queste piattaforme x86, MIPS, PowerPC, nonché famiglie specializzate di processori, come SH-4, ARM, StrongARM e xScale.

Una versione per il wiki non commerciale è disponibile per il download sul sito Web del rivenditore.

LynxOS- Sistema operativo in tempo reale simile a Unix, scomposto per sistemi che necessitano di essere combinati con gli standard POSIX e, per il resto dell'ora, con il sistema operativo GNU/Linux. LynxOS vince soprattutto nell'aviazione, nei sistemi di gestione dei processi industriali e nelle sale di telecomunicazione.

ChorusOS- sistema operativo micronucleare in tempo reale, scomposto per sistemi che necessitano di essere elaborati. Nel 1997 Sun Microsystems ha acquistato i sistemi Chorus, la società che ha prodotto ChorusOS. Alla fine del 2002 i fondatori di Chorus Systems organizzarono una nuova società VirtualLogix e si occuparono dello sviluppo di sistemi per lo sviluppo di Linux e ChorusOS.

Nucleo- un sistema operativo real-time, realizzato da Accelerated Systems, follow-up sui sistemi della società Mentor Graphics, previsto, per diverse piattaforme di processori. Nabula si allargò nei decoder televisivi, nei telefoni cellulari e in altri annessi portatili e intestinali. Nucleus riceve da Garmin International un modulo GPS riconosciuto per l'aviazione civile.

OS-9- riccamente incaricato, rozrakhovan su un sistema operativo in tempo reale riccamente koristuvachіv, rozroblen Microware Systems Corporation.
Vincere per sistemi interattivi e in erba. Oggi OS-9 è di proprietà di RadiSys Corporation, un rivenditore in Oregon (USA).

VxWorks- Sistema operativo in tempo reale (RTOS) sviluppato da Wind River Systems (USA).
Come la maggior parte degli altri RTOS, VxWorks include un core multi-tasking con uno scheduler intelligente e una guida di ricostruzione rapida, supporto per interazioni e sincronizzazione tra processi, nonché un file system e un sottosistema di rete (stack di protocollo TCP/IP). Il pacchetto include strumenti per la compilazione incrociata, il monitoraggio delle prestazioni (WindView), il miglioramento dei caratteri in remoto e l'emulazione di diversi processori. Inoltre, viene fornito un gran numero di diversi stack di protocolli, sottosistemi grafici e altri. nonché dalla stessa Wind River Systems, nonché da società terze. Il supporto impersonale delle piattaforme VxWorks è uno dei più grandi ambienti RTOS.

La versione rimanente dell'ambiente di sviluppo integrato Wind River Workbench (fornito con VxWorks versioni 6.x e 5.x) è basata sull'ambiente Eclipse. Il centro proprietario anteriore della rosetta era chiamato Tornado.

Vittoria:

  • Mars Reconnaissance Orbiter nell'orbita di Marte (il sistema VxWorks sta gareggiando)
  • Le sonde Spirit e Opportunity, così come il Mars Reconnaissance Orbiter, utilizzano VxWorks sulla piattaforma POWER. Il sistema vince in altre missioni spaziali, ad esempio Deep Impact.
  • Si prevede di competere con i nuovi aerei di linea Boeing 787.
  • Comunicazioni di aziende facoltose (ad esempio Nortel, 3COM, Alcatel e altre).
  • Linksys WRT54G (ver.5,6,...), NetGear WGR614 (ver.5,6,7)
  • Stampanti PostScript attive.
  • Di proprietà medica di Siemens AG (crema per risonanza magnetica).
  • Interfacce BMW iDrive rimanenti

OS2000- Il sistema operativo in tempo reale (RTOS) è stato sviluppato dall'Istituto Nazionale di Scienza e Tecnologia dell'Accademia Russa delle Scienze per la progettazione del Ministero della Difesa RF per MIPS e microprocessori Intel.
Qia RV OS è riconosciuto come uno sviluppo software per sistemi (complessi software e hardware) utilizzati in modalità tempo reale.
Annessi di supporto:

  • Allegati Ethernet (protocolli NFS, FTP, Telnet);
  • allegati di archiviazione - floppy e dischi rigidi (file system vfat e tar)

Є supporto per il sottosistema grafico client-server del sistema X Window, che vince nei sistemi Unix.

Il computer vince, prima di tutto, per la sicurezza della flessibilità e per la semplicità di progettazione del sistema. Quando si visualizza un PC, il codice del programma deve essere salvato nella ROM e non su un disco rigido. integrare kіntsevy koristuvach non espandere di nuovo sicurezza del software per una dependance in muratura. Con lo sviluppo della tecnologia VLSI, i sistemi di pavimentazione sono diventati poco costosi, che possono essere trovati nella maggior parte degli apparecchi elettronici di oggi.

Applicare i sistemi vbudovanih

Un robot, così simile a un marsohid, indica un piccolo sistema 1.1 є vbudovanoy. Telefono Stilnikovy, PDA o lettore multimediale portatile, mostrato su un piccolo 1.2, o in edifici annessi. Installa uno spazzolino elettrico, mostrato su un piccolo sistema vbudovany da 1,2 є. piccolo microcontrollore allo spazzolino è sicuro programmare la manutenzione dello swidkist e l'indicazione diventerà una carica della batteria. Le auto ad alto rendimento possono vendicare quasi cento microcontrollori. Una tipica casa della classe media può essere vicina a 50 annessi costruiti. Per skin PC, il mondo ha più di cento allegati integrati. Zagalom, vbudovanі pristroї per stabilire una parte maggiore della produzione leggera di microprocessori.


Riso. 1.1.

Come si può vedere nella tabella 1.1, gli elettrodomestici possono essere trovati in vari prodotti industriali, inclusi elettronica e sistemi militari, sistemi biomedici, automobili, comunicazioni, apparecchiature informatiche, strumenti elettronici, elettronica domestica, apparecchiature industriali, robotica, macchine per ufficio e giocattoli intellettuali. Puoi sapere dove sono gli annessi.

I progettisti di sistemi in erba spesso rimangono bloccati con le attività di progettazione pieghevole. I sistemi Vbudovani possono essere degni. Molti annessi interni non possono essere lamatizzati e non possono essere rivalutati. Sicurezza del softwareè impossibile trasferirsi nelle ricchezze degli annessi. Molti annessi possono avere un semplice scambio costruttivo per produttività e risparmio energetico. Deyakі pristroї a causa di pratsyuvati dall'ora della batteria. Inoltre, spozhivchі pristroї zazvichay entra più rapidamente nel mercato con nuovi prodotti e può zhorst concorrenza sui prezzi. Nelle addizioni ricche c'è uno scambio di tempo reale e molti annessi, c'è uno scambio di memoria e c'è un calcolo dell'esaurimento.




Riso. 1.2.Tabella 1.1. Applicare i sistemi vbudovanih
Sistemi aeronautici e militari Piloti automatici di aeromobili, avionica e sistemi di navigazione, sistemi di atterraggio automatico, sistemi di guida, guida motori.
Sistemi biomedici Tomografia computerizzata e sistemi di follow-up ecografici, monitoraggio del paziente, pacemaker.
Macchine Gestione motore, impianti galvanici antibloccaggio, impianto galvanico antislittamento, manutenzione airbag, controllo riscaldamento e condizionamento, navigazione GPS, radio satellitare, diagnostica impianto.
Comunicazione Satelliti di comunicazione, router mesh, switch, concentratori.
Elettronica di Spozhivcha televisori, forni, lavastoviglie, lettori DVD, impianti stereo, sistemi di sicurezza, controllo dell'irrigazione del prato, termostati, telecamere, radiosveglie, trasmissioni automatiche, decoder TV via cavo e altri accessori.
Allegati per un computer Tastiere, mouse, stampanti, scanner, display, modem, allegati hard disk, DVD, schede grafiche, allegati USB.
Strumenti elettronici Sistemi di acquisizione dati, oscillografia, voltmetri, generatori di segnali, analizzatori logici.
Promessa di possesso Controllo ascensori, sistemi di sicurezza, robot, composizione CNC, controllori logici di programmazione, sistemi di automazione industriale e controllo.
Macchine per ufficio fax, fotocopiatrici, telefoni, calcolatrici, bancomat.
Annessi personali telefoni alla moda, lettori MP3 portatili, lettori video, assistenti digitali personali (PDA), orologio da polso elettronico, videogiochi portatili, fotocamere digitali, sistemi GPS.
robot Promislovi Roboti, servizi di trasporto autonomo, robot per l'esplorazione spaziale (ad esempio rover robotici)
giocattoli sistemi video, giocattoli robotici come "Aibo", "Furby" e "Elmo".

Sistemi operativi in ​​tempo reale

Sistemi in tempo reale dobbiamo a parametri esterni introduzione e creazione di nuovi risultati di osservazione per un'ora, come mostrato nel piccolo 1.3. L'ora potrebbe essere ma sarà obmezhenim. Anche l'ora banale del vіdpovіdі può essere causata dai sistemi di vіdm dell'ora reale.

Culo illustrativo sistema in tempo realeє controller dell'airbag per auto. Se i sensori del movimento dell'airbag (accelerometro) riconoscono lo spazio vuoto, il sistema deve reagire, curverò l'airbag con un allungamento di 10 ms, altrimenti il ​​sistema non funzionerà correttamente. Ad alta velocità da un tuck superiore a 10 ms, l'acqua si chiuderà già con la ruota kermovy prima che il cuscino si apra.


Riso. 1.3.

In un sistema soft di tempo reale, la priorità può essere attività di importanza critica. Il sistema M'yaka in tempo reale cinguetta agli scambi in tempo reale. Culo tipico morbido sistema in tempo realeє lettore multimediale. Il lettore a volte può saltare un fotogramma video o un campione audio e non può essere ricordato mentre il lettore funziona correttamente per più di una parte dell'ora.

Nello stesso sistema di tempo reale, un nuovo risultato di vedere l'ora può essere addebitato a intervalli di tempo, altrimenti il ​​sistema non funzionerà. Yak culo zhorstkoy sistema in tempo reale Diamo un'occhiata al sistema di telepolimerizzazione con kerms (da curare al computer). Nel sistema di gestione del volo dell'aeromobile, se il pilota muove il volante, il kerma della gestione del volo dell'aeromobile si sposterà più rapidamente, oppure spenderà la resistenza in caduta. Al fine di garantire la sicurezza, la FAA riesamina e certifica costantemente la risposta in tempo reale dei simulatori di volo computerizzati.

Le procedure per cambiare i lati della memoria virtuale e piegare la memoria, necessarie per i movimenti orientati agli oggetti, possono eliminare i problemi nei sistemi hard real-time. Navit keshuvannya è un problema, i frammenti possono portare a cambiare l'ora del programma.

Molti sistemi vbudovannyh є sistemi in tempo reale con input e output kіlkom. Dekіlka podіy vіdbuvayutsya indipendentemente uno in uno. programmazione sproshchuєtsya pіd podіlu zavdan, ale tse vіmagає con tsp postіyny svіykannya mizh iznimi zavdannyami. Sistema operativo, come supporto per il multitasking, la sicurezza podіl tempo TsP mizh kіlkom zavdannyami. Il sistema operativo si occupa anche degli elementi di sincronizzazione, del necessario coordinamento tra le diverse attività e funziona in parallelo.

I sistemi operativi sono spesso classificati in base alle caratteristiche del tempo reale. Sistema operativo Il tempo reale può essere relativamente progettato per supportare i programmi in tempo reale. Di recente, si è arrivati ​​al punto che il 95% dei programmi in tempo reale ha un'ora fissa nell'intervallo da 0,5 a 10 ms. Solo il 10% di ventilazione (raffreddamento da 50 microsecondi a 1 ms) al momento dell'evento può essere accettabile. Apparentemente, per un così gran numero di sistemi operativi del riconoscimento criptico non sono sistemi in tempo reale. Secondo questi criteri è stato creato un OS, come Windows XP, che può essere visto nel più breve tempo possibile solo come soft. sistema operativo in tempo reale. Per Windows XP, sono disponibili alcuni strumenti post-lavoratori di terze parti per migliorare l'ora di ripristino.

Sistemi operativi per sistemi di sveglia

È possibile piegare più nuovi annessi sicurezza del software, in quanto necessario per il multitasking, la sincronizzazione delle attività, il supporto per un'ampia gamma di dispositivi di input/output, la pianificazione e il buffering delle operazioni di input/output, la gestione della memoria, il supporto per le visualizzazioni grafiche, i file system, l'archiviazione, la sicurezza e la gestione del live. Sistema operativo puoi dare tutte le possibilità per aiutare i rivenditori dei programmi. I programmi applicati saranno produttivi, frammenti di fetore lavoreranno al più alto livello di astrazione, ausiliari del lavoro che si basa sul sistema operativo.

Di recente, è stato rilasciato un modello di telefono in stile per sostituire cinque milioni di righe di codice. Poche persone, a seguito di progetti, hanno spesso quei fondi necessari per lo sviluppo di tutto il codice in modo indipendente. Allo stesso tempo, c'è un senso economico per conquistare il sistema operativo principale. Il breve tempo di espansione e la diminuzione del tempo totale convalidano la variazione della licenza per il sistema operativo.

Il rinnovo della licenza di un tipico sistema operativo commerciale costerà meno di qualche dollaro per gli allegati. Deyakі aggiunte più semplici possono fare a meno del sistema operativo, ma le nuove aggiunte diventano pieghevoli.

A zv'yazku z tsim più vbudovanih annessi vikoristovuyut vbudovanu sistema operativo. I sistemi operativi sono costruiti per suonare nativi in ​​C/C++ e vengono forniti insieme a un compilatore C/C++, un assemblatore e strumenti di debug per aiutare i rivenditori a sviluppare programmi applicativi e testare le applicazioni. Strumenti per i sistemi rozrorobka vbudovanih difettosi anche per i programmi pіdtrimuvat vykonannya per il codice della guida archiviato in una memoria indipendente, come la ROM o la memoria Flash.

© 2022 androidas.ru - Tutto su Android