Inbäddad programvara

Inbäddad programvara ( engelsk  firmware, fw ) - innehållet i det icke-flyktiga minnet i alla digitala datorer - en mikroräknare , mobiltelefon , GPS-navigator , etc., som innehåller dess program.

En bild som utformats för att skrivas till minnet på motsvarande enhet för att uppdatera dess firmware kallas ibland ordet "firmware". Ordet "firmware" hänvisar också till den faktiska processen att skriva denna bild till enhetens icke-flyktiga minne. Sådan minnesblinkning utförs under tillverkningen av enheten på olika sätt, till exempel genom att installera ett minneschip med förinspelat innehåll ("sydda") eller genom att programmera kretsen i kretsen (till exempel mikrokontroller ) redan installeras i enheten med en speciell programmerare .

Vissa moderna enheter tillåter byte av firmware ("blinkande"). Metoderna för sådan "blinkande" kan vara olika: från fysiskt utbyte av ett minneschip till dataöverföring över trådlösa kanaler.

Termens historia

Termen "firmware" har sitt ursprung på 1960-talet när magnetiskt kärnminne användes i stordatorer . Skrivskyddade minnesenheter (ROM) använde W-formade och U-formade kärnor. De W-formade kärnorna hade en spalt på ca 1 mm, genom vilken tråden lades. För att spela in en binär "1" placerades tråden i ett kärnfönster och för att spela in en "0" - i ett annat. 1024 trådar placerades i en kärna 14 mm hög, vilket motsvarade 1 K data för en urladdning. Arbetet utfördes genom att dra tråden för hand med hjälp av en "penna", från vars spets tråden drogs, och firmware-bord. Med ett sådant mödosamt och tråkigt arbete uppstod fel som upptäcktes på speciella provbänkar. Felkorrigering utfördes genom att klippa av den felaktiga tråden och blinka en ny istället.

I början av 1970-talet uppträdde U-formade kärnor, vilket gjorde det möjligt att använda automatiska maskiner för firmware. Den fasta programvaran utfördes inte längre i en ROM-enhet, utan i buntar med 64, 128 eller 256 trådar. Datan som skulle sys matades in i maskinen med hjälp av hålkort. På specialutrustning togs selarna bort från maskinen, bands med trådar och ändarna på ledningarna löddes i block. Efter det passar selarna i ROM-blocket. Både med manuell sömnad och när man arbetade på en sömnadsmaskin krävdes noggrannhet och god syn, så unga tjejer arbetade med sömmen.

På 1980-talet började termen "firmware" att ersättas av begreppet "bränna", som orsakades av tillkomsten av ROM-chips med brännbara nichrom- eller kiselbyglar . Med nyare teknologier har termen "bränning" fallit ur bruk, och termen "firmware" har förblivit som en vardaglig term för både processen att skriva data till en mikrokrets och för användning i relation till själva data (inklusive programvara).

För närvarande är termen "inbäddad programvara" eller "inbäddad datorsystemmjukvara " allmänt accepterad . Denna användning används i officiella källor [1] [2] , utbildningsinstitutioner [3] och bland välrenommerade utvecklare av hårdvara [4] [5] och mjukvara [6] .

Termen "firmware" eller "firmware" används ibland i utvecklingskretsar [7] . I ett sådant fall är det synonymt med termerna "firmware" och "inbäddad programvara", men kan förväxlas med termerna "firmware" och " microcode ", som syftar på program inom processorer som implementerar deras instruktionsuppsättning själv.

På engelska är det vanligt att använda två termer - " firmware " och " inbäddad programvara " . Termen "inbäddad programvara" används för program inuti enheter som vanligtvis inte anses vara datorer och som är inbyggda system ( eng.  embedded systems ), det vill säga de är en del av en annan, mer komplex enhet, vars funktion de kontrollerar , dvs. inbyggd i den. Termen "firmware" är mer allmän och används både som en synonym för "inbäddad programvara" och i relation till icke-inbäddade enhetsprogram (till exempel fjärrkontroller ), datorhårdvara (till exempel dator- BIOS ), mobiltelefonprogram och bildatorer [8] . Bland rysktalande utvecklare praktiseras inte en sådan uppdelning av terminologi, termerna "firmware" och "inbäddad programvara" tillämpas lika på både inbäddade [3] [6] och andra [1] [2] typer av system. I denna mening motsvarar de nämnda ryska termerna i allmänhet den engelska termen "firmware", medan termen "embedded software" i rysk praxis är närmare termen "inbäddad systemmjukvara".

Applikation

Inbäddad programvara finns överallt där mikrokontroller och mikroprocessorer används : i mobiltelefoner, kameror, mätinstrument, TV-apparater, betalkort, etc.

Ofta skiljer sig enheter med olika kapacitet och pris endast i firmwareversioner. Firmwareversionen identifieras av hårdvarans lotnummer eller andra specialiserade identifierare. Ibland ändras firmwareversionen av tillverkaren utan meddelande till konsumenten.

Ett välkänt exempel på inbäddad programvara är BIOS , som följer med datorns moderkort och ger den första förberedelsen av datorn för att starta operativsystemet.

Utvecklingsmetoder

Inbäddad programvara kan skapas från grunden för just denna typ av enhet, eller så kan den baseras på ett färdigt operativsystem, vanligtvis öppen källkod. Så för små enheter används ibland RTOS . På grund av billigare minne i vissa enheter har GNU/Linux OS använts som firmware .

För att skriva källkoden för program används främst assembly och C -språk . Programmerbara logiska chips ( FPGA ) använder språk som Verilog och VHDL .

Juridiska och finansiella frågor

Företag - tillverkare av utrustning övervakar förhindrandet av stöld av deras inbäddade programvara.

Licensavtalet med konsumenten förbjuder utvinning och studier av "firmware" på ett eller annat sätt:

Vissa företag ( Microchip , Atmel , etc.) producerar mikrokontroller med inbyggt programmerbart minne, så att programmet som skrivits på dem inte längre kan läsas med vanliga medel (lässkydd). För att komma runt ett sådant skydd tvingas konkurrerande företag att använda speciell dyrbar utrustning, såsom elektronmikroskop .

Se även

Anteckningar

  1. 1 2 Register för ministeriet för telekom och masskommunikation i klassen "BIOS och annan inbyggd programvara" . Hämtad 3 oktober 2020. Arkiverad från originalet 21 september 2020.
  2. 1 2 Ministeriet för telekom och masskommunikation har utvecklat en ny inhemsk programvaruklassificerare Arkiverad 5 mars 2021 på Wayback Machine . 2020-06-23
  3. 1 2 Inbäddad datorprogramvara Arkiverad 19 november 2021 på Wayback Machine . Handledning. ITMO University , St. Petersburg, 2009
  4. Systemfirmware Arkiverad 26 februari 2021 på Wayback Machine . IBM Knowledge Center
  5. Firmware arkiverad 25 september 2020 på Wayback Machine . Axis Communications
  6. 1 2 Prototyping: Inbäddad mjukvaruutveckling . Akash Gujarati, 2020-01-14
  7. Exempel: MSI släpper AGESA BIOS Firmware 1.0.0.6 för AMD 300/400-seriens moderkort Arkiverad 23 november 2021 på Wayback Machine
  8. Emilio, Maurizio Di Paolo. Inbyggda systemdesign för höghastighetsdatainsamling och kontroll  : [ eng. ] . — Springer, 2014-09-01. - ISBN 978-3-319-06865-7 .

Litteratur