Tjänster & Utbildning

Solutions
Home > Tjänster & Utbildning > Utbildning > Operativsystem / Realtidsmetodik > C för inbyggda system

C för inbyggda system

Malmö 15/12
Stockholm 15/12

Pris SEK 13 500
Antal dagar 2

Vi belyser viktiga områden som inte alltid kommer fram i en grundläggande programmeringskurs.
C är det viktigaste av högnivåspråken för området industriell programmering i inbyggda system. Teknikerna som används för inbyggda system kan skilja sig ganska mycket från "skolboksprogrammering". Denna kurs tar upp en del av dessa. Bland annat diskuterar vi olika strategier för optimering av kod för såväl minnesutrymme som för exekveringshastighet. Vi tar dessutom upp olika fel och fällor som är vanliga i språket C, som uppstår när man arbetar med de speciella krav som ett inbyggt system ställer. Genomgående i kursen är att kopplingen mellan hårdvaran och mjukvaran och samspelet med kompilatorn diskuteras som ett samverkande system.
Alla källkodsexempel i kursen är verklighetsbaserade.

Mål
Vi vill dela med oss av den gedigna kunskap om C-programmering i inbyggda system som Enea har samlat på sig under 35 år.

Dessutom vill vi höja kunskapsnivån hos kursdeltagarna om hårdvarans och kompilatorns roll i samspelet med mjukvaran.

Avsedd för
Nyexaminerade och personer med liten eller ingen erfarenhet av att arbeta med inbyggda system och som ska arbeta med C-programmering.

Förkunskaper
Grundläggande C-programmering.

Kursdokumentation
I kursen ingår egenproducerat kursmaterial på engelska. Kursen hålls vanligtvis på svenska, men kan vid behov även hållas på engelska.

Övrig information
Gott om utrymme finns för diskussion kring de exempel som ges.

Påbyggnadskurs
Safer C 
OSE-kurserna

Kursinnehåll

Definition av inbyggda system
 Karakteristik hos ett  inbyggt system

 Konsekvenser för programmeraren

 Frågor till åhörarna

Relationen mellan C och inbyggda system
 Varför används C så ofta för inbyggda system?

 Bitmanipulering med C:s operatorer

 Pekare, dubbla pekare och operatorn "address of"

 Structs och unions i inbyggda system

Att implementera en länkad lista


 Minne
 Att länka sitt program

 Hur sparar man minne?

 Problem: Minnesläckor, minnesöverskrivning

 Stackar

 Variabler

 Rekursivitet

 Pekargument till funktioner

Optimering
 Optimering: Minnesutnyttjande och exekveringstid

Arkitekturberoenden

 Bitvektorer och structs

Cacheminne

 Indexering av vektorer

 Profiling

Portabilitet och interoperabilitet
 Registerbredd

 Endian-problemet

 Fällor i språket C

Kodstil och kodningsdisciplin
 Vad är "bra" programmering?

 Goda vanor



SKRIV UT DENNA SIDA