You are on page 1of 48

Tema nr.

10

Studeni implicai n redactare:


Enache M. Marinel (cap. 1) coordonator Rileanu N. Ionu-Victor (cap. 2 /2.1) Tnsel A.D. Andreea Laura (cap. 2/2.2) Teodorescu S. George (cap. 3) Burcea G. Roxana (cap. 4)

..:: 2010 ::..

CUPRINS

1. Concepte fundamentale..................... 1
1.1 1.2 1.3 1.4 Introducere.............................................................. 1 Sisteme dedicate...................................................... 2 Caracteristicile sistemelor de operare embedded..... 5 Exemple de sisteme de operare dedicate.................. 9

2. Sisteme Linux embedded.................. 11


2.1 2.2 Caracteristici embedded Linux..................................11 Exemple de sisteme embedded Linux....................... 18

3. Sisteme Windows embedded.......26 4. Retele LIN..............................................................40

1. Concepte fundamentale

1.1 Introducere
Un sistem de operare reprezint o colecie de programe, un ansamblu de proceduri speciale i module de program de sistem, ca parte component a unui echipament sau a unui aparat automatizat, avnd drept scop administrarea resurselor de calcul ale sistemului cu asigurarea utilizrii ct mai eficiente a acestora. Sistemul de operare este considerat ca o interfa ntre mediu hardware i cel al programelor de aplicaie sau utilizator.

Interfaa utilizator-echipamente

Sistemul de operare este cel care trebuie s ofere posibiliti de lansare n execuie a programelor de aplicaie cu alocarea resurselor necesare executrii acestora, s asigure mari faciliti la programele implementate diferitelor echipamente precum cele de planificare a execuiilor i asistarea acestora de utilizator. Pentru realizarea acestor procese complexe, sistemele de operare sunt organizate pe dou niveluri : [1] nivelul fizic- destinat comunicrii speciale ntre sistemul de operare si mediul fizic reprezentat de partea hardware a sistemului, interfernd cu acesta printr-un sistem de ntreruperi. nivelul logic- menit s ofere utilizatorului un mijloc de comunicare, control i acces la echipamente, prin diverse aplicaii special concepute sub forma unor utilitare, comenzi etc.

Sistemele de operare sunt numeroase i difer ca tip avnd n vedere utilizarea lor ntr-o gam din ce n ce mai variat a aplicaiilor necesare la un moment dat, astfel nct existena unui sistem de operare construit s garanteze funcionarea unui echipament anume a dus la noiunea de sisteme de operare ncapsulate sau sisteme dedicate, sisteme embedded. [2] Majoritatea sistemelor de operare pot fi ntlnite cu uurin la echipamente diversificate i cu un grad mare de complexitate, fie c sunt utilizate n industrie sau destinate oricrui potenial utilizator, ca pompe de petrol, avioane, automobile, ATMuri(bancomate), echipamente video, audio etc.

1.2 Sisteme dedicate


Un sistem dedicat reprezint un sistem informatic realizat dintr-o combinaie de structuri de calcul hard i soft, din circuite electronice i componente electromecanice capabile s realizeze funcii specifice(dedicate unor aplicaii), adesea cu constrngeri de calcul n timp real. Spre deosebire de sistemele dedicate, un calculator de uz general, cum ar fi un computer personal este proiectat s fie flexibil i s ndeplineasc o gam larg de nevoi ale utilizatorilor. Sistemele dedicate cunoscute i sub numele de sisteme embedded (integrate) sunt controlate de una sau mai multe nuclee de procesare principale care sunt de obicei fie microprocesoare, microcontrolere sau procesoare de semnal digital (DSP). Deoarece un sistem ncorporat este dedicat unor sarcini specifice, inginerii optimizeaz algoritmii, tehnicile de implementare i obinerea componentelor potrivite pentru a reduce mrimea i costul produsului n schimbul creterii fiabilitii i performanei. Complexitatea acestor sisteme dedicate variaz de la cea mai mic, valabil pentru acele dispozitive realizate cu un singur cip (microcontroler), la cea foarte mare pentru acele sisteme care conin mai multe uniti de procesare, mai multe periferice i reele montate ntr-un asiu mare sau chiar o incint. De exemplu, sistemele de control ale traficului aerian pot fi privite ca nite sisteme dedicate, chiar dac acestea implic computere mainframe i reelele regionale i naionale ntre aeroporturi i baze radar, avnd ns mai multe sisteme integrate n alctuirea lor. [3] Componente hardware utilizate n sistemele dedicate :

funciile unitii centrale de prelucrare (UCP) pe un singur cip (circuit integrat), fiind o component a unui microcalculator, avnd drept caracteristici puterea de procesare ridicat, complexitatea circuitelor i flexibilitatea n aplicaii. Acest circuit este rar folosit n sistemele dedicate, fiind o soluie de implementare a microcalculatoarelor, mai exact a calculatoarelor personale.
Microcontrolerul Acest circuit este utilizat cu preponderen n implementarea procesoarelor de date specifice sistemelor dedicate deoarece acesta deservete o aplicaie bine precizat. Este un circuit VLSI ( Very Large Scale Integration) i conine pe un singur cip toate componentele de baz ale unui microcalculator precum unitatea central de prelucrare, memorii, dispozitive de intrare/ieire, dispozitive periferice, astfel nct este caracterizat de o complexitate mai sczut n raport cu cea a microprocesorului precum i a aplicaiilor soft rulate, oferind performane ridicate la un cost sczut.

Microprocesorul reprezint un circuit electronic care nglobeaz toate

deoarece este menit s mbunteasc performana n ceea ce privete execuia mai rapid a operaiilor aritmetice, viteza i precizia de procesare numeric a semnalelor. Majoritatea DSP-urile actuale sunt prevzute cu dispozitive periferice i de intrare/ieire dup modelul microcontrolerelor i costul lor este relativ ridicat. Aceste modele de circuite sunt foarte importante n prelucrrile multimedia, telecomunicaii, comanda acionrilor electrice. [4]

Procesorul numeric de semnal reprezint un microcontroler specializat

Implementri tehnologice pentru sisteme dedicate: ASIC (Application-Specific Integrated Circuits) sunt circuite integrate realizate pentru aplicaii particulare bine precizate i destinate aplicaiilor de serie mare datorit costului ridicat. De exemplu un cip folosit la rularea unui telefon mobil este un ASIC. ASSPd (Application-Specific Standard Products) acestea sunt specifice unor aplicaii particulare dar care sunt adresabile unei clase largi de utilizatori fa de ASIC, fiind o categorie de circuite integrate situat ntre circuite standard de uz general i ASIC. [5] FPGA (Field Programmable Gate Array) acesta reprezint un dispozitiv electronic avnd la baza sa componente logice i conexiuni programabile, cu un consum ridicat de energie, fiind mai lent dect circuitele integrate ASIC i incapabil s execute operaii foarte complexe. Este un circuit care se programeaz dup fabricare de utilizator folosind un limbaj hardware HDL.

[6]

[7]

SOC ( System on Chip) tehnologia SoC prezint mai multe avantaje n raport cu circuitele integrate ASIC deoarece are un consum redus de la sursa de alimentare, fiabilitatea este sporit i poate include pe acelai cip i alte componente dect cele electronice cum ar fi cristalele de cuar i microcomponente electromecanice, fapt ce determin un cost mai ridicat i o utilizare specific n realizarea aplicaiilor de serie mare. O alternativ mai ieftin a SoC-urilor o reprezint categoria de cipuri SiP (System in Package) n care mai multe cipuri sunt incluse n aceeai capsul.

Clasificarea sistemelor embedded Ceea ce face ca sistemele dedicate s difere ntre ele pot fi: operaiile n timp real pe care le execut, dimensiunile, costul, fiabilitatea, consumul de energie care reprezint un factor important al circuitelor integrate, astfel nct acestea se pot clasifica dup cum urmeaz: [8]
Sisteme integrate la scar mic: n aceast categorie intrnd sisteme alctuite dintr-un singur microcontroler de 8 sau 16 bit cu complexitate

hardware i software sczut, care pot fi alimentate cu baterii i a cror programare se poate face n limbaje de asamblare.

microcontroler sau mai multe microcontrolere de 16 sau 32 bit, dar i utilizarea unor DSP-uri sau a unor procesoare cu set redus de instruciuni RISC, poate fi un mijloc eficient de realizare. Se caracterizeaz prin complexitate hardware i software i pot fi programabile prin intermediul unor medii de dezvoltare ca RTOS, IDE ( Integrated Development Environment ). de complexitate hardware i software, consum ridicat de energie i programarea se face folosind software dedicat.
Sisteme integrate la scar mare: Sunt caracterizate de cel mai crescut grad

Sisteme integrate la scar medie: Acestea pot fi formate dintr-un

Configuraie pentru un sistem dedicat n figur sunt reprezentate elementele principale existente unui sistem dedicat cu ajutorul crora el poate interaciona cu mediul extern, astfel nct pe lng unitatea central de prelucrare i memoria aferent, se altur o varietate de interfee pentru ca sistemul s poat msura, manipula datele. [9]

Portul de diagnosticare poate fi folosit pentru diagnosticarea sistemului embedded controlat, de asemenea utilizarea tehnologiilor FPGA i ASIC pot fi folosite pentru a spori performana i fiabilitatea, iar programul este fixat avnd un rol bine precizat pentru aplicaia creat.

1.3 Caracteristici pentru sisteme de operare dedicate


Sistemele de operare pentru tehnologiile embedded difer fa de sistemele operare pentru calculatoarele personale prin faptul c sunt concepute s fie mai compacte i mai eficiente datorit utilizri n scopuri precise i diferite , acelea pentru care au fost create. De altfel sistemele de operare embedded sunt realizate s aib dimensiuni mici i s fie capabile s ruleze pe perioade mari de timp(ani) fr intervenia manual. Majoritatea sistemelor de operare dedicate sunt caracterizate de funcionarea lor n timp real, ceea ce semnific c evaluarea corect a unor procese nu depinde doar rezultatul logic de prelucrare al datelor ci i de execuia a mai multor sarcini respectndu-se anumite constrngeri de timp astfel nct sistemul s poat rspund rapid la anumite procese i evenimente externe urgente, s-i poat schimba comportamentul la suprancrcri ale componentelor electrice i s treac ntr-un regim de consum redus. Potrivit acestor prelucrri de date se deosebesc sistemele de timp real critice( hard real-time system ) i sistemele de timp real necritice( soft real-time system ). Sistemele critice sunt foarte importante, iar soluiile soft pentru modul real-time sunt complexe i puternice deoarece nendeplinirea unor constrngeri de timp poate fi considerat o eroare grav, fatal pentru ntreg sistemul avnd urmri catastrofale. Celelate sisteme, de timp real necritice, nu iau serios n considerare o nendeplinire a unei constrngeri de timp, tolernd astfel de evenimente, care nu reprezint o mare importan pentru decurgerea i executarea proceselor ntr-un mod corect. Din cele prezentate se observ importana deosebit a sistemelor dedicate utilizate n timp real, care ndeosebi sunt destinate unor sarcini specifice complexe i astfel se poate vorbi despre necesitatea stabilirii unor condiii de ndeplinit n vederea proiectrii unui astfel de sistem care s asigure o gestionare a resurselor integrat, tratnd aspecte legate de constrngeri temporale, predictibilitate, adaptabilitate, corectitudine, toleran i siguran. Astfel, un sistem de operare n timp-real trebuie s ofere un model care s permit specificarea constrngerilor temporare pentru toate tipurile de procese, s aib un limbaj care s permit de asemenea luarea n considerare a comunicaiilor asincrone cu exteriorul, s ofere protocoale speciale pentru gestiunea memoriei ct i cele de comunicaie lund n considerare constrngerile temporare dar i mecanisme de sincronizare inter-taskuri i de sincronizare de ceas. Caracteristic sistemelor de operare n timp real este procesarea mai mult sarcini simultan cunoscut sub numele de multitasking cu prioritizarea firelor de execuie i prezentarea mai multor nivele de ntrerupere n etapele de calcul. Eficientizarea metodelor de calcul paralel i de execuie multipl a sarcinilor se poate face prin mecanisme de divizare n timp. [10]-[11]-[12]

n figura de mai jos se observ schema modelului multitasking potrivit creia mai multe sarcini sunt gestionate de ctre sistemul de operare n timp real a cror execuie este prezent pe un singur procesor.

Modelul sistemului de timp real cu un sistem de operare SOTR

Decizia de comutare a sarcinilor este luat de un nucleu multitasking, denumit i kernel care decide ce sarcin trebuie ndeplinit, astfel nct operaia n desfurare va fi salvat ntr-o zon de depozitare (memorie), restaureaz contextul noi sarcini din zona de depozitare i revine la sarcina noua. [13] Kernelul este cel care administreaz toate sarcinile denumite task-uri, iar cel mai important eveniment este comutarea lor, astfel nct se deosebesc 2 tipuri de kernele.

Kernel nepreemptiv

Acestui tip de kernel i corespund taskurile care sunt nevoite s renune n mod explicit la controlul procesorului, permite ntreruperi de laten sczut, deoarece niciodat nu va fi dezactivat, are timpul de rspuns determinat de cel mai lung task, nu exist suprancrcare pentru protecia datelor partajate, iar receptivitatea poate fi redus , din cauza sarcinii de prioritate redus pentru care este necesar o ateptare ndelungat pentru eliberarea procesorului.

Kernel preemptiv

La acest tip, receptivitatea este bun, deoarece taskurile sunt obinute pe baza unor prioriti, astfel nct o sarcin de prioritate mare poate s nlocuiasc o sarcin de prioritate mai mic pentru care s-ar necesita un timp mare de calcul. n aceste situaii timpul de rspuns devine determinist, deoarece la urmtoarea clip, sistemul de operare comut spre o nou sarcin. Aici este important gradul de complexitate al programrii, fiind realizat cu mare atenie. [13]- [12]

Planificarea n timp-real

Un element esenial al sistemelor de operare n timp real l reprezint managerul de sarcini (manager task) care este compus din dispecerul de task-uri i planificatorul de task-uri. Dispecerul de task-uri este o funcie care salveaz contextul task-ului care iese din rulare, determin task-ul care va intra n rulare i restaureaz contextul acestui task i-l introduce n rulare. Planificatorul conine funcia de selectare corespunztoare a sarcinilor folosind algoritmi speciali de planificare. n figura alturat este exemplificat schema planificrilor mpreun cu cei mai importani algoritmi de planificare n timp real pentru un sistem uniprocesor. [15]

Clasificarea algoritmilor de planificare uniprocesor

Algoritmii de planificare se pot grupa n dou clase i anume: statici i dinamici. Programarea static necesit informaia complet cu privire la problema de programare cum ar fi ( numrul de sarcini, termene limit, prioritti, etc.) cunoscut a priori, astfel nct problema este rezolvat nainte ca planificarea s fie executat. Acest tip de programare este cunoscut ca planificare anticipativ. Dac la momentul execuiei fezabilitatea poate fi determinat i schimbrile n configuraie pot fi efectuate, atunci planificarea poate fi considerat dinamic. Programarea static ntotdeauna este planuit off-line. Programarea dinamic se poate face i offline dac problema programrii complete e cunoscut a priori, dar cu o implementare online, adic configurarea este schimbat n timpul execuiei, i online cnd viitorul este necunoscut i ignorat. [15]

1. FPS ( Fixed-Priority Scheduling ) sau programare cu prioritate fixat reprezint modul n care fiecare sarcin are o prioritate stabilit i aceasta este calculat n timpul pre-execuiei, astfel nct sarcinile rulabile vor fi executate n ordinea determinat de prioritile lor. 2. RMS ( Rate Monotonic Scheduling ) sau rata de programare monoton folosit n cazul sarcinilor periodice care se rezum la execuia sarcinilor de prioritate mare asociat sarcinilor cu perioada cea mai mic. 3. DMS ( Deadline-monotonic priority assignment ) reprezint prioritatea politicii de alocare utilizat astfel nct sarcinile cu durat mic s capete cea mai mare prioritate. 4. EDF ( Earliest Deadline First Scheduling ) este un algoritm dinamic ce plaseaz procesele ntr-un ir prioritar astfel nct ori de cte ori are loc un eveniment de programare ca sfritul unei sarcini, sarcin nou lansat, etc. , irul va fi verificat pentru procesul apropiat de propria durat limit. 5. LLF ( Least Laxity First ) reprezint un algoritm optim pentru programarea sarcinilor anticipative unde laxity(relaxarea) reprezint diferena ntre durata limit i timpul rmas pentru execuie. 6. MUF ( Maximum Urgency First ) este algoritmul ce atribuie fiecrei sarcini o descriere explicit de urgen, ce poate fi definit ca o combinaie a dou prioriti fixate i o prioritate dinamic care este invers proporional cu relaxarea sarcinii. Una din prioritile fixate este numit sarcin de criticitate i are prioritate mai mare fa de prioritatea dinamic. Cealalt prioritate fixat numit prioritatea utilizator se afl sub prioritatea dinamic. Criticitatea este de ajutor pentru distingerea sarcinilor mai importante dect altele. De reinut este faptul c toi algoritmii dinamici enunai nu sunt optimi dac nu exist preempiunea nu este permis sau sistemul include mai multe procesoare. 7. SJF ( Shortest Job First ) este o metod nepreemptiv n care procesul n ateptare cu cel mai mic timp estimat pn la finalizare este urmtorul rulat. 8. SRT ( Shortest Remaining Time ) este o metod de planificare a unitii centrale de prelucrare fiind versiunea preemptiv a SJF, n care algoritmul const n faptul c procesele cu cel mai mic timp pn la finalizare sunt selectate pentru execuie 9. RR ( Round Robin ) este unul dintre cei mai simpli algoritmi pentru procesele din sistemele de operare, care atribuie poriuni de timp pentru fiecare proces n pri egale i n ordine circular, manipulnd toate procesele fr prioritate. 10. HRRN ( Highest Response Ratio Next ) acest algoritm previne amnarea nedeterminat. De fiecare dat cnd o sarcin este trecut peste pentru programare, raportul su de rspuns este ridicat i eventual acesta va fi expediat. [15]

1.4 Exemple de sisteme de operare dedicate


Sistemele de operare n timp real au evoluat de la sisteme bazate pe o planificare ciclic, la noile medii de operare performante, unde standardul POSIX a avut contribuia cea mai semnificativ. n consecin, exist o proliferare a versiunilor comerciale i gratuite de sisteme de operare n timp real astfel nct putem enumera cteva exemple ca: ITRON OS, OSEK-VDX, Vx-Works, VRTX, Lynx OS, OSE i QNX , dar i variante gratuite ca: RTlinux (RTAI), Windows CE. [14] Lynx OS

Acest sistem de operare este o variant de OS embedded cu caracteristici complete de conformitate POSIX, i prezint compatibilitate cu Linux, fiind scalabil, preemptibil i utilizat n mod special n sistemele embedded n timp real destinate unor aplicaii aerospaiale, militare, industriei de control al proceselor precum i n telecomunicaii. ITRON

Acesta este un SOTR specific sistemelor embedded rezultat din proiectul TRON (The Real Time Operating System-Nucleus). Companiile participante la implementare sunt cele ca Fujitsu, Hitachi, Mitsubhishi, Sony, etc. OSEK-VDX

Este un sistem de operare pentru platforme integrate ( embedded ) folosit n industria de automobile cu preponderen n Europa, garantnd sigurana i stabilitatea n utilizarea pe automobile, fiind adoptat de organizaii ca: BMW AG, Opel AG, Renault SA, Siemens AG, Volkswagen AG. VRTX

Este un sistem de operare n timp-real foarte fiabil produs de cei de la Mentor Graphics, fiind primul certificat n conformitate cu US FAA strict RTCA/DO-178B nivel standard A, pentru sistemele aerospaiale. Acesta este bazat pe rularea unui Nanokernel, de nalt tehnologie, care s asigure un rspuns rapid i predictibil. Vx-Works

Acesta este cea mai popular i mai complet variant comerciabil de sistem de operare n timp-real (de la Wind River Systems) n industria integratelor cu porturi pentru aproape toate procesoarele de pe pia.

Windows CE

Reprezint sistemul de operare embedded de la Microsoft pentru PC-uri minimale sau pentru procesoare integrate mici. [14] n concluzie dac aplicaiile embedded de timp real din primele generaii erau simple i presupuneau algoritmi foarte sofisticai sau prelucrri complexe, azi acestea au evoluat ca urmare a cercetrilor i rezultatelor deosebite din acest domeniu i astfel a fost necesar creterea performanelor dispozitivelor integrate pentru proiectarea unor aplicaii critice de siguran i predictibilitate deosebit precum: sisteme de aprare naional, sisteme de control ale traficului aerian, sisteme de aprare spaiale, largi sisteme de comand i control n producie, etc.

BIBLIOGRAFIE:
[1]- http://en.wikipedia.org/wiki/Operating_system [2]- http://jdurrett.ba.ttu.edu/courseware/opsys/os01.htm [3]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.3522 [4]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.95.9879 [5]- http://en.wikipedia.org/wiki/Application-specific_integrated_circuit [6]- http://en.wikipedia.org/wiki/Field-programmable_gate_array [7]- http://en.wikipedia.org/wiki/System-on-a-chip [8]- http://www.slideshare.net/murugan_m1/embedded-system-basics [9]- http://www.ece.cmu.edu/~koopman/iccd96/iccd96.html [10]- http://www.google.com/books?id=c_F2ckT-ZVsC&printsec=frontcover&dq=real+time+concepts+for+embedde+system&hl=ro&cd=1#v=onepage&q&f=false [11]- http://www.ece.cmu.edu/~koopman/des_s99/real_time/ [12]- http://en.kioskea.net/contents/systemes/sysintro.php3 [13]- http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.62.3202 [14]- http://users.soe.ucsc.edu/~sbrandt/rtss2000/proceedings/16.pdf [15]- http://ascc2004.ee.mu.oz.au/proceedings/papers/P150.pdf

10

2. Sisteme embedded linux


2.1 Caracteristici Embedded Linux
2.1.1 Introducere
Embedded Linux este utilizarea Linux n sisteme informatice integrate, cum ar fi telefoanele mobile , Personal Digital Assistant , playerelor multimedia i alte dispozitive electronice de consum, reele de echipamente, masini de control, automatizari industriale , echipamente de navigaie i instrumente medicale. Conform sondajului realizat de Capital Development Corporation, Linux a fost folosit de 18% din ingineri embedded.
2.1.1.1 Diferene fa de alte sisteme de operare Linux

Spre deosebire de desktop i versiunile de Linux server, versiunile de Linux embedded sunt concepute pentru dispozitive cu resurse relativ limitate. Datorit preocuprilor cum ar fi costul i dimensiunea, numrul dispozitivelor embedded au, de obicei, mult mai puin RAM i spatii de stocare secundare dect calculatoarele de birou, i sunt susceptibile de a folosi memorie flash n loc de un hard-disk . Deoarece dispozitivele integrate servesc scopuri specifice, mai degrab dect s serveasc scopuri generale, dezvoltatorii i optimizeaza dispozitivele embedded Linux special pentru configuraii hardware specifice i situaii de utilizare. Aceste optimizri pot include reducerea numrului de drivere i aplicaii software , i modificare a kernelului Linux pentru a fi un sistem de operare in timp real. n loc de o suit complet de aplicaii software de birou, sistemele embedded Linux folosesc adesea un mic set de software gratuit de utiliti, cum ar fi busybox , i nlocuiesc biblioteca glibc standard C, cu o alternativ mai compacta, cum ar fi dietlibc , uClibc , sau Newlib.
2.1.1.2 Dezvoltare

Linux a fost portat la o varietate de procesoare nu potrivite pentru utilizarea ca procesor de computere desktop sau server, cum ar fi diverse CPU-uri , inclusiv ARM, avr32 , Blackfin , cris , frv , h8300 , IP7000 m32r , m68k , MIPS , mn10300 , PowerPC , sh , sau xtensa procesoare, ca o alternativ la utilizarea unui proprietar de sistem de operare i toolchain. Avantajele Linux embedded, fata de alte sisteme de operare integrate, nu includ drepturi de autor sau taxe de acordare a licenelor, un nucleu stabil, o baz de sprijin care nu este limitat la angajaii unei companii de software unic, i capacitatea de a modifica i redistribui codul surs . Dezavantajele includ o amprent de memorie mai mare comparativ (kernel-ul i sistemul de fiiere rdcin), complexitatea modului de utilizare i nucleu modul de acces kernel la memorie si complexitatea driverelor dispozitivelor framework.

11

2.1.1.3 Grupurile de interese speciale

Mai multe grupuri din industrie s-au format pentru a ncuraja utilizarea Linux n aplicaii embedded. Acestea includ: CE Linux Forum , fondata in anul 2003 pentru a ajuta includerea de caracteristici embedded n ramura principal a kernel-ului Linux; Linux Foundation (fost Open Source Development Labs ); Linux Telefon Standarde Forum , creat n 2004 pentru a urmri o serie de aplicaii standard medii pentru telefoane mobile bazate pe Linux i "dispozitive convergente"; Fundatia LiMo , fondat n 2006 de ctre Motorola , NEC , Panasonic , Samsung , DoCoMo , i Vodafone pentru a stabili un set de interfee i componente standard de referin pentru a mbunti a tera parte a dezvoltatorilor de telefoane mobile. Dezvoltarea Embedded Linux implic n general trei nivele: bootloader, kernel-ul Linux, i interfaa grafic de utilizator (sau GUI)
http://en.wikipedia.org/wiki/Embedded_Linux

2.1.2 Bootloader

Bootloader este situat pe primele adrese. Una dintre cele mai importante componente pentru orice aplicatie embedded este Bootloader. Principalele sale funcii sunt: initializare hardware, ncrcarea i pornirea Kernel-ului din memoria ROM. Memoria ROM este folosita pentru c este un memorie non-volatila (nu are nevoie de putere pentru a menine coninutul).
http://dev.emcelettronica.com/embedded-linux-linux-operating-system-microcontrollers

Bootloader-ul este de obicei prima bucat de cod care va fi executat pe orice hardware. n sistemele convenionale cum ar fi desktop-uri, aplicaia bootloader este n mod normal, ncrcata n zona MBR (Master Boot Record), sau primul sector de pe hard unde este instalat Linux. n mod normal, BIOS-ul transfera controlul la bootloader n cazul desktop-urilor sau altor sisteme. Acest lucru pune o ntrebare interesant: cine ncarc bootloader pe dispozitive embedded, care (n majoritatea cazurilor) nu au BIOS? Dou tehnici de ordin general sunt utilizate pentru a aborda aceast problem: software specializat i tiny bootcode.

12

instaleaza bootloader-ul la orice locaie din flash. Dispozitivele flash sunt cipuri speciale care se comport ca dispozitive de stocare i care sunt persistente coninutul nu este ters la reboot. octei - care va iniializa unele setri DRAM i activeaza un port serial (sau USB sau Ethernet) la int pentru a comunica cu programele gazd. Programele gazd pot utiliza aceasta conexiune sa transfere bootloader-ul la int, unde este scris in flash.
2.1.2.2 Unele clase de dispozitive embedded au tiny bootcode - pe ordinea de ctiva

2.1.2.1 Software-ul de specialitate poate interaciona direct cu un dispozitiv flash i

Dup ce este instalat i are controlul, aplicaia bootloader efectueaz urmtoarele tipuri de funcii: Iniializeaza viteza procesorului Iniializeaza memoria, aceasta include activarea bancurilor de memorie,initializeaza registrele de configurare din memorie, i aa mai departe Iniializeaza portul serial (dac este prezent) Activeaz instruciuni / date caches Seteaza indicatorul de stiva Seteaza zona parametrilor, construieste structura parametrilor si taguri (acesta este un pas important, pentru ca parametri de boot sunt utilizati de ctre kernel pentru identificarea dispozitivelor rdcin, dimensiunea paginii, dimensiunea memoriei) Efectueaza POST (Power On Self Test) pentru a identifica dispozitivele prezente i de a raporta orice problema Furnizeaza sprijin pentru suspendare / reluare pentru gestionarea consumului Salt la nceputul kernel-ului Un aspect tipic de memorie a sistemului cu bootloader, structura parametru, nucleu, sistem de fiiere ar putea fi, dup cum urmeaz: Aspect tipic de memorie:

/* inceputul memoriei */ Bootloader Zona de parametrii Kernel Sistem de fisiere /* sfarsitul memoriei */

Dup ce bootloader-ul este instalat n flash, acesta ndeplinete toate initializarile pe care le-am menionat mai nainte. Apoi, este gata s primeasc kernel-ul i sistemul de fiiere de la gazd. Odat ce kernel-ul este ncrcat, bootloaderul transfera controlul kernel-ului.
3.1.2.3 nfiinarea unui toolchain

nfiinarea unei toolchain creeaz un mediu pe o main gazd pentru compilarea kernel-ului i acele aplicaii care urmeaz s fie executate - acest lucru se datoreaz faptului c hardware-ul int poate sa nu aibe nivel binar de executie compatibil cu gazda. Un toolchain este format dintr-un set de componente folosite pentru compilarea, asamblarea, si legarea kernel-ul i aplicaiilor. Aceste componente includ:

13

Binutils - O colectie de utilitare pentru manipularea fiierelor binare. Acestea includ utilitare cum ar fi ar, ca, objdump,objcopy, i aa mai departe. GCC compilatorul C GNU. Glibc - biblioteca C la care se leaga toate aplicatiile. Kernel-ul i alte lucruri care evita utilizarea oricarei biblioteci C pot fi compilate fr ea.

http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon

2.1.3 Kernel
Kernel-ul este compilat pentru sistemul int, apoi este ncrcat n memoria de sistem (fie n DRAM sau n Flash), folosind bootloader-ul (care a fost deja ncrcat in flash). Bootloaderul comunic cu gazda folosind port serial, ESB, sau port Ethernet pentru a transfera imaginea de kernel n flash sau DRAM. Dup ce kernel-ul este complet ncrcat la int, aplicaia bootloader paseaza controlul la adresa de unde kernel a fost ncrcat. Kernel-ul executabil este format din mai multe fiiere obiect legate mpreun. Fisierele obiect au mai multe sectii, cum ar fi text, date, date de iniializare, bas, i aa mai departe. Aceste fiiere obiect sunt legate i ncrcate de un dosar cunoscut ca un script de linker. Funcia de script-ului de linker este de a mapa seciuni ale fiierelor obiect de intrare ntr-un fiier de ieire, cu alte cuvinte, se leag toate fiierele obiect de intrare ntr-un singur executabil ale cror seciuni sunt ncrcate la adresele indicate. vmlinux.lds este scriptul de linker al kernel-ului prezent n arch/ <target> / director, i este responsabil pentru conectarea diferitelor seciuni ale kernel-ului i ncrcarea lor la un anumit offset n memorie. Un vmlinux.lds tipic arata astfel:
OUTPUT_ARCH(<arch>) ENTRY(stext) SECTIONS { . = TEXTADDR; .init : { _stext = .; /* <arch> include tipul arhitecturii */ /* stext este punctual de intrare al kernelului */ /* SECTIONS comanda descrie aspectul fisierului de iesire */

/* TEXTADDR este LMA pentru kernel */ /* initializeaza codul si datele*/ /* prima sectiune este stext apoi sectiunea __init data */ __init_begin = .; *(.text.init) __init_end = .; } .text : { /* segmentele de text real urmeaza sectiunea __init_data */ _text = .; *(.text) _etext = .; /* sfarsitul selectiei textului */ } .data :{ _data=.; /* sectiunea de date vine dupa sectiunea de text */ *(.data) _edata=.; } /* sectiunea de date se termina aici */ .bss : { /* sectiunea BSS urmeaza sectiunea symbol table */ __bss_start = .; *(.bss) _end = . ; /* sectiunea BSS se termina aici */ }

LMA este load module address; ea semnific adresa n memoria virtuala unde kernel-ul va fi ncrcat. TEXTADDR este adresa virtuala de start a kernel-ului i

14

valoarea sa este specificat n Makefile sub arch / <target> /. Aceast adres trebuie sa se potriveasc cu adresa bootloader. Odat ce bootloader-ul copiaza kernel-ul in flash sau DRAM, kernel-ul este mutat la TEXTADDR- care este, de obicei n DRAM. Bootloader transfera apoi controlul la aceast adres, astfel nct kernel-ului poate incepe executarea. Drivere pentru dispozitive Sistemele integrate au de obicei o serie de dispozitive pentru interaciunea cu utilizatorul, cum ar fi touchscreen, tastaturi, senzori, interfeele RS232, LCD-uri, i aa mai departe. n plus fa de acestea, exist multe alte dispozitive specializate, inclusiv flash, USB, GSM, i mai mult. Kernel-ul controleaza - i aplicaiile de utilizator, inclusiv accesul GUI - toate aceste dispozitive prin intermediul driverelor respectivelor dispozitive. Sisteme de fiiere pentru dispozitive integrate Sistemul are nevoie de o modalitate de a stoca i prelua informaiile ntr-un format structurat; aici intervine sistemul de fiiere. Ramdisk este un mecanism pentru crearea si montarea sistemelor de fiiere cu ajutorul memoriei RAM a calculatorului i este utilizat de obicei n Sisteme fr disc (inclusiv, desigur, dispozitivele embedded mici care conin cipuri flash pentru stocare persistent). Utilizatorul poate alege tipul de sistem de fiiere bazat pe nevoi: de fiabilitate, robustete, i / sau caracteristici mbuntite.
http://www.linux.it/~rubini/docs/kconf/ http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon

2.1.4 Interfa grafic pentru utilizator (GUI) opiuni


Interfa grafic pentru utilizator (GUI) este cel mai esential aspect al sistemului din punctul de vedere al utilizatorului: utilizatorul interacioneaz cu sistemul prin intermediul GUI. Deci GUI ar trebui s fie uor de utilizat i destul de fiabil. Dar, de asemenea, trebuie s aibe memorie constienta pentru a executa perfect pe memorii constrnse, mici dispozitive embedded. Ca urmare, acesta trebuie s fie uor i foarte rapid n timpul ncrcrii. Un alt aspect important este s ia n considerare problema de acrodare a licentelor. Unele distribuii GUI au licene care le permit s fie folosite, chiar i n produse comerciale, cu titlu gratuit. Altii cer ca drepturile de autor s fie pltite, n cazul n care GUI este implicat ntr-un proiect. n final, cel mai probabil, dezvoltatorii vor opta pentru XFree86, deoarece acesta ofer un mediu familiar pentru ei de a folosi instrumentele lor preferate. Dar GUI noi pe piata ca Software Microwindows Century (nano-X) i a lui QT Trolltech / embedded le dau o durere de cap firmelor care se ocupa cu Linux embedded n principal din cauza amprentelor mici precum si viteza de executie.
2.1.4.1 XFree86 4.X (X11R6.4 cu suport pentru framebuffer)

Proiectului XFree86, Inc este o organizaie care produce XFree86, cu distributie n mod liber, cu sursa deschisa X Window System. X Window System (X11), ofer resurse pentru aplicatii ca sa se afiseze intr-o maniera grafica, i este cel

15

mai frecvent utilizat de sistemul UNIX i-like boxes UNIX. Acesta este mic i eficient, ruleaza pe o gam larg de hardware, este transparent fata de retea, i este bine documentat. X11 ofera facilitati puternice pentru gestionarea ferestrelor, manipularea evenimentelor, sincronizare. Dezvoltatorii sunt deja familiarizati cu API-urile sale. Are suport inclus pentru framebuffer-ul kernel, i o amprenta foarte mica - ceea ce este foarte util pentru dispozitive cu mai putina memorie. XServer suport i VGA, non VGA carduri grafice, are suport pentru adncimi 1, 2, 4, 8, 16 i 32, i a construit un suport pentru redare. Cea mai recent versiune este de XFree86 4.1.0. Avantaje: Utilizarea vitezei arhitecturii pentru framebuffer. Relativ mici amprente - mrimea este n intervalul de la 600 la 700 kilobytes, ceea ce l face uor pentru a rula pe dispozitivele mici. Suport foarte bun: o mulime de documente s fie disponibile on-line, exist, de asemenea, o serie de liste de coresponden pentru dezvoltarea XFree86. API X este foarte bogat. Dezavantaje: performan mai mica dect cel mai recent embedded GUI. Din nou, n comparaie cu cele mai noi evoluii n GUI - cum ar fi nano-X sau QT / embedded, care sunt concepute special pentru mediul embedded XFree86 are cerinte mari de memorie.
2.1.4.2 Microwindows

Microwindows este un proiect open source din Century Software care este proiectat pentru dispozitivele mici cu unitile de afiare mici. Are o multime de caracteristici care vizeaz mediul grafic de ferestre moderne. Microwindows este acceptat pe o varietate de platforme. Arhitectura Microwindows este bazata pe client / server si are un aspect in straturi. La nivelul cel mai sczut sunt ecranul i driverele dispozitivului de intrare (ca i pentru tastatura sau mouse) s interacioneze cu hardware-ul real. La nivel de mijloc, un motor grafic portabil ofer sprijin pentru elemente grafice. La nivelul cel mai de sus, Microwindows suporta doua API-uri: Win32/WinCE API, precum i Nano-X,care este folosit pe Linux. Microwindows are suport pentru 1, 2, 4, i 8 BPP (bii per pixel) display-uri paletizate, precum i 8, 15, 24, i 32 display-uri trucolor BPP. De asemenea, Microwindows suport framebuffer-ul, ceea ce l face destul de rapid. Amprenta serverului Nano-X este undeva n jur de 100 - 150 kilobytes. Avantaje: Spre deosebire de implementarea Xlib, nano-X nc ruleaz sincron pe client, ceea ce nseamn c, o dat ce o cerere pachet este trimisa de client, serverul ateapt pn cand intregul pachet a sosit, nainte de a servi un alt client. Acest lucru ine codul extrem de simplu, n timp ruleaza foarte repede. Amprente mici Dezavantajele: Caracteristicile Networking nu sunt corect reglate nc (n special transparena fata de reea). Nu multe aplicatii sunt disponibile. Comparativ cu X, nano-X nu are documentaia mare i nu suporta la fel de bine dezvoltarea este foarte rapida, astfel nct aceasta se poate schimba.

16

2.1.4.3 API FLTK pe Microwindows FLTK este un simplu, dar flexibil GUI toolkit, care ctig o atenie sporit n lumea Linux, n special pentru mediile cu amprenta mica. Acesta ofer cele mai multe widget-uri pe care le-ar atepta de la un set de unelte GUI precum butoane, casete de dialog, casete de text, i o frumoas selecie de "evaluatori" (widget-uri folosite pentru introducerea valorilor numerice). Acestea includ bare de defilare, cadrane, i alte cteva. Versiunea pentru Linux a FLTK vizat pentru motorul GUI Microwindows este cunoscut ca FLNX. FLNX este alctuit din dou componente: Fl_Widget i FLUID. Fl_Widget cuprinde toate API-urile de widget de baz. FLUID (Fast Light User Interface Designer) este un editor grafic utilizat pentru producerea de cod surs FLTK. n total, FLNX este un excelent constructor UI, care poate fi folosite pentru a crea aplicatii pentru mediile integrate. Amprenta lui Fl_Widget este de aproximativ 40 - 48 K i FLUID (care include fiecare widget), cantareste aproximativ 380 K. Aceste amprente foarte mici fac Fl_Widget i FLUID foarte populari n lumea de dezvoltare embedded. Avantaje: Oricine este obinuit cu dezvoltarea de aplicatii GUI bazate pe mai multe medii stabilite ca Windows se va adapta la mediul FLTK destul de uor. Documentaia sa include un manual foarte complet i bine scris. Acesta este distribuit sub LGPL, pentru ca dezvoltatorii sa aibe flexibilitate in modul in care pun licenta pe aplicatiile lor. FLTK este o biblioteca C + +. Alegerea unui model orientat pe obiect este buna, iar mediile cele mai moderne GUI sunt orientate pe obiect; aceasta ar trebui s faciliteze, portarea cererilor scrise la API-uri similare. mediul Century ofer mai multe faciliti utile, cum ar fi ScreenTop i browserul ViewML. Dezavantaje: n timp ce FLTK functioneaza atat cu X i API-uri Windows, FLNX nu functioneaza. incompatibilitatea sa cu X mpiedic adoptarea sa n multe proiecte.
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Embedded-Linux-Graphics-QuickReference-Guide/ http://www.ibm.com/developerworks/library/l-embdev.html#ibm-pcon http://www.microwindows.org/

2.1.5 Concluzii
Dezvoltarea Embedded Linux are o evoluie rapid. Trebuie s studiezi i s alegi dintr-o varietate de opiuni pentru orice, de la bootloader i distribuie, la sistemul de fiiere i GUI. Dar, datorit acestei libertati de alegere, la o comunitate foarte activ Linux, dezvoltarea embedded pe Linux a ajuns la noi perspective, si modificarea modulelor dupa specificatiile personale nu a fost niciodat mai simpla. Acest lucru a dus la crearea multor dispozitive handheld i miniaturale moderne, care este un lucru foarte bun - nu trebuie s fi un expert pentru a alege dintre aceste module sa adaptezi aparatul tau la propriile nevoi.

17

2.2 Exemple de Sisteme Embedded


Acestea sunt distributiile de embedded Linux, care sunt meninute i susinute de companii ca produse comerciale. Ele ofer o gam larg de capabiliti i intesc o gam larg de piee, de la infrastructura de telecomunicaii high-end, pentru calculatoare personale, pana la control embedded low-end. Nu toate produsele enumerate aici rmn disponibile n comer. Cu toate acestea, ele au fost inute pe lista pentru scopuri de interes istoric. AMIRIX: Embedded Linux - derivate din standard, open source Debian GNU / Linux i adaptate prin adugarea de driverele de dispozitive hardware i de instrumentele specifice configuraiei sistemului. Suporta mici amprente, fr disc, Flash-based, cerine headless system. Coollogic: Coollinux - Coollinux AE (Appliance Edition) combin puterea de Linux si tehnologia Java pentru a furniza un sistem de operare pentru urmtoarea generaie de aparate de internet. Coventive: XLinux - nucleu embedded Linux , care poate fi configurat s foloseasca ct mai puin,pana la 143KB pentru aparatele de informare si cele embedded. Suport: 586, 686, MediaGX, STPC, StrongARM, SH3/SH4, PA-RISC, ARM-7, i multe altele. Esfia: RedBlue Linux - o distribuie Embedded Linux pentru solutii de comunicare wireless, derivate din pre-lansarea kernel nucleului Linux 2.4. Acesta are o amprenta de nucleu tipic de 400k octei i suport procesoare att cu i fr MMU. KaeilOS (fost Klinux) - o distribuie embedded Linux pentru aplicaii industriale. Acesta include instrumentele de dezvoltare i depanare pentru sisteme embedded i sisteme n timp real, att generale ct i de documentare specifica, create n ntregime de ctre Koan Software, din Bergamo, Italia. KYZO: PizzaBox Linux - o imprimare de fiiere bazate pe Linux i Samba, cu CDul serverului proiectat pentru a rula de la 6MB de Flash ROM pe un procesor 486 (sau mai mare). Lineo: Embedix - o solutie embedded de software bazat pe Linux, care este proiectat special pentru viteza, memoria i cerinele de stocare a dispozitivelor ncorporate. Suport o gam larg de procesoare cu i fr MMUs, inclusiv X86, PowerPC, ARM, MIPS, i multe altele. Include suport pentru mici amprente, n timp real (bazat pe o alegere de RTAI sau RTLinux), precum i soluii de nalt disponibilitate. LynuxWorks: BlueCat - o distribuie de open-source Linux, mbuntita pentru a ndeplini cerinele dezvoltarilor embedded, proiectat pentru a permite configurarea pentru a se potrivi cu acuratee cerinelor de dezvoltare embedded, de la mici

18

dispozitive la scara larg a sistemelor multi-procesor i aplicaii de nalt disponibilitate . Suport o gam larg de procesoare, inclusiv X86, PowerPC, ARM, MIPS, i multe altele. Mizi: Linu @ - Linu @ este un sistem embedded de operare Linux cu o interfa grafic bazat pe Qt / Embedded. Eficiena i dimensiunea compact sunt bine adaptate la Internet Appliance, Smart Phone, i aplicaii PDA. Procesoarele acceptate includ ARM, StrongARM, MIPS, x86, i MPC. OS necesit destul de puin ,cam 2MB DRAM i 4MB de memorie Flash. MontaVista: Hard Hat Linux - Hard Hat Linux Cross Development Kit are ca tinta o gam larg de arhitecturi de processor embedded, placi si platforme la nivel de sistem pentru aparatele de internet, dispozitive portabile, echipamente de retea, interfete de telefonie. Neoware: NeoLinux - o distribuie embedded Linux care este derivata de la Red Hat Linux i este optimizata pentru utilizarea n aparate de informaii. Suporta bootarea de pe memorii flash locale sau de pe un server de reea de la distan, i ofer capabiliti pentru sistemul de management de la distan. PalmPalm: Tynux - o soluie de Embedded Linux optimizata pentru aparatura Internet inclusiv MP3 playere, video playere, televizoare pe internet, PDA sau telefoane mobile, telefoane de Internet, echipamente de conferinte video, telefoane video, etc. Red Hat: Embedded Linux - Red Hat ofera tehnologii embedded atat pentru execuie cat i pentru dezvoltare i este dedicata sistemelor variind de la dispozitive embedded la aparate high-end. Tehnologiile specifice includ Embedded Linux, EL / IX, RedBoot, uClinux, i GNUPro, plus portare personalizata i servicii de optimizare. REDSonic: RedIce-Linux - o distribuie embedded Linux care suport numeroase computere i poate rula att din DiskOnChip sau CompactFlash media. De asemenea, ofer capabiliti n timp real. RidgeRun: DSPLinux o distribuie embedded Linux si un instrument axat pe multimedia, wireless i dispozitive de band larg bazate pe procesoare dual-core, care combina un nucleu ARM cu un procesor de semnal digital (DSP) cu nucleu de un singur cip. Nucleul DSPLinux ruleaza pe ARM, n timp ce activitatile din timp real ruleaza pe DSP. SysGo: ELinOS Embedded Linux - ELinOS este bazat pe Linux Kernel 2.4 i ofer, prin urmare, cele mai recente caracteristici Linux, cum ar fi Jurnalizarea Flash File System (JFFS), Memory Technology Devices (MTD), precum i suport extins pentru USB. Suportul activitatilor in timp real este disponibil prin extinderea kernelului RTAI .

19

TimeSys: GPL Linux - o distribuie Linux pentru placi embedded. Include un nucleu Linux cu low-latency consolidata, plus biblioteci, lanuri de instrumente, utilitare, drivere, scripturi, i documentaia, toate distribuite sub GNU Public License (GPL). Opiuni suplimentare sunt disponibile pentru mbuntirea sistemului n timp real, servicii de calitate i performan n reea. Tuxia: TASTE o distributie embedded Linux care are ca tinta aparatele de Internet, inclusiv webpads, set-top, clientii subtiri, si telefoane ecran. Cuprinde o stiva complet de componente software, inclusiv drivere de hardware, nucleul Linux Embedded, motor grafic, Java Virtual Machine, i aplicarea la nivel de cod. Vitals System: vLinux - un port de Linux pentru aplicaii bazate pe ARM ncorporat. vLinux poate sprijini, de asemenea, procesoare non-MMU ARM, care sunt potrivite pentru modele low-cost pentru producia comercial. vLinux sprijina, n present,ARM-ul Samsung ce are nucleul bazat pe procesorul RISC de familie; cu toate acestea, porturile de procesoare suplimentare sunt n curs de desfurare. Wind River Linux - ofer o distributie General Purpose Platform Linux cu add-onul opional Real-time Core. Acesta ofer, de asemenea, distributia "Platform" Linux care vizeaz aplicaii specifice de pia: - Mobile Internet Devices (bazat pe arhitectura Intel Atom) - Infotainment - Echipament de reea - Aparate de consum TUXIA (R) a deschis un nou drum n domeniul sistemelor embedded Linux prin furnizarea de experienta deplina de Internet la reeaua de calcul i la aparate de informaii, cum ar fi cutii settop, clientii subtiri / terminale de web i PDA-uri. Fiind ca o parghie mai mult de opt ani cu experienta in pionierat dispozitive cheie Linux, TUXIA (R) a proiectat o noua generatie de sisteme embedded, cu TASTE (TUXIA Appliance Sinteza Tehnologie). TASTE, dispune de un sistem de operare Linux Kernel 2.4, browser-ul Nanozilla (R), un complement de plug-in-uri i alte funcionaliti care sunt configurate n funcie de utilizarea unui aparat de informare. Folosind tehnologie de compresie bloc, TUXIA (R) a proiectat TASTE-ul pentru a avea amprenta cea mai mic de memorie a oricrui sistem embedded Linux disponibil astzi, care ofera economii dramatice pentru producatorii de dispozitive. Cu kit de dezvoltare TUXIA EST (TUXIA Sinteza Mediu), software-ul aparatului poate fi uor adaptat i extins pentru nevoile clienilor. Cu excelente centre se intinde pe patru continente, echipa TUXIA crescand cu cate 120 de membri, fiind unul dintre cei mai importanti producatori la revoluia embedded Linux. Parteneriate strategice TUXIA includ ACCES, Citrix, Insyde Software, Accesorii FOCUS, M-Systems, MGI, National Semiconductor, STMicroelectronics si Tvia. TUXIA este vrful de lance, de asemenea, al Consortiului Embedded Linux in Europa.

20

Implementarile Embedded Linux sunt disponibile ca obiecte descrcabile i coduri surs, i sunt acoperite de licene open source. Ele au ca tinta o gam larga de nevoi i pot fi modificate pentru a se potrivi cu cerinele aplicaiilor specifice. Embedded Debian - acest proiect i propune s fac Debian GNU / Linux o alegere mainstream pentru proiecte embedded. AMSEL - Advanced module integrate Secure Linux este un sistem de operare, bazat pe kernel-ul Linux, care a fost dezvoltat si optimizat special pentru desfurarea n medii critice de securitate embedded. Functiile tipice pentru o instalaie AMSEL sunt, de exemplu, de implementare ca dispozitiv de filtrare de pachete sau ca o poarta de acces cripto (VPN, SSH-la-Telnet). Embedded Gentoo - Un proiect pentru crearea de versiuni embedded de Gentoo Linux a realizat versiuni preliminare pe x86, MIPS, PPC i ARM. Versiunile includ nuclee binare native de sistem, cross-platform toolchains, i, pentru x86, un toolchain opional imbunatatit. Proiectul are nevoie, pentru a ajuta dezvoltatorii sa aduge cross-compilare, de constientizare pentru pachetelor surs. ETLinux - o distribuie Linux complet proiectata pentru a rula pe calculatoare industriale mici, mai ales PC/104 module. FREESCO - uor de utilizat, alternativa open source la produsele comerciale de rutare, care include multe din caracteristicile sistemului de operare Linux, n software-ul care se potrivete pe o singur dischet. Utile pentru crearea de routere fiabile, poduri, i servere. Linux Router Project - o "reea centrala de micro-distribuie" de Linux care face uoara constructia / meninerea routerelor, serverelor de acces, serverelor subire, clientilor subtiri, aparatelor de reea i sistemelor embedded. LRP ncape pe o singur dischet. Linux VR proiect - acest proiect ofer o punere n aplicare Linux pentru NEC VR, seria de procesoare system-on-chip, cele mai multe fiind iniial proiectate pentru a rula Windows CE bazate pe calculatoare personale. Linux On A Floppy (LOAF) o distributie pe un singur floppy-disk care ruleaz pe 386 i care const din nucleul i un set de utilitare gratuite. LOAF suporta diferite protocoale de reea, inclusiv browser-ul lynx, FTP, telnet si SSH. Qplus - const dintr-un nucleu Linux embedded reconfigurabil, biblioteci de sistem, un sistem de ferestre grafic, un constructor int, un instrument de optimizare a bibliotecii i BSP pentru x86 i obiective ARM. Midori Linux - un proiect open source care furnizeaza software de sistem pe dispozitive mici. Acesta include un sistem de construire, un nucleu Linux, cu memorie i stocare a puterii, conserva caracteristici, este i un sprijin la nivel de

21

sistem pentru rularea normal a software-ului Linux pe platforme care ar putea necesita altfel aplicatii personalizate "embedded". uClinux - un derivat de Linux special pentru microprocesoare care nu ofer o memorie de management unitate (MMUs). Suport o list tot mai mare de procesoare, inclusiv: Motorola DragonBall (M68EZ328), M68328, M68EN322, ColdFire, QUICC; ARM7TDMI; MC68EN302; Axis ETRAX, Intel i960, PRISMA, Atari 68K si altele. Acest proiect open source este meninut de SnapGear i Arcturus. Linux (aka muLinux) - o distribuie "full-configurata, minimalista, aproape completa, aplicare-centrica mica" de Linux, fcuta n Italia. Linux incape pe o singur dischet. PeeWeeLinux o mica distribuie Linux care vizeaz dispozitive embedded. Unul din obiectivele lui PeeWeeLinux este de a face configurarea i instalarea sistemului de operare Linux pe o platforma embedded "cat de nedureroasa posibil". PeeWeeLinux este intr-un efort de dezvoltare continu pentru a oferi un mediu care face configurarea i instalarea unui sistem de operare Linux pe o platforma embedded uoara. Unele dintre caracteristicile cheie ale PeeWeeLinux sunt: - Dezvoltarea pe o platforma RedHat 6.2 - Pachete de construictie i meninere, folosind RPM - Pachetele sunt personalizate pentru a reduce amprenta de memorie - Ncurses conduse de configurare grafica i instrumente de instalare - 2.2.x kernel-ului mbuntit pentru aplicaii embedded - Suport USB - Suport PCMCIA - Suport XFree86 Utilitarul de configurare este condus de meniu i permite pentru pachete complete, sau un subset de fiiere de pachete, includerea n sistemul int. Sistemele folosind syslinux sau lilo bootloader sunt acceptate. intele pot consta din rdcini ramdisk, radacini cu partitii read-only i convenionalele radacini cu partitii unice de citire-scriere. Proiectele pot fi salvate pentru o utilizare ulterioar; fcnd astfel foarte uoara testarea diferitelor configuratii. PeeWeeLinux include o gam complet i n cretere de utilitati si aplicatii pentru o varietate de produse. Traditionalele fiiere de configurare i binarele pot fi adugate la un proiect i salvat ca un proiect. Posibile aplicatii pentru constructia de sisteme cu PeeWeeLinux includ: dischetele de salvare, routere, Firewall, Thin-Clienti, si altele.

22

Sursele kernel-ului PeeWeeLinux includ un numr de caracteristici importante pentru aplicaii embedded, cum ar fi drivere conforme GPL pentru dispozitive flash, cele mai noi drivere disponibile de reea, suport USB si PCMCIA.

Main_Menu

Package_Selection

23

File_Selection

Target_Selection

24

Projects_Menu

Backup_Menu

25

Bibliografie: http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Embedded-Linux-DistributionsQuick-Reference-Guide/ http://embedded.sourceforge.net/ http://www.thefreelibrary.com/TUXIA's+Embedded+Linux+Software+Suite+Ported+onto+STMicroele ctronics'...-a077230722

3. Sisteme embedded Windows


Windows Embedded este o familie de sisteme de operare de la Microsoft concepute pentru utilizare n domeniul sistemelor integrate. Microsoft face disponibile patru categorii diferite de sisteme de operare pentru dispozitivele integrate care vizeaz o pia larg, variind de la small-footprint, dispozitive n timp real pana la dispositive POS. Sistemele integrate de operare Windows sunt disponibile pentru integratori de sisteme OEM numai, care l pune la dispoziia utilizatorilor finali pre-ncrcate cu hardware-ul.

Windows Embedded Compact


Windows CE

Windows CE 5.0 -

26

Windows CE (cunoscut oficial ca Windows Embedded Compact sau Windows Embedded CE versiunea 6.0 i uneori abreviat WinCE) este un sistem de operare dezvoltat de Microsoft pentru computere minimaliste i sisteme integrate. Windows CE este un sistem de operare fata de versiunea Windows desktop. Nu trebuie confundat cu Windows XP Embedded, care este NT-based. Windows CE este susinut pe Intel x86, MIPS, ARM, i Hitachi SuperH procesoare.

Caracteristici
Windows CE este optimizat pentru dispozitivele care au minim de depozitareun nucleu Windows CE poate functiona n cadrul unui megabyte de memorie. Dispozitive sunt adesea configurate fr stocare pe disc, si pot fi configurate ca un system "nchis" care nu permite utilizatorilor finali de extindere (de exemplu, acesta poate fi ars ntr-ROM). Windows CE conform definiiei de sistem de operare n timp real, cu o latent determinista de ntrerupere.De la versiunea 3 i mai departe, sistemul suporta 256 niveluri de prioritare i folosete motenirea prioritara care se ocup de inversiunea prioritara. Unitatea fundamental de executie este de thread. Acest lucru ajut la simplificarea i mbuntirea interfeei timpului de executie.Microsoft a declarat c "CE" nu este o abreviere intenionata, dar multi oameni cred CE vine de la "Consumer Electronics" sau "Compact Edition". Microsoft spune c implic o serie de preceptii de proiectare ale Windows CE, ce include "Compact, Conectabil, Compatibil, Companion, i Eficient". Prima versiune, cunoscute n timpul de dezvoltare sub numele de cod "Pegasus", prezenta un GUI(Graphical User Interface)ca la Windows cum i un numr de aplicaii populare de Microsoft, toate concepute sa consume putin spatiu, memorie, precum i viteza ca si palmtop-urile de atunci. De atunci, Windows CE a evoluat ntr-un sistem de operare ncorporat, n timp real, bazat pe componente. Nu mai este orientat exclusiv la computere portabile. Multe platforme s-au bazat pe nucleulul sistemului de operare Windows CE, inclusiv AutoPC Microsoft, Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5.0, Windows Mobile 6, Smartphone 2002, Smartphone 2003, Portable Media Centrul i multe dispozitive industriale i sisteme embedded. Windows CE chiar a fost folosit pentru jocuri de la Dreamcast, a fost sistemul de operare al Handheld Gizmondo, i poate rula parial console Xbox modificate. O trstur distinctiv a Windows CE, comparativ cu alte sisteme de operare Microsoft este faptul c o mare parte din ea sunt oferite sub form de cod surs. Prima surs de cod a fost oferit mai multor vnztori, astfel nct acestia s poate sa isi adapteze la hardware-ul lor.Apoi, produse cum ar fi Platforma Builder (un mediu integrat Windows CE OS pentru crearea si integrarea imaginii, sau sistem de operare bazat pe design-ul personalizat CE) a oferit mai multe componente n form cod surs publicului larg. Cu toate acestea, o serie de componente de baz care nu au nevoie de adaptare la medii de hardware specifice (altele dect cele de familie CPU), sunt nc distribuite numai n forma binar.

27

Dezvoltarea instrumentelor
Visual Studio
Ultimile versiuni de Microsoft Visual Studio suporta proiecte pentru Windows CE / Windows Mobile, producand programe executabile i platforme de imagini, fie ca un emulator,ori atasat prin cablu la un dispozitiv mobil real. Un dispozitiv mobil nu este necesar s dezvolte un program CE. NET Compact. Framework suport un subset al. NET Framework cu proiecte n C #, VB.NET. CodeGear Delphi Prism, care ruleaz n Visual Studio, suporta de asemenea .NET Compact Framework i, astfel, pot fi folosite pentru a dezvolta aplicaii mobile. Se folosete compilatorul Oxygene creat de RemObjects, care vizeaz .NET,.NET Compact Framework i Mono. Compilator sau este disponibil gratuit.

Free Pascal and Lazarus

Free Pascal a introdus Windows CE n versiunea 2.2.0, avand ca tinta ARM i arhitecturile x86. Mai trziu, Windows CE fiiere au fost traduse pentru utilizarea cu Lazarus, un pachet software RAD bazat pe Free Pascal. Aplicatii Windows CE sunt proiectate i codificate n IDE Lazarus i compilate cu un compilator corespunztor.

Basic4ppc

Basic4ppc care este un limbaj de programare asemntor cu Visual Basic, a avut ca obiectiv .NET Compact Framework i suporta Windows CE i dispozitivele Windows Mobile.

Platforma Builder

Acest instrument de programare este utilizat pentru construirea platformei (BSP + kernel), drivere de dispozitiv (sursa comuna sau la comand). Acesta este un mediu cu un pas pentru ca sistemul sa gata sis a mearga. Se poate utiliza, de asemenea, Platforma Builder s exporte un SDK (kit de dezvoltare software) pentru microprocesor int (SuperH, X86, MIPS, ARM etc).

Embedded Visual C++ (eVC)

Embedded Visual C + + este instrumentul pentru dezvoltarea aplicatiilor integrate pentru dispozitivele bazate pe Windows CE. Acest instrument poate fi folosit independent folosind SDK din Platforma Builder sau utiliznd Platforma Builder, folosind setup-ul Platformei Manager.

AutoHotkey

Un port de open source macro-creation si software de automatizare AutoHotkey este disponibil pentru Windows CE, care permite construirea de macrouri i aplicaii simple GUI dezvoltate de ctre analistul de sisteme Jonathan Maxian Timkang.

28

Relaia cu Windows Mobile, Pocket PC i SmartPhone


Deseori, Windows CE, Windows Mobile i Pocket PC-ul sunt folosite alternativ - n ciuda originii lor comune. Aceast practic nu este n ntregime corecta. Windows CE este un sistem de operare modular, care servete ca fundament din mai multe clase de dispozitive. Unele dintre aceste module ofer subseturi de caracteristici ale componentelor (de exemplu, a diferitelor niveluri de ferestre de sprijin; DCOM vs COM), altele care sunt separate (bitmap sau ca suport de fonturi TrueType), i altele care adaug caracteristici suplimentare la o alt component. Se poate cumpara un kit (Platform Builder), care conine toate aceste componente i instrumentele cu care s dezvolte o platform personalizata. Aplicaii cum ar fi Excel Mobile / Pocket Excel nu fac parte din acest kit. Vechile versiune de Handheld PC de Poecket Word i mai multe alte aplicaii mai vechi sunt incluse ca probe. Windows Mobile este cel mai bine descris ca un subset de platforme bazate pe Windows CE care sta la baza. n prezent, Pocket PC-ul (numit acum Windows Mobile Clasic), SmartPhone (Windows Mobile Standard), i PocketPC Phone Edition (Windows Mobile Professional) sunt cele trei platforme principale sub umbrela Windows Mobile. Fiecare platforma utilizeaza diferitele componente ale Windows CE, precum i caracteristici suplimentare i aplicaii potrivite pentru dispozitivele lor. Pocket PCcat i Windows Mobile este o platforma Microsoft particularizata pentru uz general PDA, i const dintr-un set de profile minim Microsoft (Professional Edition, Premium Edition) de software i hardware care este suportat. Regulile de fabricare a unui dispozitiv Pocket PC sunt mai stricte dect cele bazate platforma Windows CE. Caracteristicile definitorii ale Pocket PC sunt digitizorul ca dispozitivul principal de interfa uman i dimensiunea extrem de portabila. Platformei SmartPhone este un OS scump cat i interfaa pentru telefoanele celulare. SmartPhone ofer caracteristici de productivitate pentru utilizatorii de afaceri, cum ar fi e-mail, precum i capacitile multimedia pentru consumatori. Interfaa SmartPhone se bazeaz foarte mult pe joystick-ul de navigare i pe intrarea PhonePad. Dispozitive de incarcare SmartPhone nu includ o interfa de ecran tactil. Dispozitivele SmartPhone, n general, se aseamn ca si factor de forma, n timp ce cele mai multe dispozitive Phine Edition utilizeaz un factor de form PDA cu un ecran mai mare.Screenshot of an alpha build of Windows CE 1.0Timeline of Windows CE Development

Windows Embedded Standard


Microsoft a lansat trei ediii de Windows XP, care sunt orientate spre dezvoltatorii de sisteme embedded, pentru utilizarea n electronice de consum specifice, set-top, ATM-uri, dispozitive medicale, jocuri video arcade, terminale de punct de vnzare, i componente Voice over Internet Protocol (VoIP).

29

Windows XP pentru Sisteme Embedded este o ediie de Windows XP care conine toate caracteristicile Windows XP Professional, dar are restricii privind acordarea de licene echipamentelor care trebuie sa booteze direct in aplicatia echipamentului facuta de producator. Windows XP Embedded Windows XP Embedded, frecvent abreviat "XPe", este o versiune a ediiei Windows XP Professional. Un productor de echipamente originale este liber s aleag doar componentele necesare reducnd amprenta sistemului de operare i reducerea zonei de atac, n comparaie cu XP. Spre deosebire de Windows CE, sistemul de operare Microsoft pentru dispozitive portabile i electronice de consum, XP Embedded prevede Windows API, si suport pentru ntreaga gam de aplicaii i driverele dispozitivelor pentru Microsoft Windows. XPe poate rula pe dispozitive cu cel puin 32MB Compact Flash, 32MB RAM i un P-200 microprocesor. XPe a fost lansat pe 28.11.2001. ncepnd din octombrie 2008, cel mai nou release este Windows XP Embedded Service Pack 3.

Screenshot of Windows XP Embedded Evaluation running several Windows components -

30

Dispozitivele vizate pentru XPe au inclus bancomate, jocuri arcade, slot de masini, case de marcat, robotic industriala, set-top box, Network Attached Storage (NAS), ceasuri de timp, dispozitivele de navigare, locomotive de cale ferata, etc. Versiuni personalizate ale sistemului de operare pot fi implementate pe orice, chiar dac XPe susine acelai hardware care suporta XP Professional (arhitectura x86), restriciile de acordare a licenelor de prevenire sunt instalate pe PC-urile standard.

Cu toate acestea, Microsoft a fcut unele excepii de la aceast regul, care s permit XPe alturi de o instalare standard Windows OEM. Unele notebook-urile Dell conin o instalare XP embedded, ca parte caracteristic a MediaDirect 2.0.

A BT Internet payphone loading Windows XP Embedded -

31

Componentized OS:
Filtre de scriere - XPe include componente cunoscute sub numele de filtrede scriere, care pot fi folosite pentru a filtra scrierile pe disc. Volumele pot fi marcate ca read-only folosind aceste filtre i toate scrierile pot fi redirecionate. Aplicaii n modul utilizator nu sunt contiente de filtrele de scriere. XPe prezinta dou filtre de scriere: Enhanced Write Filter (EWF) - EWF protejeaz un sistem la nivel de volum. Redirecioneaz toate scrierile de pe disc pe o unitate protejata, pe RAM sau pe un disc separat. EWF este extrem de util atunci cnd este utilizat n Thin Clients care au memoria flash, ca surs primar de boot. File Based Write Filter (FBWF) - FBWF permite configurarea unui dosar individual ca un volum protejat de citire / scriere. USB Boot

XPe adaug o opiune de boot USB pentru Windows. Un dispozitiv ncorporat XPe poate fi configurat s boot-eze de pe un drive USB. CD Boot

Un dispozitiv XPe poate fi configurat s boot-eze de pe un CD-ROM. Acest dispozitiv permite s boot-eze fr obligaia de a avea o unitate fizic de hard disk, i ofer "fresh boot" de fiecare dat cnd imaginea este pornita (o proprietate motenit prin faptul c sistemul de operare este pornit de pe sistemul de mass-media doar n read-only ). Un dezavantaj al aceastei tehnologii este ca actualizarea imaginii impune procesul complet de constituire a imaginii pentru a fi completat din nou de la nceput la sfrit. Network Boot

Un dispozitiv XPe poate fi configurat s boot-eze corect de pe o reea configurata. Sinonim cu CD-ul Boot, Network Boot elimin cerina de a avea hard disk fizic, precum i furnizarea de "fresh boot".Un bonus al NetworkBoot-ul este abilitatea de a incarca imaginea deja instalata. Odat ce imaginea este actualizata, imaginea este pur i simplu postata pe server-ul RIS i o dat ce clientii repornesc vor primi imaginea actualizata. Windows Embedded Standard (2009) este versiunea actualizat a Windows XP Embedded, versiune finala de Windows XP Professional i succesorul lui Windows NT 4.0 Embedded. Acesta ofer Win32 API i este disponibil pentru procesoarele x86. Windows Embedded Standard 2009 este derivat din Windows XP Embedded, deoarece Microsoft la momentul dezvoltrii sale nu au avut o versiune finala de Windows Vista. Windows Embedded Standard 2009 include Silverlight,. NET Framework 3.5, Internet Explorer 7, Windows Media Player 11, RDP 6.1, Network Access

32

Protection, Microsoft Baseline Security Analyzer i suport pentru a fi gestionate de ctre Windows Server Update Services i System Center Configuration Manager. Microsoft a anunat c urmtoarea versiune, Windows Embedded Standard 2011, va trebui s se bazeze pe Windows 7, care a fost anterior cu numele de cod Windows Embedded "Quebec". Windows Embedded Standard 2011 este de ateptat pentru a include caracteristicile lui Windows Vista i Windows 7, cum ar fi Aero, SuperFetch, ReadyBoost, BitLocker Drive Encryption, Windows Firewall, Windows Defender, Windows Presentation Foundation, Silverlight 2, printre multe alte pachete. Acesta va fi disponibil n versiunile x86 i x64 i vizate pentru lansare n 2010. Va avea o amprent mai mare (~ 300 MB), comparativ cu 40 MB la XPe i va necesita, de asemenea, de activare a produsului.

Windows Embedded Enterprise


Windows Embedded Enterprise brand al sistemelor de operare Windows Embedded consta n Windows XP pentru sisteme integrate, Windows Vista pentru Sisteme Embedded, care sunt aceleasi versiuni ca cele retail, dar sunt liceniate exclusiv pentru utilizarea n dispozitive nglobate. Ele sunt disponibile att pentru arhitectura x86, precum i x86-64 (x64) procesoare.

Windows Embedded POSReady


Windows Embedded POSReady este brand-ul de sisteme de operare Windows Embedded pentru de sisteme de vnzare Point, inclusiv chiocuri de vnzare i distribuitoare automate. n prezent, acest brand este limitat la Windows Embedded Point of Service pentru sistemul de operare, care se bazeaz pe Windows XP Embedded.

Windows Mobile
Windows Mobile este un sistem compact de operare mobil dezvoltat de Microsoft, i proiectat pentru utilizarea n smartphone-uri i dispozitive mobile. Versiunea curent este numit "Windows Mobile 6.5". Ea se bazeaz pe Windows CE 5.2 i ofer o suit de aplicaii de baz, folosind Microsoft Windows API. Acesta este conceput pentru a fi oarecum similar cu versiunilor desktop de Windows, din punct de vedere caracteristic cat i estetic. n plus, dezvoltarea de software este disponibila pentru Windows Mobile, i software-ul poate fi achiziionat prin intermediul Windows Marketplace pentru Mobile. Iniial apar ca sisteme de operare Pocket PC 2000, majoritatea Windows Mobile a veni cu un stylus, care este folosit pentru a introduce comenzi prin atingerea acestuia pe ecran. Microsoft a anunat o platforma noua si complete pentru telefon

33

Windows Phone 7, la Mobile World Congress din Barcelona, pe 15 februarie 2010. Telefoanele care ruleaz Windows Mobile 6.x nu pot fi de upgradsta la versiunea 7. Cota Windows Mobile de pe piata smartphone a scazut de la an la an, n scdere cu 20% in Q3 2009. Acesta este al 5-lea cel mai popular sistem de operare smartphone, cu o cota de 2% din piata smartphone la nivel mondial (dupa Symbian, BlackBerry OS, Android si iPhone OS). n Statele Unite, este al treilea cel mai popular sistem de operare al smartphone-urilor pentru uz profesional (dup BlackBerry OS i iPhone OS), cu o cota de 24% n rndul utilizatorilor de ntreprindere.

- Windows Mobile 6.5.3 Today Screen -

Caracteristici comune
Windows Mobile pentru Pocket PC prezinta urmatoarele caracteristici standard n cele mai multe dintre versiunile sale: Azi ecranul arat data curent, informatiile proprietarului , intalnirile viitoare, mesajele e-mail, i sarcini. (Este acum ecranul de ntmpinare n WM6.5) Bara de activiti arat ora curent i volumul Office Mobile o suit de versiuni mobile ale aplicaiilor Microsoft Office Outlook Mobile vine cu Windows Mobile Internet Explorer Mobile este un browser de Internet dezvoltat de Microsoft pentru Pocket PC i PC-ul portabil care vine ncrcat implicit cu Windows Mobile si Windows CE pentru Handheld PC Windows Media Player pentru Windows Mobile Client pentru PPTP VPN. Internet Connection Sharing (ICS), care, n telefoanele mobile permite calculatoarelor atasate sa aiba acces la internet prin USB i Bluetooth. Sistem de dosare similar cu cel al 9x/Windows Windows NT i suport pentru multe dintre tipurile de acelai fiier Abilitatea de multitask

34

Hardware
Exist trei versiuni de Windows Mobile pentru dispozitive hardware diferite: * Windows Mobile Professional ruleaza pe "Windows Mobile" (smartphones) cu touchscreen * Windows Mobile Standard ruleaza pe "Windows Mobile" cu ecrane normale * Windows Mobile Clasic, care ruleaz pe "dispozitive cu Windows Mobile Classic" (Pocket PC). Windows Mobile Clasic (Pocket PC) Un "dispozitiv Windows Mobile Clasic" este un Windows Mobile asistent digital personal (PDA), care nu are funcionalitate de telefon. A fost cunoscut anterior ca Pocket PC. Aceasta a fost conceput pentru sistemul de operare Windows Mobile. Aceste dispozitive au constat n dispozitive independente Pocket PC, fr capabiliti de telefon mobil, precum i cele care au inclus capabiliti de telefon mobil. Numele cel mai actual al unui system de operare Windows Mobile destinate utilizrii pe Pocket PC este oficial "Windows Mobile 6 Professional" pentru dispozitive cu capabiliti de telefon mobil i "Windows Mobile 6 Classic" pentru dispozitive fr capabiliti de telefon mobil.

An O2 Pocket PC phone -

35

Windows Phone
"Windows Mobile" (termen Microsoft pentru gama de smartphone-uri) a devenit platforma hardware imediat urmtoare dup Pocket PC pentru a rula Windows Mobile, si a debutat cu lansarea de Pocket PC 2002. Dei, n sensul larg al termenului "Smartphone", ambele Pocket PC cat si Smartphones Microsoft se ncadreaz n aceast categorie, ar trebui remarcat faptul c Microsoft utilizeaza termenul "Smartphone" ce include mai multe dispozitive specifice hardware care difer de telefoanele Pocket PC. Astfel de smartphone-uri au fost iniial proiectate fr touchscreen, destinate a fi exploatate mai eficient cu o singur mn, i au avut de obicei rezoluie de afiare mai mic dect Pocket PC. Intentia Microsoft pentru platforma Smartphone a fost de a crea un dispozitiv care va functionat precum i un telefon i dispozitiv de date ntr-un mod mai integrat.

- A Smartphone (T-Mobile Dash) -

36

Versions Pocket PC 2000


Pocket PC 2000, iniial cu numele de cod "Rapier", a fost lansat pe 19 aprilie 2000, i a fost bazat pe Windows CE 3.0. Acesta a fost debutul a ceea ce sa numit mai trziu sistem Windows Mobile de operare, i menit s fie un succesor al sistemului de operare al PC-uri Palm-size. Pocket PC-ul 2000 a fost destinat n special pentru dispozitivele Pocket PC, cu toate acestea mai multe dispozitive Palm-Size PC au avut capacitatea de a fi actualizate. n plus, mai multe telefoane Pocket PC 2000 au fost lansate, cu toate acestea,platforma Smartphone-urile Microsoft, nu a fost creata. Singura rezoluie suportata de ctre aceast versiune a fost de 240 x 320 (QVGA). Fromate de card de memorie detaabil, care au fost susinute au fost CompactFlash i MultiMediaCard. n acest moment Pocket PC nu au fost standardizate, cu o arhitectura CPU specifica. Ca rezultat, Pocket PC-ul 2000 a fost lansat pe multiple arhitecturi de procesor; SH-3, MIPS i ARM. Sistemul de operare Pocket PC a fost similar cu Windows 98, Windows Me, si Windows 2000.

- Typical Pocket PC 2000 Today Screen -

Pocket PC 2000 include urmatoarele aplicatii: Pocket Office o Pocket Word o Pocket Excel o Pocket Outlook Pocket Internet Explorer

37

Windows Media Player Microsoft Reader Microsoft Money O aplicatie pentru luare de notite Support pentru recunoasterea caracterelor Infrared (IR) File beaming capability

Pocket PC 2002
Pocket PC 2002, iniial numele de cod "Merlin", a fost lansat n octombrie 2001. Ca si Pocket PC 2000, a fost alimentat de Windows CE 3.0. Dei creat n principal pentru 240 320 (QVGA) dispozitivele Pocket PC, Pocket PC 2002 a fost de asemenea utilizat pentru telefoanele Pocket PC, i pentru prima dat, telefoanele Smartphone. Aceste Pocket PC 2002 Smartphones au fost n principal dispozitive GSM.Din punct de vedere estetic, Pocket PC 2002 a fost menit s fie similar ca design-ul Windows-ului XP.

Typical Pocket PC 2002 Today Screen. Noi aplicatii incluse: * Enhanced UI cu support pentru interfata * Verificator ortografic i numrul de instrument Word n Pocket Word * Descrcri ce pot fi salvate i WAP n Pocket Internet Explorer * suport Virtual Private Networking * Sincronizare de dosare * MSN Messenger * Servicii de Terminal * Windows Media Player 8 cu capacitate de streaming * Microsoft Reader 2 * Suport Palm OS * Imbunatatirea Pocket Outlook * Digital Rights Management (DRM) suport n Microsoft Reader Windows Mobile 2003 Windows Mobile 2003, iniial numele de cod "Ozone", a fost lansat pe 23 iunie 2003, i a fost primul lansat sub banner-ul Windows Mobile. A venit n patru ediii: "Windows Mobile 2003 pentru Pocket PC Premium Edition", " Windows Mobile 2003 Professional Edition pentru Pocket PC ", "Windows Mobile 2003 pentru Smartphone " i " Windows Mobile 2003 Phone Edition pentru Pocket PC ". Ultimul a fost conceput special pentru Pocket PC,ce include funcionaliti de telefon. Professional Edition a fost folosit n modelele de buget Pocket PC. Acesta nu avea un numr de caracteristici care au fost n ediia Premium, cum ar fi un client pentru VPN L2TP/IPsec. Windows Mobile 2003 a fost alimentat de Windows CE 4.20.

38

Typical Windows Mobile 2003 for Pocket PC Today Screen Noi aplicatii incluse: * Suport pentru tastaturi add-on * interfata de comunicare Enhanced cu Bluetooth * suport Bluetooth * Suport Bluetooth pentru casca * Aplicatii cu Poze , e-mail, * jocul Jawbreaker * Enhanced Pocket Outlook cu vCard i vCal * Imbunatatirea Pocket Internet Explorer * Windows Media Player 9.0 cu streaming de optimizare * opiuni de rspuns SMS pentru Phone Edition * suport fiier MIDI ca tonuri de apel n Phone Edition Windows Mobile 2003 SE Windows Mobile 2003 Second Edition, cunoscut sub numele de "Windows Mobile 2003 SE, a fost lansat pe 24.03.2004 i a fost oferit pe Dell Axim x30. Aceasta a fost ultima versiune care a permis utilizatorilor sai backup i restaurarea unui dispozitiv prin ActiveSync. Noi aplicatii incluse: * Portret i Peisaj de comutare pentru Pocket PC * Aspect nou Pocket Internet Explorer * VGA (640 480), 176220, 240x240, 480x480 rezolutie ecran * Wi-Fi Protected Access (WPA)

39

4. Retele LIN-Local interconnect network


La inceputul secolului 20,au fost concepute sisteme de control ale procesului i sisteme de fabricaie,bazandu-se in principal pe tehnologia mecanica si dispozitive analogice. Dupa un timp, au fost introduse tehnologia de control pneumatic si puterea hidraulica. Tehnologia de control pneumatic a facut posibil controlul sistemelor de la distanta printr-un sistem de control centralizat. Aceste tehnologii sunt inca folosite. La inceputul anului 1960, un computer digital a fost pentru prima data folosit ca un controler digital. Termenul DDC(direct digital control) a fost folosit pentru a evidentia faptul ca dispozitivul care detine controlul asupra procesului este computerul. In anii 1960, tehnologia de implementare a minicomputerelor era inca o solutie prea scumpa pentru multe dintre problemele dispozitivelor de control. In acelasi timp PLC a fost dezvoltat si l-a inlocuit pe cel standard .In plus,multe tehnologii au fost dezvoltate pentru procese de productie discrete.NC(numerically controlled machine tools) au inceput sa fie controlate de computere . Cu cat utilizarea computerelor digitale si a tehnologiilor asociate s-a extins, retelele de comunicatie industriala convertite la transmisia digitala au inceput sa se dezvolte. Utilizarea retelelor locale la interconectarea computerelor si dispozitivelor automate in conformitate cu sistemul de automatizare industriala a devenit cunoscuta din 1980.Capacitatea mare a comunicatiei low-cost oferita de retelele locale a facut posibila extinderea computerizarii si a multor servicii de automatizare.Sistemele de automatizare sunt adesea implementate ca o arhitectura distribuita deschis cu comunicatie peste retelele de comunicatie digitala. Utilizatorii stiu sa se conecteze la o retea locala pentru a comunica cu computere sau dispozitive automate pe alte retele locale prin intermediul gateway-urilor legate de o retea de arie larga. Cum sistemele automatizate industriale s-au extins si numarul dispozitivelor de automatizare a crescut,pentru automatizarea industriala foarte important este sa oferi standarde care fac posibila interconectarea multor dispozitive automate diferite intr-o modalitate standard.Eforturi de standardizare considerabile au fost facute in aria de retele locale.Standardul OSI permite oricarei perechi de dispozitive automate sa comunice fiabil indiferent de producator. Ce este o retea industriala? Prin definitie, o retea industriala cere distributie geografica a unei masuratori fizice de I/O si senzori sau distributie functionala a aplicatiilor. Cele mai industriale retele transfera biti de informatie serial.Transferul

40

de date serial prezinta avantajul de a utiliza numai un numar limitat de fire pentru schimbul de date intre dispozitive.Cu cateva fire,putem transmite informatia pe distante considerabile.Din cauza ca retelele industriale lucreaza cu cateva dispozitive pe aceeasi linie este mai usor sa adaugi un dispozitiv nou la sistemele deja existente. Pentru a face acest lucru sa functioneze ,reteaua noastra trebuie sa defineasca un set de reguli(un protocol de comunicare) pentru a stabili cum este directionata informatia in retea sau dispozitive,controlere,computere s.a.m.d.Cu ajutorul protocoalelor de comunicatie ,acum este posibil sa reduci timpul de care ai nevoie pentru transfer , sa asiguri o protectie mai buna a datelor si sa garantezi sincronizarea timpului si raspunsul in timp real determinist in cateva aplicatii.Retelele industriale asigura de asemenea faptul ca sistemul trimite informatie fiabil fara erori dar si siguranta intre noduri in retea. Pentru retelele de comunicatie la un nivel scazut in automatizarea industriala, solutiile retelelor industriale locale precum MAP sunt prea scumpe sau nu ating timpul de raspuns cerut, in functie de aplicatii. LIN este un protocol de comunicatie serial ieftin ,care suporta efectiv o aplicatie de la distanta in cadrul retelei unui automobil.In mod special este destinat nodurilor mecatronice in aplicatii auto,dar si in aplicatii industriale. Acesta este destinat completarii retelei CAN existente ducand la retele ierarhice in termen de autoturisme.Prima versiune implementata a noului LIN a fost publicata in noiembrie 2002 ca LIN versiunea 1.3.In septembrie 2003, versiunea 2.0 a fost introdusa pentru a extinde capacitatile de configurare. Principalele caracteristici ale protocolului sunt: -unic master,pana la 16 slaves -SNPD (slave node position detection) permite atribuirea adresei nodului dupa power-up -singur fir de comunicatii de pana la 19,2 kbit/s @ 40 metri lungime de magistrala -timp de latenta garantat -lungime variabila a frame-ului de date(2,4 si 8 byte) -flexibilitate de configurare -receptie , cu sincronizare in timp fara cristale sau rezonatoare ceramice -control de date si detectare a erorilor -detectarea nodurilor defecte -implementarea low-cost pe baza standardului hardware UART/ SCI

41

-enabler pentru retelele ierarhice -tensiune de lucru de 12 V Datele sunt transferate dincolo de magistrala in mesaje de forma fixa cu lungimi selectabile.Master task transmite un antet care consta intr-un semnal de pauza,urmat de sincronizare si campurile de identificare.Slave-urile raspund cu un frame de date ,care consta in 2,4 si 8 octeti de date plus 3 octeti ai informatiei de control.

LIN MESSAGE FRAME

Un mesaj contine urmatoarele campuri: - pauza de sincronizare -byte de sincronizare -byte de identificare -byte de control

Tipuri de frame: 1.Cadru neconditionat:frame-urile neconditionate poarta mereu semnale iar identificatorii theirra se gasesc in intervalul 0-59(000 la 03b).Toti abonatii la frame-ul neconditionat vor primi frame si il vor pune la dispozitia cererii(presupunand ca nu au fost detectate erori ). 2.Eveniment care declanseaza un frame Scopul unui eveniment care declanseaza un frame este de a spori responsabilitatea cluster-ului LIN fara sa atribuie prea multa latime de banda a magistralei la alegerea nodurilor slave multiple odata cu aparitia rara a evenimentelor.Primele date care se gasesc in frame-ul neconditionat trebuie sa fie egale cu identificatorul secret.Editorul unui frame neconditionat asociat va asigura doar transportul pana la frame-ul sau.Daca niciuna dintre task-urile secundare nu raspund antetului, restul slotului nu functioneaza si antetul este ignorat.In cazul in care mai mult un task slave raspunde la antet, in acelasi slot, va avea loc o coliziune iar master-ul trebuie sa o rezolve prin solicitarea frame-urilor neconditionate asociate inainte de a cere din nou evenimentul care a declansat frame-ul.

42

3. Frame sporadic Antetul unui frame sporadic se trimite numai in sloturile asociate frame-urilor atunci cand master task stie ca un semnal efectuat in frame a fost actualizat.Editorul frame-ului sporadic trebuie sa ofere intotdeauna raspuns antetului. 4.Frame-ul de diagnosticare Frame-ul de diagnosticare efectueaza intotdeauna date de diagnostic sau de configurare si contine 8 bytes de date.Identificatorul este fie de 60(0*3C),numit master request frame ,sau 61(0*3D) numit slave response frame.Inainte de generarea antetului a unui frame de diagnosticare,master task necesita un modul de diagnosticare in cazul in care va fi trimis.Task-urile secundare publica si se aboneaza la raspuns in functie de modulul lor de diagnosticare. 5.User-defined Frame Identificatorul este 62(03E).Antetul unui utilizator definit al frame-ului este intotdeauna transmis cand un slot frame alocat frame-ului este procesat 6.Frame rezervat Frame-urile rezervate nu trebuie sa fie utilizate intr-un cluster LIN 2.0.Identificatorul lor este de 63(0*3F)

LIN hardware

Specificarea LIN a fost conceputa pentru a permite nodurilor hardware ieftine sa fie folosite in cadrul unei retele.Acesta este un low-cost, cu un singur fir de retea bazat pe ISO 9141.In topologiile retelelor de masini de astazi ,sunt folosite oricare dintre microprocesoarele UART sau hardware LIN dedicat .Microcontrolerul genereaza toate datele LIN necesare (protocol) de software si este conectat la reteaua LIN prin intermediul unui transceiver LIN .A lucra ca un nod LIN ,este doar o parte din posibila functionalitate.Lin hardware poate include acest transceiver si functioneaza ca un nod LIN pur fara functionalitate adaugata. Precum nodurile LIN slave ar trebui sa fie cat mai ieftine posibil,acestea pot genera ceasul lor intern printr-o combinatie oscilator RC in loc de un oscilator cu cristal(cuart sau ceramica).Pt a asigura stabilitatea ratei unitatii de viteza intr-un frame LIN, este folosit SYNC din interiorul header-ului.

43

LIN protocol Lin-Master foloseste una sau mai multe tabele de programare predefinite pentru a porni trimiterea si primirea catre magistrala LIN. Aceste tabele de programare contin cel putin sincronizarea relative, unde mesajul trimis este initiat. Un Frame LIN este compus din doua parti header si response. Header-ul este intodeauna trimis de catre LIN Master, in timp ce response este trimis de singurul dedicate LIN-Slave. Transmiterea datelor in cadrul LIN se transmit serial ca 8 biti cu un bit de pornire si unul de oprire,neavand bit de paritate. Rata bitilor variaza de la 1kbit/s la 20 kbit/s. Datele pe magistrala sunt divizate in recesiv (logical HIGH) si dominant(logical LOW). Timpul normal este considerat de catre sursa de ceas stabila a LIN Masterilor, cea mia mica entitate este un bit time (52 s @ 19.2 kbit/s). Doua stari ale magistralei -modul Sleep si active- sunt folosite in cazul protocolului LIN. IN timp ce datele sunt pe magistrala toate nodurile trebuie sa fie in starea activa. DUpa un timp specificat, nodurile intra in modul Sleep si eliberate inapoi in starea active de frame-ul WAKEUP. Acest frame poate fi trimis de orice nod cerand o activitate pe magistrala, ori LIN Master urmarindu-si programul intern, sau unul dintre atasamentele LIN Slaves fiind activate de aplicatia softului intern. Dupa ce toate nodurile sunt activate, Master-ul continua sa programeze urmatorul Identificator. HEADER

Antetul este format din trei parti: Break: Campul break(pauza) este folosit pentru a activa toate atasamentele slaveurilor LIN sa urmeze anumite parti ale antetului.Este format dintr-un bit de start si cativa biti dominanti. Lungimea este de cel putin 11 biti;in utilizarea standard de astazi se folosesc 13 biti, si de aceea difera de formatul initial al datei. Aceasta este folosita pentru a se asigura ca nodurile LIN cu ceas principal diferit de rata unitatii de viteza a magistralei din campuri specificate vor detecta pauza ca un frame pornind comunicarea si nu ca un bit de date standard cu toate valorile zero(hexadecimal 0x00).

SYNC: SYNC este un tip standard de date cu o valoare in hexazecimal de 0x55. Slaveurile LIN care merg pe oscilatorul RC vor folosi distanta dintre un numar fix de varfuri crescatoare si descrescatoare pentru a masura bitul curent de pe magistrala( timpul normal al master-ului) si pentru a recalcula rata unitatii de viteza interna.

44

IDENTIFICATORUL: Identificatorul defineste ca o actiune sa fie indeplinita de unul sau mai multe dintre nodurile atasate ale slave-ului LIN. Constructorul retelei trebuie sa se asigure de functionalitatea corecta inca din faza de proiectare(unui singur slave ii este permis sa trimita date catre magistrala intr-un frame). Daca identificatorul vrea ca un slave fizic LIN sa trimita raspunsul, identificatorul se poate numi Rx-identifier. Daca aplicatia master slave trimite date catre magistrala se poate numi Tx-identifier. Response Raspunsul este trimis de una dintre task-urile slave atasate si este impartit in date si control. Data: Slave-ul pentru raspuns poate trimite de la 0 la 8 octeti de date catre magistrala.Cantitatea de date este stabilita de catre proiectantul cererii si oglinzile de date relevante pentru cererea pe care LIN slave o ruleaza. Control :Exista 2 modele de control disponibile in cadrul LIN:primul este de control,inclusiv octeti de date numai(Versiunea 1.3),cel de-al doilea include identificatorul in plus(Versiunea 2.0+).Modelul de control utilizat este predefinit de proiectantul cerere.

SLAVE NODE POSITION DETECTION(SNPD) autoaddressing Aceste metode permit detectarea pozitiei de noduri slave in magistrala LIN dar si atribuirea unei adrese de nod unic. Permite dispozitivelor asemanatoare sau identice sa fie conectate in magistrala fara sfarsit de linie de programare sau conector de programare pin. Restrictii: Toate slave-urile auto-abordate trebuie sa fie intr-o singura linie Slave-ul standard poate fi conectat in orice fel Extra Wire Daisy Chain (XWDC) Fiecare nod slave trebuie sa furnizeze 2 pini in plus,o intrare D1 si o iesire D2. Prima intrare a nodului SNPD este fie setata la GND fie conectata la iesirea masterului. Iesirea primului nod 2 este conectata la intrarea D1 a nodului secundar si asa mai departe rezultand un lant.

45

Fiecare configuratie de pini Dx(x=1-2) are circuite suplimentare pentru a ajuta la detectarea pozitiei. 1.Rezistenta comutabila se alimenteaza la vbat 2.Se leaga la GND 3.Se leaga la un comparator cu tensiune vbat/2

LIN API LIN API (Application Programmers Interface) ofer un set de apeluri de funcii (de baz este limbajul de programare C), care trebuie s fie pus n aplicare in fiecare driver software LIN. Folosind acest set predefinit de rutine ale driver-ului, toate funciile LIN pot fi accesate.Utilizarea funciilor API-compliant faciliteaz punerea n aplicatie a driverelor software standard. De asemenea, testarea este accelerata. Avantaje ale LIN-ului: -usor de folosit -componente disponibile -preturi mai ieftine decat CAN sau alte magistrale de comunicatii -mai multe vehicule de incredere -extensie usor de implementat -nu se percepe taxa de licenta de protocol -LIN nu este o inlocuire completa a magistralei CAN. Insa magistrala LIN este o buna alternativa ori de cate ori costurile sunt esentiale si viteza/latimea de banda nu este esentiala.

46

You might also like