indlæring af integrerede systemer

jeg blev for nylig spurgt, hvordan en person med erfaring i indlejrede systemprogrammering med 8-bit processorer, såsom PIC, samt 32-bit processorer, som f.eks.

hvad jeg altid anbefaler til en sådan embedded systems programmør er dette: Se på Embedded Linuks som to dele, den indlejrede del og Linuks-delen. Lad os først overveje Linuks-delen.

operativsystemerne bugner, og valgmulighederne er mange for et integreret system, både proprietært og open source. Lind er et af disse valg. Uanset hvad du bruger til din udviklingsvært, hvad enten det er Mac eller Mac, skal du lære at programmere ved hjælp af mål OS. I denne henseende er det ikke meget forskelligt at bruge et andet operativsystem. Du har brug for en forståelse af, hvordan operativsystemet er designet, hvordan du konfigurerer operativsystemet, og hvordan du programmerer ved hjælp af dets APPLIKATIONSPROGRAMMERINGSGRÆNSEFLADE (API).

nogle få faktorer gør det lettere at lære at programmere Linuks end andre indlejrede operativsystemer. Du kan finde mange bøger og vejledninger om , samt unik, hvorfra den er afledt — mange flere end for andre operativsystemer. Online-ressourcer er rigelige, mens andre operativsystemer har en meget mindre tilstedeværelse, eller en drevet af OS-producenten. Du kan læse koden for at få en forståelse af præcis, hvad OS gør, noget der ofte er umuligt med et proprietært OS distribueret som binære filer. (Jeg anbefaler bestemt ikke at læse Linus kilde for at prøve at lære at programmere Linus. Det er som at prøve at lære at køre ved at studere, hvordan en bils transmission fungerer.)

den vigtigste faktor, der adskiller os fra andre operativsystemer, er, at den samme kerne bruges til alle systemer, fra de mindste indlejrede kort, til desktop-systemer, til store serverfarme. Dette betyder, at du kan lære en stor mængde programmering på dit skrivebord i et miljø, hvilket er meget mere fleksibelt end at bruge et målkort med alle kompleksiteterne ved at oprette forbindelse til målet, hente en testprogrammering og køre testen. Alle de grundlæggende koncepter og de fleste API ‘ er er de samme for din desktop og din integrerede API.

installation af Link
du kan installere en desktop-distribution på dit udviklingssystem, udskifte dine vinduer eller Mac-system, men det kan være et ret stort stykke at bide af ad gangen, da du sandsynligvis bliver nødt til at konfigurere e-mail, lære nye værktøjer og komme hurtigt op med en anden desktop-grænseflade. Du kan installere i et dual-boot-miljø, hvor du bruger det gamle miljø til e-mail osv., og brug Linus-systemet til at lære. Dette kan være ret akavet, da du skal lukke det ene miljø for at få det andet op. Derudover kan det være upraktisk eller umuligt at gøre det inden for et virksomhedsmiljø. IT-folk foretrækker at støtte et kendt miljø, ikke et, du har valgt.

en nemmere måde er at skabe et virtuelt maskinmiljø på dit nuværende udviklingssystem. For værter kan du installere VM-afspiller eller Virtualboks, og på Mac ‘ en kan du installere paralleller eller VM-Fusion. Ved hjælp af en VM giver dig meget mere fleksibilitet. Du kan installere en desktop-distribution, som Ubuntu eller Fedora. Du kan bruge denne distribution til at blive fortrolig med grundlæggende Linuk-koncepter, lære kommandoskallen og lære at opbygge og køre programmer. Du kan omkonfigurere kernen eller indlæse drivere uden bekymring for, at du vil gå ned på dit skrivebordssystem. Du kan opbygge hele kernen og applikationsmiljøet, svarende til hvad du kan gøre med et krydsudviklingsmiljø for et integreret mål.

hvis din VM kører ned, skal du blot genstarte VM. Nedbruddet påvirker ikke andre ting, som du muligvis gør på dit udviklingssystem, såsom at læse en hjemmeside om, hvordan du bygger og installerer en driver, eller at skrive en e-mail til en af de mange supportpostlister.

nogle af VM-produkterne har snapshot-funktioner, der giver dig mulighed for at tage et kontrolpunkt for en kendt arbejdskonfiguration, som du kan rulle tilbage, hvis du ikke let kan rette et nedbrud. Dette øjebliksbillede er langt nemmere end at forsøge at redde et crash desktop-system eller et målkort, der ikke reagerer.

en VM, der kører på dit skrivebord, er ikke en perfekt model til et integreret miljø. VM emulerer udstyret på et desktop-system med et begrænset sæt enheder, der sandsynligvis ikke matcher et rigtigt indlejret mål. Men vores mål på dette tidspunkt er ikke at modellere et reelt mål (noget vi vil diskutere senere), men at skabe et miljø, hvor du nemt kan lære Linuks-koncepter og programmering.

dette er det første skridt: Opret en VM og installer en desktop-distribution på VM. Vi vælger herfra i vores næste rate.

Michael Eager er hovedkonsulent hos Eager Consulting i Palo Alto, Californien. Han har over fire årtier erfaring med at udvikle compilere, debuggere og simulatorer til en bred vifte af processorarkitekturer, der anvendes i indlejrede systemer. Hans nuværende og tidligere kunder omfatter store halvledervirksomheder og systemudviklere. Michael har været medlem af ISO C++ Standard udvalg og ABI Udvalg for flere processor arkitekturer. Han er formand for Debugging Standards Committee for dværg, et meget brugt fejlfindingsdataformat. Han er aktiv i open source-og Liniesamfundene.

relaterede links:

  • for indlejrede systemer
  • Kom godt i gang med Embedded Linuk: del to
  • Kom godt i gang med Embedded Linuk: del tre
  • Kom godt i gang med Embedded Linuk: del Fire
  • Kom godt i gang med Embedded Linuk: Del fem
  • Kom godt i gang med Embedded Linuk: del seks
  • Kom godt i gang med Embedded Linuk: Del fem
  • Kom godt i gang med Embedded Linuk: del seks
  • Kom godt i gang med Embedded Lines: del syv

Leave a Reply

Din e-mailadresse vil ikke blive publiceret.