Micromonitor (uMonitor, MicroMonitor) er en indbygget operativsystemindlæser, der i øjeblikket er designet til at blive indlæst fra NOR FLASH PROM -enheder .
I modsætning til den velkendte u-boot bootloader er mikromonitoren letvægts (minimum kilder, fuld funktionalitetstilpasning) og er ikke bundet til Linux OS og generelt til noget OS. Mikromonitoren giver dig mulighed for at indlæse en vilkårlig objektkode fra EPROM til RAM og køre den til udførelse.
Oprindeligt udviklet af Ed Sutter for Lucent Technologies. Det blev udgivet som kildekoder med en åben licens (MicroMonitor Lucent Open License). Forfatteren kræver i øjeblikket ikke at følge reglerne for GNU-licenserne, det vil sige at levere kildekoder, hvis denne indlæser bruges.
Det eneste krav fra forfatteren er at beholde teksten i licensen i titlen og om muligt sende ham rettelser og vigtige tilføjelser.
Dette er en sjældenhed i den moderne Open Source-bevægelse, som for eksempel tvinger dig til at åbne proprietær kode, hvis du linker til et bibliotek udgivet under en GPL-licens, mens resten af koden er din egen udvikling.
Bootloaderen er blevet porteret og brugt på følgende processorer:
x86 , PowerPC , MIPS , ARM /Xscale, 68K /ColdFire, Blackfin , SH2/4 , MicroBlaze , Nios
Indlæseren udfører den indledende initialisering af processoren, overfører billedet af hovedoperativsystemet fra flashhukommelse til RAM og starter det til udførelse.
Der er således ingen reelle begrænsninger på det anvendte indlejrede OS. Listen over understøttede OS inkluderer:
VxWorks , Linux , uC /OS-II , eCos , RTEMS , Nucleus , CMX , pSOS osv...
I sig selv kræver indlæseren ikke et operativsystem og forpligter ikke til at bruge det i den indlæste software, det vil sige, den tillader indlæsning af vilkårlige objektfiler fra PROM til RAM og kører til udførelse.
Understøttede objektfilformater: COFF , ELF , AOUT (gammel Unix), MSBIN (Windows CE).
Hvis det er nødvendigt, kan du tilføje understøttelse til indlæsning af en objektfil i et vilkårligt format.
Mikromonitoren er en konfigurerbar bootloader: dele af bootloader-koden, der ikke bruges på målsystemet, kan ganske let deaktiveres, når du bygger. Hvis det er nødvendigt, kan du kun bruge udvidet funktionalitet på udviklings- og fejlfindingsstadiet og derefter slå det fra.
Fleksibilitet slutter ikke med kodesamling: softwarens sammensætning og udførelsesrækkefølge konfigureres ved at redigere et simpelt tekstscript, det er muligt at implementere en anmodning fra brugeren om tilladelse til at udføre en fil, en grundlæggende begrænsning af brugerrettigheder er mulig på grund af brugeradgangsniveauer indlejret i filsystemet.
Hvis terminaladgang blev aktiveret ved samling af bootloaderen, giver bootloaderen en kommandolinjegrænseflade ( CLI ) med tilrettelæggelse af terminaladgang via en seriel port (for eksempel RS-232 ) og/eller Ethernet ( Telnet-protokol ).
Mikromonitorens kommandolinjegrænseflade giver tilstrækkelig funktionalitet til at opdatere filsystemet og administrere opstart.
Ud over kontrolfunktioner giver mikromonitoren mulighed for at overvåge læsseprocessen. Hvis det er nødvendigt at spare ressourcer, er logning deaktiveret.
Den største fordel ved MicroMonitor er det lille filsystem , som er optimeret til brug med NOR FLASH -hukommelse.
TFS er organiseret som en enkelt-linket liste, hvor hver fil er repræsenteret af en kort (<100 bytes) header og en sammenhængende række af fildata. Ved sletning sættes et slettetegn i filoverskriften. Hvis en fil skal overskrives, "slettes" den (ved at opdatere headeren) og erstattes med en ny fil tilføjet til den ledige plads. Når ledig plads løber tør, starter defragmenteringsproceduren , som i dette tilfælde består i at flytte ikke-slettede filer til begyndelsen af filsystemet, det vil sige faktisk sletning af data fra FLASH -hukommelsen.
TFS har følgende fordele:
TFS er dog forenklet sammenlignet med de fleste komplekse filsystemer:
Derudover er en potentiel ulempe brugen af en midlertidig sektor til energisikker defragmentering, som er udsat for øget belastning.
Med henblik på opstart af operativsystemet og lagring af konfigurationer kan en ressource på 100.000 sletninger dog anses for tilstrækkelig til uafbrudt drift i flere år (med ugentlig defragmentering og filsystemopdateringer).