5.pdf

Upload: madalina-alexandra-puscasu

Post on 06-Oct-2015

10 views

Category:

Documents


0 download

TRANSCRIPT

  • OPTIMIZRI SOFTWARE N SISTEMELE EMBEDDED

    Atunci cind semnalul masurat cu un microsistem bazat pe microcontroler contine

    zgomote, virfuri datorate fluctuatiilor tensiunii de alimentare si alte componente de

    semnal nedorite se recomanda medierea rezultatelor convertorului ADC. Exista diferite

    metode simple de realizare a acestui lucru, printre care:

    - Medierea simpla se efectueaza mai multe masuratori iar media acestora este luata

    in considerare pentru prelucrarile ulterioare

    - Medierea continua se utilizeaza un buffer circular pentru stocarea rezultatelor iar

    valoarea trimisa pentru prelucrare in rutinele urmatoare se obtine prin medierea

    valorilor din buffer

    - Sumare ponderata valoarea veche si noul rezultat al masuratorii se aduna iar

    rezultatul se injumatateste. Rezultatul se salveaza si se proceseaza mai departe.

    - Rejectarea valorilor extreme valoarea maxima si cea minima dintr-un lot de

    masuratori sint ignorate, celelalte valori se proceseaza mai departe.

    - Sincronizarea masuratorilor cu frecventa retelei

    Medierea simpla

    Medierea simpla este cea mai simpla metoda pentru prelucrarea rezultatelor

    masuratorilor: N reesantioane sint insumate iar rezultatul este impartit la N sau, uneori,

    este utilizat asa cum este.In cazul in care se utilizeaza corectii de tip Slope si Offset se

    poate utiliza urmatoarea formula:

    N

    OffsetADCSlopeVOffsetADCSlopeV areraesantionnormal

    +=+=

    )(sup

    De exemplu, N masuratori cu ADC12 trebuie adaugate in variabilele SUMLO si SUMHI.

    Numarul N este definit in variabila N_ADC. Daca N

  • ;

    MOV #32,N_ADC

    CLR SUMLO

    CLR SUMHI

    OVSLOP CALL #MEAS_ADC12 ; rezultatul conversiei in

    ADC12MEMO

    ADD &ADC12MEMO,SUMLO

    ADC SUMHI

    DEC N_ADC

    JNZ OVSLOP

    ....

    Dezavantajele metodei sint consumul relativ ridicat datorita numarului mult mai mare de

    achizitii ADC si viteza maxima teoretica de esantionare mai mica (de N ori) iar

    avantajele sint programarea mai simpla, rezolutie imbunatatita prin sumarea a N rezultate

    ale masuratorilor si reducerea influentei valorilor extreme.

    Medierea continua

    O metoda foarte rapida si simpla in acelasi timp de mediere a semnalelor digitale

    este medierea continua (Continuous Averaging): intr-un buffer circular se scrie cea mai

    noua masuratoare iar cea mai veche achizitie este eliminata din buffer(practic, bufferul

    fiind circular, cele doua masuratori au aceeasi adresa RAM astfel ca valoarea noua

    suprascrie valoarea cea mai veche). Pentru minimizarea timpului de calcul, valoarea

    veche este scazuta din suma iar valoarea noua este adaugata. Suma, stocata in variabila

    CFSUM, este o valoare pe 32 de biti si contine practic N rezultate ale masuratorilor.

    Variabila CFSUM va fi utilizata in programul principal la procesari ulterioare. Trebuie

    avut in vedere ca aceasta valoare nu este media aritmetica a masuratorilor, ci suma lor,

    deci de N ori mai mare decit media. Raspunsul in frecventa al medierii continue este

    similar unui filtru pieptene, deci se obtine o atenuare puternica a anumitor frecvente de

    anumite valori raportate la frecventa de esantionare (de exemplu in figura urmatoare, de

    4, 8, 16 ori mai mici decit frecventa achizitiilor).

  • Figura 5.1

    Dezavantajul metodei consta in utilizarea a N cuvinte de memorie RAM pentru bufferul

    circular, dar avantajele sint numeroase consum de curent redus, intrucit pentru fiecare

    valoare rezultata e necesara o singura masuratoare, rezolutie imbunatatita prin sumarea a

    N masuratori, actualizare rapida a bufferului circular si buna rejectie a anumitor frecvente

    (submultipli ai frecventei de esantionare).

    Implementarea practica a medierii continue se poate face utilizind intreruperile. O

    rutina lansata de o intrerupere (de exemplu intreruperea sfirsit conversie a ADC12,

    conversie pornita de Timer_A sau Timer_B) actualizeaza continutul bufferului circular cu

    N valori. Suma CFSUM se actualizeaza prin scaderea valorii celei mai vechi si adaugarea

    celei mai noi. Variabilele CFSUM si CFSUM+2 contin intotdeauna suma ultimelor N

    masuratori. Codul sursa este urmatorul:

    N EQU 16

    CFSTRT DS N*2

    CFSUM DS 4

    CFPOI DS 2 ; pointer la valoarea cea mai veche

    ...

    CFHND PUSH R5

    MOV CFPOI, R5

    CMP #CFSTRT+(N*2),R5

    JLO CF00

    MOV #CFSTRT,R5

  • ; valoarea cea mai veche e scazuta din CFSUM, valoarea noua o suprascrie si e adaugata

    la CFSUM

    CF00 SUB @R5,CFSUM

    SBC CFSUM+2

    MOV &ADC12MEMO,0(R5)

    ADD @R5+,CFSUM

    ADC CFSUM+2

    MOV R5,CFPOI

    POP R5

    RETI

    Sumarea ponderata

    Sumarea ponderata a masuratorilor anterioare si valoarea actuala sint mediate aritmetic

    iar rezultatul este stocat. Aceasta metoda acorda fiecarei masuratori o anumita pondere

    (fie T perioada esantionarii)

    Moment de timp Pondere

    t0 0.5

    t0-T 0.25

    t0-2T 0.125

    t0-3T 0.0625

    .... ...

    Dezavantajul metodei este ca eventualele virfuri corespunzatoare zgomotului sint

    insuficient atenuate, intrucit sint divizate numai cu 2. Ca avantaje se pot enumera

    consumul de curent redus datorita necesitatii unei singure masuratori si a unui cod scurt si

    rapid si consumul redus de RAM numai un cuvint.

    Implementarea in limbaj masina este simpla (suma actualizata este in WSSUM):

    WSSUM DS 2

    ...

    WSHND ADD &ADC12MEMO, WSSUM

    RRA WSSUM ; divizare cu 2

  • .... ; mai departe

    cu suma

    A doua varianta este rotunjirea noii valori obtinute prin adunarea unui termen 0.5 (2^-

    1)aflat in fanionul Carry.

    WSHND ADD &ADC12MEMO, WSSUM

    RRA WSSUM ; bitul LSB in

    Carry

    ADC WSSUM

    Prin utilizarea pachetului de calcule in virgula mobila se pot face sumari ponderate si cu

    alti coeficienti pondere in afara de cei puteri ale lui 2. Dezavantajul este consumul mai

    mare de resurse si viteza mult mai scazuta de calcul.

    Eliminarea valorilor extreme

    Aceasta metoda de mediere presupune realizarea a N+2 masuratori si eliminarea dintre

    ele a valorii celei mai mari si a celei mai mici. Cele N valori ramase sint mediate

    aritmetic iar aceasta valoare este utilizata mai departe, sau se pot numai insuma (ceea ce

    conduce la o rezolutie de reprezentare mai buna, dat trebuie avut in vedere ca suma e de

    circa N ori mai mare decit o masuratoare).

    Avantajul metodei este dat de programarea simpla, atenuarea foarte buna a virfurilor(nu

    sint utilizate!), consum moderat de memorie(doar N+2 cuvinte); dezavantajos este

    consumul relativ mare, intrucit sint necesare N+2 masuratori.

    Implementarea se realizeaza relativ simplu: datele de la cele N+2 masuratori sint salvate

    intr-un buffer de N+2 cuvinte, acesta este baleiat pentru sumare si in acelasi timp se

    determina valoarea maxima si cea minima, iar apoi se scad aceste valori din suma si

    eventual se realizeaza impartirea acesteia la N. Pentru o viteza mai mare se recomanda ca

    N sa fie putere a lui 2 pentru ca impartirea sa se poata face prin deplasari dreapta.

    Sincronizarea masuratorilor cu frecventa retelei

  • In cazul in care zgomotul de retea afecteaza puternic masuratorile se poate utiliza

    sincronizarea achizitiei de date cu frecventa retelei. Figura urmatoare ilustreaza principiul

    metodei: se incearca reducerea efectului tensiunii retelei asupra semnalului generat de un

    senzor.

    Figura 5.2

    Numarul necesar de masuratori, N=10 in cazul de fata, se imparte in doua parti

    egale, iar a doua serie va avea loc exact dupa o jumatate de perioada a frecventei retelei

    Tmain/2 fata de masuratorile din prima serie. Datorita faptului ca sin(pi+x)=-sin(x)

    rezulta ca insumind rezultatele masuratorilor se vor forma perechi Asinx, Asin(pi+x)

    reprezentind zgomotul de la retea care se vor anula, deci se minimizeaza influenta

    zgomotului de 50Hz(brumului).

    In cazul in care este necesara o masurare diferentiala (trebuie efectuata diferenta intre

    doua valori masurate) se poate aplica aceeasi tehnica de utilizare a proprietatilor functiei

    sinus, dar nu cea indicata mai sus pentru ca amplifica zgomotul. In cazul diferential

    diferenta intre masuratori trebuie sa fie o perioada completa a frecventei retelei pentru ca

    sinx=sin(2pi+x).

  • Figura 5.3

    Metoda de mai sus se aplica de exemplu in contoarele de energie termica, pentru

    ca acestea trebuie sa masoare diferenta intre temperatura apei pe tur si pe retur pentru a

    calcula energia.

    Pentru generarea si masurarea intervalului de timp Tmain se poate utiliza un

    modul timer disponibil din procesorul MSP430 (Timer_A, Timer_B sau BasicTimer1).

    4.1. Accesul de la distanta protocolul PPP (Point to Point Protool )

    Protocolul PPP Point to point Protocol este un mecanism pentru crearea si rularea

    protocolului internet IP sau a altor protocoale de retea peste o conexiune seriala (utilizind

    un cablu serial null modem), peste o conexiune telnet sau peste o conexiune realizata

    utilizind modemuri si linii telefoice. Cu ajutorul PPP se poate realiza conectarea unui

    sistem client Linux (si a altor sisteme) la un server PPP si accesa resursele retelei in care

    este plasat serverul PPP ca si cum sistemul client a fi fost conectat direct in retea. De

    asemenea se poate configura usor sistemul Linux pentru rolul de server PPP, caz in care

    alte calculatoare se pot conecta la acesta si accesa resursele locale sau din reteaua sa.

    Protocolul PPP este de tip peer-to-peer si permite interconectarea a doua retele (sau a

  • unei retele locale la Internet) prin realizarea unei legaturi PPP intre 2 calculatoare plasate

    fiecare in una din cele 2 retele.

    O deosebire majora intre protocolul PPP bazat pe conexiune seriala si protocolul Ethernet

    este viteza o conexiune Ethernet standard opereaza la 10MBs sau 100MBs viteza

    teoretica maxima, in timp ce un modem analog lucreaza la viteze de maxim 56kbps.

    Tehnic vorbind, PPP este un protocol peer-to-peer, ceea ce inseamna ca nu exista nici o

    diferenta intre masina care initiaza conexiunea si masina care ii raspunde. Din motive de

    claritate insa, este util sa se gindeasca in termeni de client si server: masina care incearca

    sa initieze conexiunea cu o alta masina este client, masina la care se conecteaza este

    server.

    Orice sistem Linux poate fi client si server PPP, uneori in acelasi timp daca sint

    disponibile mai multe porturi seriale(eventual si modemuri). Din punct de vedere al

    protocolului PPP, odata ce conexiunea a fost stabilita, nu exista nici o diferenta reala intre

    client si server.

    Forma cea mai des intilnita de utilizare a protocolului PPP este cea de client, si anume

    pentru a conecta un sistem la Internet; orice sistem de operare modern (Windows

    9x,Me,2000,XP, Linux, Mac OS etc.) dispune de o implementare de client PPP, absolut

    necesara conectarii prin dial-up la Internet.

    Informatii necesare pentru configurarea clientului PPP in vederea conectarii la un server

    PPP

    - numarul de telefon al serverului; in multe situatii apelul se face dintr-o firma ale carei

    legaturi telefonice trec printr-o centrala locala PABX, ceea ce inseamna ca nu trebuie

    uitat numarul care da tonul de exterior de obicei 0 sau 9 - , ceea ce inseamna ca

    trebuie format 0,123456 pentru a apela numarul 123456

    serverul poate utiliza adrese IP statice sau dinamice. In cazul utilizarii adreselor statice

    este necesara cunoasterea numarului IP al serverului, adresele IP; in general se utilizeaza

    adrese IP dinamice, ceea ce poate afecta

  • 4.2. Aspecte legate de securitatea datelor, cerinta importanta a sistemelor

    industriale

    4.2.1. Limitarea accesului in sistem; mecanismul CallBack

    O conexiune dialup tipica poate fi descrisa conform procesului din figura alaturata

    Mecanismul este foarte simplu: clientul PPP formeaza numarul serverului, acesta

    raspunde, are loc autentificarea partilor, apoise stabileste conexiunea PPP si, peste ea,

    protocolul TCP/IP.

    Apare o problema in acest caz, oricine poate (teoretic) apela serverul PPP si intra in

    sistem. Mecanismele de autentificare a conexiunii PPP , respectiv protocoalele de genul

    PAP sau CHAP, nu ofera o protectie suficienta contra incercarilor neautorizate de intrare

    in sistem.

    Pentru securizarea suplimentara a unei conexiuni dialup se pot folosi diverse metode.

    O prima metoda ar fi recunoasterea numarului apelant si acceptarea sau rejectarea in

    functie de acesta a apelului. Procedura functioneaza in cazul in care modemul suporta

    protocolul CLIP (Caller Line Identification) iar softul (sistemul de operare ) este capabil

    sa utilizeze acest protocol. Sistemul de operare Linux poate implementa acest mecanism,

    deoarece programul responsabil cu gestionarea modemului mgetty poate fi instruit sa

    utilizeze o lista de numere de telefon carora li se permite sau interzice accesul in sistem.

    Aceasta lista este stocata in fisierul dialin.config din directorul /etc/mgetty+sendfax si are

    structura urmatoare:

    Nr_de_telefon_permis

    Nr_de_telefon_permis

    Nr_de_telefon_permis

    ...

    !Nr_de_telefon_respins

  • !Nr_de_telefon_respins

    !Nr_de_telefon_respins

    ...

    Semnul exclamarii in fata unui numar de telefon semnifica faptul ca apelul de la acel

    numar va fi rejectat. Se poate folosi la sfirsitul listei indicatorul global all, atit cu sensul

    de acceptare cit si pentru rejectare. De exemplu, daca dorim acceptarea apelurilor de la

    numerele +40722123456 si

    +40214116675 si rejectarea apelurilor de la orice alt numar trebuie folosit urmatorul

    fisier dialin.config

    +40722123456

    +40214116675

    !all

    Metoda recunoasterii apelului ofera o modalitate simpla si eficienta de limitare a

    accesului in sistem. Aparitia modemurilor GSM a complicat putin problema accesului

    prin conexiuni dialup din cauza politicii operatorilor de telefonie mobila acestia, pentru

    a-si majora cistigurile, nu permit apeluri de date (ceea ce este in fond orice conexiune

    dialup intre 2 modemuri) catre cartele SIM prepaid, ci numai apeluri de voce; desigur,

    apelurile de date dinspre cartela SIM prepaid spre exterior sint permise (si taxate in

    consecinta...).

    In aceste conditii s-ar parea ca nu se pot folosi cartele GSM prepaid pentru serverul PPP,

    cu toate ca acestea prezinta avantaje evidente (costuri mult mai reduse, in cazul

    pierderii/furtului cartelei se poate pierde cel mult creditul de pe aceasta). Exista totusi o

    solutie pentru a utiliza cardurile prepaid, mai complicata, dar care ofera un plus de

    securitate sistemului procedeul Callback.

  • In figura alaturata este prezentat succint acest procedeu:

    Pina acum am considerat ca pe sistemul embedded ruleaza serverul PPP si pe sistemul

    utilizator clientul PPP. La mecanismul Callback (suna inapoi ) rolurile sint inversate:

    astfel, sistemul utilizator este configurat ca server PPP iar sistemul embedded este

    clientul PPP. Pentru initierea unei conexiuni sistemul utilizator apeleaza sistemul

    embedded; acesta, pe baza mecanismului CLIP recunoaste numarul apelant, intrerupe

    apelul si decide sa sune inapoi (CallBack) sitemul utilizator al carui numar este salvat in

    memoria sa nevolatila. In felul acesta se asigura o securitate sporita, pentru ca sistemul

    embedded (clientul PPP) apeleaza intotdeauna un singur numar (al serverului PPP) si

    numai ca urmare a unui apel recunoscut de la acesta. Orice apel de la orice alt numar este

    rejectat fara sa se mai intimple altceva, iar mecanismul Callback este declansat numai de

    apelurile de la numarul sistemului utilizator. Evident, intrucit sistemul embedded este cel

    care initiaza apelul de date, se pot folosi si cartele prepaid, cu toate avantajele metionate

    mai inainte.

    4.2.2. Protectia datelor la caderea tensiunii de alimentare; sisteme de

    fisiere

    Un siste embedded trebuie sa functioneze si dupa o cadere temporara a tensiunii retelei.

    Pentru aceasta este necesar ca datele sa fie in permanenta in stare consistenta, deci

    sistemul de fisiere utilizat de sistemul de operare trebuie sa asigure acest lucru.

    De aceea, la proiectarea unui sistem embedded un aspect important este reprezentat de

    alegerea sistemului de fisiere ce va fi utilizat. Sistemul de operare Linux ofera mai multe

    sisteme de fisiere dar numai unele pot fi utilizate eficient in cadrul unui sistem embedded.

    Criteriile care influenteaza alegerea sint:

    - Aplicatia are nevoie sa scrie in sistemul de fisiere?

  • - Performanta (viteza) este cel mai important aspect al sistemului, dau se poate accepta

    o performanta ceva mai scazuta in schimbul unui cod mai redus sau al utilizarii mai

    eficiente a dispozitivului de memorare ?

    Sisteme de fisiere orientate pe disc

    Desi numai o minoritate restrinsa a sistemelor embedded dispun de un hardisk, sistemele

    de fisiere prezentate in continuare sint cele familiare din lumea sistemelor de calcul

    obisnuite (PC) si reprezinta un bun element de comparatie.

    ext2 este sistemul de fisiere traditional in sistemele desktop si server Linux. Este

    rapid, prezinta multe facilitati si utilizeaza eficient spatiul pe disc, dar necesita o

    cantitate destul de mare de cod. Prezinta insa un mare dezavantaj pentru un sistem

    embedded daca are loc o cadere de tensiune inainte ca sistemul de fisiere ext2 sa

    fi fost demontat integritatea datelor de pe disc poate fi afectata (disk corruption)

    astfel ca la repornirea sistemului trebuie neaparat efectuata verificarea sitemului

    de fisiere, operatie mare consumatoare de timp in general.

    Sistemele de fisiere jurnalizate sint tot mai utilizate pe versiunile recente de

    Linux. Acestea prezinta o serie de avantaje, in particular viteza ridicata de transfer

    si evitarea necesitatii efectuarii verificarii consitentei datelor la pornirea

    sistemului. Cele mai utilizate sisteme de fisiere jurnalizate pentru Linux sint ext3

    si Reiser FS. De remarcat este insa ca aceste sisteme de fisiere adauga chiar mai

    mult cod imaginii nucleului Linux decit sistemul de fisiere ext2.

    Cu toate ca nu este foarte utilizat, sistemul de fisiere minix prezinta citeva

    avantaje: utilizeaza eficient spatiul pe disc, cu pretul eliminarii citorva facilitati

    utilizate mai rar (anumite atribute pentru fisiere si directoare) si ocupa un spatiu

    destul de redus in imaginea nucleului. Necesita insa verificarea consistentei

    datelor la pornirea sistemului.

    Sisteme de fisiere orientate memorie

    In sistemele embedded este obisnuita accesarea unei zone de memorie print intefata unui

    sistem de fisiere. Sistemul de operare Linux ofera mai multe cai de realizare a acestui

    lucru. Cel mai des intilnit este reprezentat de transformarea unei zone de memorie intr-un

  • dipozitiv bloc si apoi montarea peste acesta a unui sistem normal de fisiere (de examplu

    ext2). Acest lucru se realizeaza activind optiunea `RAM disk support'

    (CONFIG_BLK_DEV_RAM), si specificind marimea implicita a fiecarui disc RAM.

    Acest lucru ofera si facilitatea initializarii continutului discului RAM pe baza unei

    imagini a sistemului comprimat de fisiere la punerea in functiune a sistemului.(trebuie

    activata optiunea `Initial RAM disk (initrd) support' (CONFIG_BLK_DEV_INITRD) si

    furnizati nucleului citiva parametri pentru a sti in ce loc din memorie este plasata

    imaginea)

    Desi este un lucru obisnuit utilizarea sistemelor de fisiere ext2 sau minix peste un disc

    RAM, daca nu este necesara scrierea in fisiere poate fi folosit mai eficient sistemul

    `Compressed ROM file system' (CONFIG_CRAMFS). Fiind read-only si avind citeva

    restrictii legate de marimea fisierelor si a sistemului de fisiere in general, sistemul

    CRAMFS utilizeaza foarte putina memorie pentru metadatele fisierelor, ba mai mult, este

    capabil de compresie a datelor economisind si mai mult spatiu.

    Alt mod de a pastra un sistem de fisiere in intregime in memorie este utilizarea tmpfs

    (trebuie activata optiunea `Virtual memory file system support' (CONFIG_TMPFS)).

    Acest mod de lucru are avantajul ca sistemul de fisiere se va extinde sau restringe in

    functie de continut, in timp ce un disc RAM are dimensiune fixa ce trebuie precizata la

    crearea acestuia.

    Flash File SystemsSisteme de fisiere pentru memoria Flash

    Utilizarea memoriei Flash in sistemele embedded permite modificarea pe teren a softului.

    Memoria Flash poate fi folosita si pentru sustinerea unui sistem de fisiere, totusi cu

    anumite restrictii. Dispozitivele flash se caracterizeaza printr-o viteza de scriere

    multumitoare, dar datele nu pot fi rescrise inainte ca celulele de memorie sa fie sterse, iar

    memoriile Flash permit doar stergerea unor blocuri mari, operatie mare consumatoare de

    timp.

    Cel mai simplu mod de a folosi memoria Flash ca suport pentru un sistem de fisiere este

    utilizarea sa pentru stocarea imaginii sistemului de fisiere, imagine care va fi accesata

    direct (utilizind dispozitivul Memory Technology Device - MTD pseudo block device)

    sau prin copierea intr-un disc RAM. Dezavantajele acestor abordari este ca sistemul de

  • fisiere este read-only (prima varianta) sau read/write dar volatila (in cazul versiunii cu

    disc RAM ). In multe situatii acest aspect este un avantaj daca apar date corupte in

    sistemul de fisiere prin resetarea sistemului se revine la starea corecta. Tehnica de mai

    sus nu mai poate fi folosita insa daca sistemul de fisiere trebuie sa fie actualizat pe teren.

    Cel mai bun mod de a avea in memoria Flash un sistem de fisiere cu capabilitati de

    scriere intr-un sistem embedded Linux este de a utiliza Journaling Flash File System

    JFFS2. Acest sistem de fisiere utilizeaza tehnici de jurnalizare similare celor folosite de

    sisteme de fisiere de inalta performanta ca ext3. Intrucit jurnalizarea adauga toate

    modificarile la log-ul sistemului de fisiere, nu este necesara actualizarea datelor in locul

    in care sint plasate, ceea ce este ideal pentru Flash. JFFS2 este de asemenea capabil sa

    comprime datele, utilizind astfel foarte eficient spatiul disponibil.

    JFFS2 utilizeaza interfata MTD Flash in loc sa se plaseze peste interfata standard a

    dipozitivelor cu acces bloc. Acest lucru da vizibilitate caracteristicilor Flash si permite o

    operare mai eficienta a memoriilor Flash, de exemplu prin abilitatea de a scrie la o

    granularitate mai fina decit un bloc intreg de memorie si prin efectuarea procesului de

    `wear leveling' incercarea de a scrie in zone de memorie care au mai putine cicluri de

    stergere-scriere, uniformizind astfel numarul de scrieri in celulele de memorie - , ce

    imbunatateste performantele la scriere si prelungeste viata memoriei Flash.

    Principalele dezavantaje ale utilizari sistemului de fisiere sint legate de timp. La pornire

    sistemul trebuie sa scaneze memoria Flash si sa-si cosntruiasca tabelele de stari, proces ce

    poate lua timp. De asemenea, sistemul trebuie sa stearga periodic sectoare Flash, ceea ce

    poate lua citeva secunde, iar in timpul acestui proces accesul la sistemul de fisiere este

    blocat. Acesta problema poate fi rezolvata totusi prin utilizarea unui proces sau fir de

    executie buffer, decuplat de partea de timp real a sistemului.

    Tehnologia Flash ofera de asemenea interfata Flash Translation Layer (FTL). Aceasta

    este o tehnica de mapare a unui sistem de fisiere orientat bloc intr-un dispozitiv Flash.

    Desi pare foarte utila la prima vedere, interfata FTL nu ofera wear leveling si efectueaza

    mai multe cicluri de stergere incercind sa emuleze comportamentul unui disc magnetic.

  • In plus, pot exista probleme cu patentele in anumite tari. Din aceste motive nu se

    recomanda in practica FTL ci numai JFFS2.

    Utilizarea combinata a diferitelor tipuri de sisteme de fisiere

    Dupa cum s-a remarcat anterior, exista un numar mare de optiuni pentru sistemul de

    fisiere, fiecare cu avantajele si dezavantajele proprii. Oricum, tinind cont ca este posibil

    sa se monteze mai multe sisteme de fisiere aproape oriunde in ierarhia directoarelor, se

    poate obtine o structura utilizator ce corespunde tuturor cerintelor.

    Un exemplu tipic ar fi un sistem ce nu are nevoie de acces in scriere la fisiere exceptind

    citeva fisiere de configurare ce trebuie sa fie scrise si salvate(nevolatile) si citeva fisiere

    temporare ce pot fi regenerate la pornirea sistemului. In acest caz sistemul de fisiere root

    poate fi CramFs (comprimat si acces doar in citire), la care se adauga o partitie JFFS2 de

    dimensiuni reduse pentru directorul /etc/config ce contine fisierele de configurare a

    sistemului si o partitie TmpFs montata in punctul /tmp pentru fisierele temporare.