Indlejret software ( engelsk firmware, fw ) - indholdet af den ikke-flygtige hukommelse i enhver digital computerenhed - en mikroberegner , mobiltelefon , GPS-navigator osv., som indeholder dets program.
Et billede , der er designet til at blive skrevet til hukommelsen på den tilsvarende enhed for at opdatere dens firmware, kaldes nogle gange ordet "firmware". Ordet "firmware" refererer også til selve processen med at skrive dette billede til enhedens ikke-flygtige hukommelse. Sådan hukommelsesblink udføres under fremstillingen af enheden på forskellige måder, for eksempel ved at installere en hukommelseschip med forudindspillet indhold ("syet") eller ved in-circuit programmering af chippen (for eksempel mikrocontroller ) allerede installeret i enheden ved hjælp af en speciel programmør .
Nogle moderne enheder tillader firmwareudskiftning ("blinker"). Metoderne til sådan "blink" kan være forskellige: fra den fysiske udskiftning af en hukommelseschip til datatransmission over trådløse kanaler.
Udtrykket "firmware" opstod i 1960'erne, hvor magnetisk kernehukommelse blev brugt i mainframe-computere . Skrivebeskyttede hukommelsesenheder (ROM) brugte W-formede og U-formede kerner. De W-formede kerner havde et mellemrum på omkring 1 mm, hvorigennem tråden blev lagt. For at optage en binær "1" blev ledningen placeret i et kernevindue og for at optage et "0" - i et andet. 1024 ledninger blev placeret i en kerne 14 mm høj, hvilket svarede til 1 K data for en udledning. Arbejdet blev udført ved at trække tråden i hånden ved hjælp af en "blyant", fra hvis spids tråden blev trukket, og firmware-borde. Med et så omhyggeligt og kedeligt arbejde opstod der fejl, som blev opdaget på særlige teststande. Fejlretningen blev udført ved at klippe den fejlbehæftede ledning af og i stedet blinke en ny.
I begyndelsen af 1970'erne dukkede U-formede kerner op, som gjorde det muligt at bruge automatiske maskiner til firmware. Firmwaren blev ikke længere udført i en ROM-enhed, men i bundter med 64, 128 eller 256 ledninger. De data, der skulle sys, blev indtastet i maskinen ved hjælp af hulkort. På specialudstyr blev seler fjernet fra maskinen, bundet med tråde, og enderne af ledningerne blev loddet ind i blokke. Derefter passer selerne ind i ROM-blokken. Både ved manuel syning og ved arbejde på en symaskine krævedes nøjagtighed og godt syn, så unge piger arbejdede med syningen.
I 1980'erne begyndte udtrykket "firmware" at blive afløst af begrebet "brænding", som var forårsaget af fremkomsten af ROM-chips med brændbare nichrome- eller silicium -jumpere . Med nyere teknologier er begrebet "brænding" gået ud af brug, og begrebet "firmware" er forblevet som en dagligdags betegnelse for både processen med at skrive data til et mikrokredsløb og til brug i forhold til selve dataene (inklusive software).
I øjeblikket er udtrykket "indlejret software" eller "indlejret computersystemsoftware " generelt accepteret . Denne brug bruges i officielle kilder [1] [2] , uddannelsesinstitutioner [3] og blandt velrenommerede udviklere af hardware [4] [5] og software [6] .
Udtrykket "firmware" eller "firmware" bruges nogle gange i udviklingskredse [7] . I et sådant tilfælde er det synonymt med udtrykkene "firmware" og "indlejret software", men kan forveksles med udtrykkene "firmware" og " mikrokode ", der henviser til programmer i processorer, der implementerer deres instruktionssæt selv.
På engelsk er der en praksis med at bruge to udtryk - " firmware " og " indlejret software " . Udtrykket "indlejret software" anvendes på programmer inde i enheder, der normalt ikke betragtes som computere og er indlejrede systemer ( eng. embedded systems ), det vil sige, at de er en del af en anden, mere kompleks enhed, hvis funktion de kontrollerer , dvs. indbygget i det. Udtrykket "firmware" er mere generelt og bruges både som et synonym for "indlejret software" og i relation til ikke-indlejrede enhedsprogrammer (f.eks. fjernbetjeninger ), computerhardware (f.eks. computer- BIOS ), mobiltelefonprogrammer og bilcomputere [8] . Blandt russisktalende udviklere praktiseres en sådan opdeling af terminologi ikke, udtrykkene "firmware" og "indlejret software" anvendes ligeligt på både indlejrede [3] [6] og andre [1] [2] typer systemer. I denne forstand svarer de nævnte russiske termer generelt til det engelske udtryk "firmware", mens udtrykket "embedded software" i russisk praksis er tættere på udtrykket "embedded systems software".
Indlejret software er til stede overalt, hvor mikrocontrollere og mikroprocessorer bruges : i mobiltelefoner, kameraer, måleinstrumenter, tv'er, betalingskort osv.
Ofte er enheder med forskellige muligheder og pris kun forskellige i firmwareversioner. Firmwareversionen identificeres ved hardwarelotnummeret eller andre specialiserede identifikatorer. Nogle gange ændres firmwareversionen af producenten uden varsel til forbrugeren.
Et velkendt eksempel på indlejret software er BIOS , som følger med computerens bundkort og giver den indledende forberedelse af computeren til at starte operativsystemet.
Indlejret software kan oprettes fra bunden til denne særlige type enhed, eller den kan være baseret på et færdigt operativsystem, normalt open source. Så til små enheder bruges RTOS nogle gange . På grund af billigere hukommelse i nogle enheder er GNU/Linux OS blevet brugt som firmware .
For at skrive kildekoden til programmer bruges hovedsagelig assembly og C -sprog . Programmerbare logiske chips ( FPGA'er ) bruger sprog som Verilog og VHDL .
Firmaer - fabrikanter af udstyr overvåger forebyggelsen af tyveri af deres indlejrede software.
Licensaftalen med forbrugeren forbyder udvinding og undersøgelse af "firmware" på den ene eller anden måde:
Nogle virksomheder ( Microchip , Atmel , etc.) producerer mikrocontrollere med indbygget programmerbar hukommelse, sådan at det program, der er skrevet på dem, ikke længere kan læses med almindelige midler (læsebeskyttelse). For at komme uden om en sådan beskyttelse er konkurrerende virksomheder tvunget til at bruge særligt dyrt udstyr, såsom elektronmikroskoper .