UMon

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.

Licens

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.

Funktionalitet leveret af loaderen

Understøttede processorer, operativsystemer

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.

Bootloader konfiguration, boot proces kontrol

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.

Filsystem

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:

  1. Tillader den indlejrede software at få adgang til data efter filnavn i stedet for efter absolut adresse.
  2. Giver direkte adgang til fildata som et sammenhængende array (på bekostning af sammenhængende placering af fildata).
  3. Giver en strømsvigt sikker defragmenteringsrutine.
  4. Filsystemet er bærbart mellem forskellige flashhukommelsesenheder på grund af brugen af ​​to abstraktionsniveauer: det første niveau giver en generaliseret grænseflade til flashhukommelsen fra filsystemets side, det andet niveau definerer implementeringen af ​​adgang til en bestemt type flash hukommelsesenheder.
  5. Filsystemet kræver ikke kontinuitet i adresserummet og kan leveres til brugeren som et enkelt filområde, når data placeres på flere forskellige medier.
  6. Filsystemet giver dig mulighed for at indstille fire niveauer af brugeradgang.
  7. Den eksekverbare filindlæser leveret af filsystemet gør det muligt at pakke individuelle sektioner af en objektfil ( COFF , ELF , osv.), hvilket giver dig mulighed for at indlæse programmet sektion for sektion uden mellemliggende udpakning i RAM.
  8. Filsystemet kan indeholde linkfiler, der peger på et FLASH -område uden for filsystemet, som indeholder de data, der skal overskrives. Disse data er udelukket fra defragmenteringsproceduren.
  9. Filsystemet gør det muligt at køre objektkode direkte fra EPROM uden at blive indlæst i RAM .

TFS er dog forenklet sammenlignet med de fleste komplekse filsystemer:

  1. Belastningsbalancering understøttes ikke for at reducere PROM- slid (en ressource på 100K sletninger, karakteristisk for de fleste moderne PROM -chips , er tilstrækkelig til lagring af firmware og konfigurationer - hovedformålet med TFS ).
  2. Katalogisering og samtidig skrivning af flere filer af ukendt størrelse understøttes ikke.
  3. Filer gemmes som en sammenhængende række af data.

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).

Links