Lære Linux for embedded systems

jeg ble nylig spurt om hvordan en person med erfaring i embedded systems programmering med 8-bits prosessorer, for EKSEMPEL PIC, samt 32-bits prosessorer, for Eksempel PowerPC, men Ingen Linux erfaring, kan lære Å bruke Embedded Linux.

det jeg alltid anbefaler til en slik innebygd systemprogrammerer er dette: Se På Innebygd Linux som to deler, den innebygde delen og Linux-delen. La Oss vurdere Linux-delen først.

Linux-siden
Operativsystemer florerer og valgene er mange for et innebygd system, både proprietær og åpen kildekode. Linux er et av disse valgene. Uansett hva du bruker til utviklingsverten Din, Enten Linux Eller Windows eller Mac, må du lære å programmere ved hjelp av mål-OS. I dette henseende er Bruk Av Innebygd Linux ikke mye forskjellig fra Bruk Av VXworks, WindowCE eller et ANNET OS. Du trenger en forståelse av HVORDAN OPERATIVSYSTEMET er utformet, hvordan du konfigurerer OPERATIVSYSTEMET, og hvordan du programmerer ved hjelp av programmeringsgrensesnittet (API).

noen få faktorer gjør det enklere å lære Å programmere Linux enn andre innebygde Operativsystemer. Du finner mange bøker og opplæringsprogrammer Om Linux, Samt Unix som den er avledet fra — mange flere enn for andre Operativsystemer. Online ressurser For Linux er rikelig, mens andre Operativsystemer har en mye mindre tilstedeværelse, eller en drevet av OS-produsenten. Linux er åpen kildekode, og du kan lese koden for å få en forståelse av nøyaktig HVA OPERATIVSYSTEMET gjør, noe som ofte er umulig med et proprietært OS distribuert som binærfiler. (Jeg anbefaler absolutt ikke å lese Linux source for å prøve å lære Å programmere Linux. Det er som å prøve å lære å kjøre ved å studere hvordan bilens overføring fungerer.)

Den viktigste faktoren Som skiller Linux fra andre Operativsystemer, er at Den samme kjernen brukes til alle systemer, fra de minste innebygde brettene, til stasjonære systemer, til store serverfarmer. Dette betyr at Du kan lære En stor Mengde Linux-programmering på skrivebordet ditt i et miljø, noe som er mye mer fleksibelt enn å bruke et målkort med alle kompleksiteten ved å koble til målet, laste ned en testprogrammering og kjøre testen. Alle de grunnleggende konseptene og De fleste Apier er de samme For skrivebordet Linux og Din Innebygde Linux.

Installere Linux
du kan installere en stasjonær Linux-distribusjon på utviklingssystemet ditt, erstatte Windows-eller Mac-systemet, men det kan være et ganske stort stykke å bite av på en gang, siden du sannsynligvis må konfigurere e-post, lære nye verktøy og komme opp i fart med et annet skrivebordsgrensesnitt. Du kan installere Linux i et dual-boot miljø, hvor du bruker det gamle miljøet for e-post, etc., Og bruk Linux-systemet for læring. Dette kan være ganske vanskelig, siden du trenger å stenge ned ett miljø for å få opp den andre. I tillegg kan det være upraktisk eller umulig å gjøre enten i et bedriftsmiljø. DET folk foretrekker å støtte et kjent miljø, ikke en som du har valgt.

en enklere måte er å skape et virtuelt maskinmiljø på ditt nåværende utviklingssystem. For windows-verter kan du installere VMware Player eller VirtualBox, og På Mac kan du installere Parallels eller VMware Fusion. VED HJELP AV EN VM gir deg mye mer fleksibilitet. Du kan installere en desktop Linux-distribusjon, Som Ubuntu eller Fedora. Du kan bruke denne distribusjonen til å bli kjent med grunnleggende Linux-konsepter, lære kommandoskallet og lære å bygge og kjøre programmer. Du kan konfigurere kjernen eller laste drivere, uten bekymring for at du vil krasje skrivebordet systemet. Du kan bygge hele kjernen og applikasjonsmiljøet, ligner på hva du kan gjøre med et kryssutviklingsmiljø for Et Innebygd Linux-mål.

hvis VM som kjører Linux krasjer, starter DU BARE VM på NYTT. Krasj påvirker ikke andre ting du kan gjøre på utviklingssystemet ditt, for eksempel å lese en nettside om hvordan du bygger og installerer en driver, eller at du skriver en e-post til en av de mange støttepostlistene.

Noen AV VM-produktene har snapshot-funksjoner som lar deg ta et kontrollpunkt av en kjent arbeidskonfigurasjon, som du kan rulle tilbake hvis du ikke kan rette opp en krasj enkelt. Dette øyeblikksbildet er langt enklere enn å prøve å redde et krasj på skrivebordet eller et ikke-responsivt målkort.

En Linux VM som kjører på skrivebordet ditt, er ikke en perfekt modell for Et Innebygd Linux-miljø. VM emulerer maskinvaren til et skrivebordssystem, med et begrenset sett med enheter som ikke sannsynligvis vil matche et ekte innebygd mål. Men vårt mål på dette punktet er ikke å modellere et reelt mål (noe vi diskuterer senere), men å skape et miljø hvor Du kan lære Linux-konsepter og programmering enkelt.

Dette Er det første trinnet: Opprett EN VM og installer en desktop Linux-distribusjon på VM. Vi vil plukke fra her i vår neste avdrag.

Michael Eager er hovedkonsulent Hos Eager Consulting I Palo Alto, California. Han har over fire tiår erfaring med å utvikle kompilatorer, debuggere og simulatorer for et bredt spekter av prosessorarkitekturer som brukes i innebygde systemer. Hans nåværende og tidligere kunder inkluderer store halvlederselskaper og systemutviklere. Michael har vært medlem AV ISO C++ Standard Committee og ABI Komiteer for flere prosessorarkitekturer. Han er leder Av Debugging Standards Committee FOR DWARF, et mye brukt debug dataformat. Han er aktiv i open-source og Linux samfunn.

Relaterte lenker:

  • Lære Linux for innebygde systemer
  • Komme I gang Med Innebygd Linux: Del To
  • Komme I gang Med Innebygd Linux: Del Tre
  • Komme i gang Med Innebygd Linux: Del Fire
  • Komme I Gang Med Innebygd Linux: Del Fem
  • Komme i gang Med Innebygd Linux: Del Seks
  • Komme i gang Med Innebygd Linux: Del Sju

Leave a Reply

Din e-postadresse vil ikke bli publisert.