Logga in

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Priserna visas inklusive moms och du betalar med Klarna


Priserna visas exklusive moms, du kan betala med Klarna eller faktura

Inbyggda system med RISC-V

Skickas följande arbetsdag

Inbyggda system med RISC-V

Den här boken finns tillgänglig som e-bok på Studora.

På Studora kan du köpa tidsbegränsad åtkomst till denna och många andra e-böcker. Du får tillgång direkt och kan även ta del av tjänstens smarta studieverktyg.

Valt format

Den här boken presenterar grunderna för att bli en driven utvecklare av inbyggda system. Den ger också den förståelse som krävs för fortsatta studier i programmering i allmänhet och operativsystem i synnerhet. Inbyggda system finns i stort sett i varje elektrisk pryl, från tandborsten, brandlarmet och dörrlåset till en modern bil. Systemet kan sägas vara en dator som både av kostnads- och utrymmesskäl måste innehålla i stort sett alla nödvändiga funktioner i en enda krets, en mikrocontrolle...

Den här boken presenterar grunderna för att bli en driven utvecklare av inbyggda system. Den ger också den förståelse som krävs för fortsatta studier i programmering i allmänhet och operativsystem i synnerhet. Inbyggda system finns i stort sett i varje elektrisk pryl, från tandborsten, brandlarmet och dörrlåset till en modern bil. Systemet kan sägas vara en dator som både av kostnads- och utrymmesskäl måste innehålla i stort sett alla nödvändiga funktioner i en enda krets, en mikrocontroller (MCU). Inbyggda system med RISC-V behandlar både programmering av en RISC-V MCU och hur den ansluts till en mängd vanligt förekommande I/O-komponenter. Boken består av fem större block där de två första introducerar MCU:ns processor och hur den programmeras i assembler samt digital I/O. I block tre introduceras A/D- och D/A-omvandling inklusive tillämpningar samt avbrott och maskinnära C. Block fyra behandlar seriell kommunikation och block fem ger en inblick i operativsystemet FreeRTOS. Varje kapitel avslutas med en sammanfattning, till en del kapitel finns även övningar. Inbyggda system med RISC-V är avsedd för ingenjörsutbildningar och kräver grundläggande förkunskaper inom ellära, datorns uppbyggnad, digitalteknik och c-programmering. Boken är också riktad mot yrkesverksamma ingenjörer eller driftiga entusiaster som vill ta till sig den senaste tidens rön. Källkod till bokens övningar finns via denna länk: https://github.com/Inbyggda-system-med-RISC-V/laborationskod#readme

 

Förord 13

 

KAPITEL 1         Inbyggda system 15

  1. Introduktion 16
  2. Motivation 25
  3. Sammanfattning 26
  4. Övningar 26

 

KAPITEL 2 Arkitekturer 27

  1. Bakgrund 28
  2. Huvudprinciper 28
  3. Detaljöverväganden 31
    1. Instruction Set Architecture 31
    2. Var finns programmet? 33
    3. Var finns operanderna? 34
    4. Vilka adresseringsmoder stöds? 37
    5. Instruktionsrepertoar/kodning? 42
    6. Vilken mekanism används för beslut? 45
    7. Hur hanteras I/O? 47
    8. Hur är styrlogiken realiserad? 48
  4. Case study: Intel x86 (licens) 48
  5. Case study: RISC-V (öppen standard) 48
  6. Sammanfattning 49
  7. Övningar 50

 

KAPITEL 3 Introduktion till RISC-V 51

  1. Bakgrund 52
  2. Varianter 53
  3. Adressrymd 54
  4. Register 55
  5. Sammanfattning 57
  6. Övningar 57

 

KAPITEL 4 RISC-V-instruktioner I 59

  1. Principer 60
  2. Reservera minne 62
  3. De första instruktionerna 64
    1. Add Immediate (addi, li, la, nop) 64
    2. Load & Store (lb(u), lh(u), lw, sb, sh, sw) 67
    3. Add & Subtract (add, sub, neg, mv) 68
    4. Jump and Link (jal, j) 70
  4. Verktygskedjan I 72
  5. Sammanfattning   76
  6. Övningar 76

 

KAPITEL 5 RISC-V-instruktioner II 77

  1. Fler instruktioner 78
    1. Booleska operationer (and(i), or(i), xor(i), not) 78
    2. Shift (sll(i), SRL(i), sRA(i)) 78
    3. Branch 80
  2. Selektion 81
  3. Iteration 83
  4. Case: Medelvärde 83
  5. Subrutiner 86
  6. Case: 4-siffrors decimal räknare 90
  7. Sammanfattning 96
  8. Övningar 96

 

KAPITEL 6 Memory mapped I/O 97

  1. Interaktion med omgivningen?! 98
  2. Transducers 98
  3. General Purpose I/O (GPIO) 100
    1. Underlag 100
    2. Elektrisk inkoppling 102
    3. Programmering 108
  4. Reset & Control Unit (RCU) 112
    1. Underlag 112
    2. Programmering 114
  5. Utvecklingsmiljön 114
  6. Drivrutiner? 123
  7. Strömbrytare och lysdiodbank 129
  8. Sammanfattning 133
  9. Övningar 133

 

KAPITEL 7 Parallell I/O 135

  1. 8 x 8-LED-matris I 136
    1. Elektrisk anslutning 137
    2. Drivrutin 139
  2. Konceptet stack 140
  3. Separation av I/O från applikationsspecifik kod 141
  4. Räknare (timers) 142
  5. 8 x 8-LED-matris II 144
  6. 7-segments-displayer 148
  7. Liquid-crystal display (LCD) 149
  8. Ännu fler instruktioner 151
  9. Tangentbord 152
    1. Elektrisk anslutning 153
    2. Drivrutin 154
  10. Sammanfattning 161
  11. Övningar 161

 

KAPITEL 8 C-programmering 163

  1. Metod 1: C-kod interagerar direkt med Assembler-kod 164
    1. Look-up table 165
  2. Metod 2: C-kod interagerar med HW via funktionsbiblio tek 167
  3. Main event/run loop 168
  4. Hinner MCU:n med allt? 169
  5. Sammanfattning 171

 

KAPITEL 9 Tillståndsmaskiner 173

  1. Sammanfattning 177
  2. Övningar 177

 

KAPITEL 10 D/A-omvandling 179

  1. D/A – spänningsmetoden 180
    1. Arbetssätt 180
    2. Byggblock 181
    3. Gränssnitt 182
  2. D/A – effektmetoden 187
    1. Arbetssätt 187
    2. Byggblock 188
    3. Gränssnitt 189
    4. Filtrering 194
    5. Motorstyrning 196
  3. Sammanfattning 197

 

KAPITEL 11 A/D-omvandling 199

  1. Arbetssätt 200
    1. Byggblock 203
    2. Gränssnitt 204
  2. Sammanfattning 210

 

KAPITEL 12 Återkopplade reglersystem 211

12.1     Sammanfattning 217

 

KAPITEL 13 Avbrott 219

  1. Generellt 220
  2. Control and Status Register 222
  3. Call Back Routines 223
  4. Sammanfattning 227

 

KAPITEL 14 Filter 229

  1. Samplingsteoremet 230
  2. Medelvärde 231
  3. Avancerade filter 231
  4. FIR 232
  5. IIR 233
  6. Praktiska tips 241
  7. Sammanfattning 242

 

KAPITEL 15 Seriell I/O 243

  1. Introduktion 244
  2. Serial Peripheral Interface (SPI) 246
    1. Allmänt 246
    2. Protokoll 247
    3. Hårdvarustöd 247
    4. ST7735 160 x 80 Pixel TFT 248
    5. API 250
    6. Secure Digital Card (SD Card) 257
  3. Inter Intergrated Circuit (I2C) 258
    1. Allmänt 258
    2. Hårdvarustöd 260
    3. ICM-20600: A 6-axis Motion TraCKING Device 261
    4. PCF8574 8-bit I/O Expander 262
    5. API 264
    6. SMART CARD 265
  4. Controller Area Network (CAN) 267
    1. Allmänt 267
    2. Hårdvarustöd 269
    3. API 270 
  5. RS-232/V24 270
    1. Allmänt 270
    2. Hårdvarustöd & API 272 
  6. RS-422 & RS-485 281
    1. Allmänt 281
  7. 1-Wire 281
    1. Allmänt 281
    2. Hårdvarustöd 283
  8. Trådlösa tekniker 283
    1. Allmänt 283
    2. Blåtand / Bluetooth 283
  9. Sammanfattning 287
  10. Övningar 287

 

 

KAPITEL 16 Realtidsoperativsystem 289

  1. Introduktion 290
  2. FreeRTOS 292
    1. Allmänt 292
    2. Distribution 293
    3. Inställningar 294
    4. Datatyper och notation 294
  3. Sammanfattning 295

 

KAPITEL 17 Uppgiftshantering och schemaläggning 297

  1. Introduktion 298
  2. Task Management 300
  3. Sammanfattning 304

 

KAPITEL 18 Minneshantering 305

18.1     Sammanfattning 310

 

KAPITEL 19 Trådkommunikation 311

  1. Lås (Lock) 312
  2. Semaforer (Semaphores) 313
  3. Köer (Queues) 314
  4. Sammanfattning 315

 

KAPITEL 20 Direct Memory Access (DMA) 317

20.1               Sammanfattning 320

 

KAPITEL 21 Filsystem 321

21.1               Sammanfattning 325

 

Litteraturförteckning 327

 

BILAGA A           Binära talsystemet 331

 

BILAGA B           Boolesk algebra 341

 

BILAGA C           Programmeringsspråket C 345

Information

Författare:
Anders Cajander
Språk:
Svenska
ISBN:
9789144157702
Utgivningsår:
2022
Artikelnummer:
45050-01
Upplaga:
Första
Sidantal:
368

Författare

Anders Cajander

Anders Cajander är universitets­adjunkt samt avdelningschef med speciellt fokus på inbyggda system vid institutionen för Medicinteknik och hälsosys...

 ;

Den här boken presenterar grunderna för att bli en driven utvecklare av inbyggda system. Den ger också den förståelse som krävs för fortsatta studier i programmering i allmänhet och operativsystem i synnerhet. Inbyggda system finns i stort sett i varje elektrisk pryl, från tandborsten, brandlarmet och dörrlåset till en modern bil. Systemet kan sägas vara en dator som både av kostnads- och utrymmesskäl måste innehålla i stort sett alla nödvändiga funktioner i en enda krets, en mikrocontrolle...

Den här boken presenterar grunderna för att bli en driven utvecklare av inbyggda system. Den ger också den förståelse som krävs för fortsatta studier i programmering i allmänhet och operativsystem i synnerhet. Inbyggda system finns i stort sett i varje elektrisk pryl, från tandborsten, brandlarmet och dörrlåset till en modern bil. Systemet kan sägas vara en dator som både av kostnads- och utrymmesskäl måste innehålla i stort sett alla nödvändiga funktioner i en enda krets, en mikrocontroller (MCU). Inbyggda system med RISC-V behandlar både programmering av en RISC-V MCU och hur den ansluts till en mängd vanligt förekommande I/O-komponenter. Boken består av fem större block där de två första introducerar MCU:ns processor och hur den programmeras i assembler samt digital I/O. I block tre introduceras A/D- och D/A-omvandling inklusive tillämpningar samt avbrott och maskinnära C. Block fyra behandlar seriell kommunikation och block fem ger en inblick i operativsystemet FreeRTOS. Varje kapitel avslutas med en sammanfattning, till en del kapitel finns även övningar. Inbyggda system med RISC-V är avsedd för ingenjörsutbildningar och kräver grundläggande förkunskaper inom ellära, datorns uppbyggnad, digitalteknik och c-programmering. Boken är också riktad mot yrkesverksamma ingenjörer eller driftiga entusiaster som vill ta till sig den senaste tidens rön. Källkod till bokens övningar finns via denna länk: https://github.com/Inbyggda-system-med-RISC-V/laborationskod#readme

Information

Författare:
Anders Cajander
Språk:
Svenska
ISBN:
9789144189253
Utgivningsår:
2022
Artikelnummer:
45050-SB01
Upplaga:
Första

Författare

Anders Cajander

Anders Cajander är universitets­adjunkt samt avdelningschef med speciellt fokus på inbyggda system vid institutionen för Medicinteknik och hälsosys...

 ;