Software încorporat

Software încorporat ( firmware englezesc  , fw ) - conținutul memoriei nevolatile a oricărui dispozitiv de calcul digital - un microcalculator , telefon mobil , navigator GPS etc., care conține programul său.

O imagine concepută pentru a fi scrisă în memoria dispozitivului corespunzător pentru a-și actualiza firmware-ul este uneori numită cuvântul „firmware”. De asemenea, cuvântul „firmware” se referă la procesul efectiv de scriere a acestei imagini în memoria nevolatilă a dispozitivului. O astfel de intermitere a memoriei este efectuată în timpul fabricării dispozitivului în diferite moduri, de exemplu, prin instalarea unui cip de memorie cu conținut pre-înregistrat ("cusut") sau prin programarea în circuit a cipului (de exemplu, microcontroler ) deja instalat în dispozitiv folosind un programator special .

Unele dispozitive moderne permit înlocuirea firmware-ului ("intermitent"). Metodele unei astfel de „intermiteri” pot fi diferite: de la înlocuirea fizică a unui cip de memorie la transmisia de date prin canale wireless.

Istoria termenului

Termenul „firmware” a apărut în anii 1960, când memoria cu miez magnetic a fost folosită în computerele mainframe . Dispozitivele de memorie doar pentru citire ( ROM) au folosit nuclee în formă de W și U. Miezurile în formă de W aveau un spațiu de aproximativ 1 mm, prin care a fost așezat firul. Pentru a înregistra un „1” binar , firul a fost plasat într-o fereastră de bază și pentru a înregistra un „0” - în alta. 1024 de fire au fost plasate într-un miez de 14 mm înălțime, ceea ce corespundea la 1 K de date pentru o descărcare. Lucrarea a fost efectuată prin tragerea manuală a firului cu ajutorul unui „creion”, din vârful căruia a fost tras firul, și a tabelelor de firmware. Cu o muncă atât de minuțioasă și obositoare, au apărut erori care au fost detectate pe standuri speciale de testare. Corectarea erorilor a fost efectuată prin tăierea firului eronat și prin intermiterea unuia nou.

La începutul anilor 1970, au apărut nuclee în formă de U, ceea ce a făcut posibilă utilizarea mașinilor automate pentru firmware. Firmware-ul nu a mai fost realizat într-un dispozitiv ROM, ci în pachete de 64, 128 sau 256 de fire. Datele de cusut au fost introduse în mașină folosind carduri perforate. Pe echipamente speciale, hamurile au fost scoase din mașină, legate cu fire, iar capetele firelor au fost lipite în blocuri. După aceea, hamurile se potrivesc în blocul ROM. Atât la cusătură manuală, cât și la lucrul la o mașină de cusut, erau necesare precizie și o vedere bună, așa că fetele tinere lucrau la cusătură.

În anii 1980, termenul „firmware” a început să fie înlocuit de conceptul de „ardere”, care a fost cauzat de apariția cipurilor ROM cu jumperi de nichel sau siliciu ardabile . Odată cu tehnologiile mai noi, termenul „ardere” a căzut în neutilizare, iar termenul „firmware” a rămas ca termen colocvial atât pentru procesul de scriere a datelor într-un microcircuit, cât și pentru utilizare în legătură cu datele în sine (inclusiv software).

În prezent, termenul „software încorporat” sau „software de sistem de calcul încorporat ” este în general acceptat . Această utilizare este folosită în surse oficiale [1] [2] , instituții de învățământ [3] și printre dezvoltatorii reputați de hardware [4] [5] și software [6] .

Termenul „firmware” sau „firmware” este uneori folosit în cercurile de dezvoltare [7] . Într-un astfel de caz, este sinonim cu termenii „firmware” și „software încorporat”, dar poate fi confundat cu termenii „firmware” și „ microcod ”, referindu-se la programele din procesoarele care își implementează el însuși setul de instrucțiuni.

În engleză, există o practică de a folosi doi termeni - „ firmware ” și „ software încorporat ” . Termenul de „software încorporat” se aplică programelor din interiorul dispozitivelor care de obicei nu sunt considerate computere și sunt sisteme încorporate ( de exemplu, sisteme embedded )  , adică fac parte dintr-un alt dispozitiv, mai complex, a cărui funcționare controlează , fiind încorporat în ea. Termenul „firmware” este mai general, fiind folosit atât ca sinonim pentru „software încorporat”, cât și în legătură cu programele dispozitivelor neîncorporate (de exemplu, telecomenzi ), hardware-ul computerului (de exemplu, BIOS-ul computerului ), programele pentru telefoane mobile. și calculatoare auto [8] . Printre dezvoltatorii vorbitori de limbă rusă, o astfel de împărțire a terminologiei nu este practicată, termenii „firmware” și „software încorporat” sunt aplicați în mod egal atât pentru sistemele încorporate [3] [6] , cât și pentru alte [1] [2] tipuri de sisteme. În acest sens, termenii ruși menționați corespund în general termenului englezesc „firmware”, în timp ce termenul „embedded software” în practica rusă este mai apropiat de termenul „embedded systems software”.

Aplicație

Software-ul încorporat este prezent peste tot acolo unde sunt utilizate microcontrolere și microprocesoare : în telefoane mobile, camere, instrumente de măsură, televizoare, carduri de plată etc.

Adesea, dispozitivele cu capacități și prețuri diferite diferă doar în versiunile de firmware. Versiunea de firmware este identificată prin numărul de lot hardware sau alți identificatori specializați. Uneori, versiunea de firmware este schimbată de producător fără notificarea consumatorului.

Un exemplu binecunoscut de software încorporat este BIOS -ul , care vine împreună cu placa de bază a computerului și asigură pregătirea inițială a computerului pentru a porni sistemul de operare.

Metode de dezvoltare

Software-ul încorporat poate fi creat de la zero pentru acest tip special de dispozitiv sau poate fi bazat pe un sistem de operare gata făcut, de obicei open source. Deci, pentru dispozitivele mici, RTOS este uneori folosit . Datorită memoriei mai ieftine în unele dispozitive, sistemul de operare GNU/Linux a devenit folosit ca firmware .

Pentru a scrie codul sursă al programelor, se folosesc în principal limbaje de asamblare și C. Chipurile logice programabile ( FPGA ) folosesc limbaje precum Verilog și VHDL .

Aspecte juridice și financiare

Firmele - producătorii de echipamente monitorizează prevenirea furtului software-ului lor încorporat.

Acordul de licență cu consumatorul interzice extragerea și studiul „firmware” într-un fel sau altul:

Unele companii ( Microcip , Atmel , etc.) produc microcontrolere cu memorie programabilă încorporată, astfel încât programul scris pe ele nu mai poate fi citit prin mijloace obișnuite (protecție la citire). Pentru a evita o astfel de protecție, firmele concurente sunt forțate să folosească echipamente speciale scumpe, cum ar fi microscoapele electronice .

Vezi și

Note

  1. 1 2 Registrul Ministerului Telecomunicațiilor și Comunicațiilor de Masă în clasa „BIOS și alte programe încorporate” . Preluat la 3 octombrie 2020. Arhivat din original la 21 septembrie 2020.
  2. 1 2 Ministerul Telecomunicațiilor și Comunicațiilor de Masă a dezvoltat un nou clasificator de software intern Arhivat 5 martie 2021 la Wayback Machine . 23.06.2020
  3. 1 2 Software de computer încorporat Arhivat 19 noiembrie 2021 la Wayback Machine . Tutorial. Universitatea ITMO , Sankt Petersburg, 2009
  4. System Firmware Arhivat 26 februarie 2021 la Wayback Machine . Centrul de cunoștințe IBM
  5. Firmware arhivat pe 25 septembrie 2020 la Wayback Machine . Axis Communications
  6. 1 2 Prototipări: Dezvoltare de software încorporat . Akash Gujarati, 14.01.2020
  7. Exemplu: MSI lansează AGESA BIOS Firmware 1.0.0.6 pentru plăcile de bază AMD din seria 300/400 Arhivat 23 noiembrie 2021 la Wayback Machine
  8. Emilio, Maurizio Di Paolo. Design de sisteme încorporate pentru achiziție și control de date de mare viteză  : [ ing. ] . — Springer, 01.09.2014. - ISBN 978-3-319-06865-7 .

Literatură