Efteruddannelse Embedded C Modul 4 (Torsdag den 14/1-2010)
Modul 1 Indhold: 1)Grundlæggende begreber i RTOS 2)USB
Eksempel på forground/background System
Interrupt og task switching
Features for FreeRTOS
RTOS 1)Task (process) 2)Prioritet 3)Task switch 4)Preemption vs cooperative 5)Scheduler 6)Semaphor 1)Binary 2)Counting 7)Mutex 8)Priority inversion / priority inheritance 9)Deadlock 10)Queues 11)Gatekeeper/monitor
Def. Af task
Oprettelse af en Task
Def. Prioritet, task switch
Def. Preemption, cooperative
Cooperative OS
Preemption
Scheduler
Lidt mere komplet model af kernel
Kode eksempel på en simpel kerne
Simpel kernel
FreeRTOS’s Scheduler
Windows sheduler (XP)
Linux scheduler
Delte ressourcer og de problemer de afføder Simpelt eksempel på den delt resource
Semaphore anvendt til synkronisering
Brug af semaphore til sync
Counting semaphore
Mutex
Priority Inversion
Priority inheritance
Deadlock (deadly embrace)
Queues
Queues (forskellig data)
Dynamisk memory management
Gatekeeper task
Øvelse •I kataloget src lægger et eksempel på et RTOS (freeRTOS), som kan kører på en PIC18F processor. Download den modificerede udgave. •I freeRTOS lægger der tre eksempler til MPLAP C18 afprøv disse og undersøg hvordan de virker og hvordan man i disse eksempler opretter en task. Brug evt. simulator ellers er det nødvendigt at putte oled.c etc. ind i projektet for at have noget til output.
USB HW Hi-speed On-the-go Wireless Hi-speed On-the-go Original
USB HW •Bus speed. •High speed: 480 Mb/s +/- 0.05% •Full speed: 12 Mb/s +/- 0.25% •Low speed: 1.5 Mb/s +/- 1.5%
USB HW •Frame interval (”keep alive”). •High speed bus: Microframe: 125üs +/- 62.5ns •Full/low speed bus: Frame: 1ms +/- 500ns
USB HW
Power. Fra V BUS, unit load: 100mA Low power bus: V BUS, 1 unit load High power bus: V BUS, 1 unit load (konfiguration) 1..5 unit load (descriptor) Self power: V BUS, 1 unit load Ekstern power Suspend current: 500üA/unit load
USB HW
USB Bit HW
USB specfikation
USB HW
Eksempel: ekstern USB controller og tranciever
USB HW Eksempel: embedded USB controller og tranciever
USB HW
Transfer - types
Endpoint - transfer
USB Packet - type
USB protokol Transfer - endpoint typer •Control transferControl transfer •Interrupt transferInterrupt transfer •Bulk transferBulk transfer •Isochronous transferIsochronous transfer Transfer - transactions •Token packetToken packet •Data packetData packet •Handshake packetHandshake packet •SOF packetSOF packet Pipes •Stream pipes (alle formater, host/devise) •Messages pipes (USB format, host)
USB Transaction - packet
USB Packet - PID
USB Packet - type
USB Transaction – token – data - handshake
USB protokol
Øvelse Lav øvelse i Lab6.docx