rtos ans soc
TRANSCRIPT
-
8/13/2019 Rtos Ans Soc
1/45
1
Real Time Operating Systemfor SoC
Department of Computer andInformation Science
National Chiao Tung University
-
8/13/2019 Rtos Ans Soc
2/45
2
OverviewMotivationCharacteristics of a Real Time OperatingSystem (RTOS)Components of an RTOSCase Study: VxWorks/pSOS, QNX, OSE,WinCE, Nucleus, eCos, Embedded LinuxConcluding Remarks
-
8/13/2019 Rtos Ans Soc
3/45
3
MotivationSoC CPU + ASIC + Software
CPU/ASIC
Operating System
Middleware
Applications
Monitoring, Control,
Remote Management,Consumer Devices
Databases, Graphics, Java
Linux, VxWorks, others...
PPC, 68k, MIPS, ARM,x86, etc.
-
8/13/2019 Rtos Ans Soc
4/45
4
An Example: Bluetooth
Baseband
-
8/13/2019 Rtos Ans Soc
5/45
5
Software for Bluetooth
Baseband Controller
Radio Transceiver
Link Control
API
L2CAP
SDPRFCOMM
Link Manager
Host ApplicationGSM/UMTS etc
Bluetooth Adviser WDP
WAP
HCI Router
ARM 7TDMI
Lyra/Vega
Link Control/HCI/UART
Management SW
-
8/13/2019 Rtos Ans Soc
6/45
6
Real Time OS A RTOS is an abstraction from hardware and
software programmingShorter development timeLess porting effortsBetter reusability
Choosing a RTOS is importantHigh efforts when porting to a different OSThe chosen OS may have a high impact on theamount of resources needed
-
8/13/2019 Rtos Ans Soc
7/457
Characteristics of a RTOSSingle/Multi-platform OS
Lyra: x86, ARM, MIPS
MultitaskingPriority
Real-timeSoft and hard real time requirements
Variants of RTOS
-
8/13/2019 Rtos Ans Soc
8/458
Real Time Real -time does not mean speed , butkeeping deadlines Overall deterministic behaviorGuaranteed typically short response/reaction times
-
8/13/2019 Rtos Ans Soc
9/459
Soft and Hard Real Time
RequirementsSoft real-time requirements:
Breaking the time limit is unwanted, but isnot immediately critical Multimedia Streaming
Hard real-time requirementsBreaking the limit is always seen as afundamental failure Nuclear Power Plant Controller
-
8/13/2019 Rtos Ans Soc
10/4510
Variants of RTOSPure real time OS
Hardware
RTOS
RT-Application
-
8/13/2019 Rtos Ans Soc
11/4511
Pure Real Time OSEspecially designed for real-timerequirements
Completely real-time compliantOften usable for simple architecture Advantage: no or little overhead
Computing power, memory
Disadvantage: limited functionalityExample: eCos, Nucleus, pSOS, VxWork, QNX,OSE, Lyra
-
8/13/2019 Rtos Ans Soc
12/4512
OS Real-Time ExtensionsExtension of an OS by real-time componentsCooperation between RT- and non-RT parts
Advantages: rich functionalityDisadvantage:
No general real-time ability
Computing and memory resourcesExample: RT-Linux, Solaris, Windows NT
-
8/13/2019 Rtos Ans Soc
13/4513
OS Real-Time Extensions
Hardware
Standard OS
RT Applications
RTextension
Applications
-
8/13/2019 Rtos Ans Soc
14/4514
Components of a RTOSProcess(task) managementSchedulerSynchronization mechanism
Interprocess communication (IPC)Semaphores
Memory managementInterrupt service mechanism
I/O managementHardware abstraction layerDevelopment Environments Communication subsystems (Option)Board Su ort Packa es BSP
-
8/13/2019 Rtos Ans Soc
15/45
15
Situation of the RTOS Market A vast of RTOS on the market:
Nucleus Plus, OSE, Virtuoso, ThreadX,WinCE, AMX, RTX, LynxOS, VRTX, uC/OS II,OS-9, On Time, VxWork, pSOS, EPOC,eCos
Proprietary OSs Lyra/Vega
-
8/13/2019 Rtos Ans Soc
16/45
16
VxWorks/pSOSManufacturer: WindRiver System
Largest player on the market Application examples: HP laser printers, MarsProbe pathfinder, Sony Walkman, digital camera,Internet switch and routers,
CharacteristicsSupport many architecturesTool: TornadoNo memory protection by OSOS ROM size scalable from 80KB to 500KBRAM requirements at least 50KB License + royalty + professional service
-
8/13/2019 Rtos Ans Soc
17/45
17
pSOS
-
8/13/2019 Rtos Ans Soc
18/45
18
QNXManufacturer : QNX Software Systems Ltd(Canada)
Support many 32-bits architectures: x86, MIPS,PPC, ARM,
Applications: medical technology, automotivetechnology,
Characteristics: Microkernel architectureFull MMU supportGUI supportLicense + royalty Free for non-commercial use
-
8/13/2019 Rtos Ans Soc
19/45
19
QNX
-
8/13/2019 Rtos Ans Soc
20/45
20
OSEManufacturer: Enea Data (Sweden)Enea has a long tradition in the embedded areaClimber of the last two yearsMain applications: Telecomm (Ericsson, Nokia)
Characteristics:Different kernels for different application areas
The smallest kernel needs only 6 functionsPrinciple of the kernel : message-passingGood connection to the SDL tool chain
-
8/13/2019 Rtos Ans Soc
21/45
21
NucleusManufacturer: Accelerated Technology
Application: wireless equipments(handsets), internet access devicesCharacteristics
Source code license + no royalty
Small memory footprint and CPU overheads
-
8/13/2019 Rtos Ans Soc
22/45
22
eCosManufacturer : red hat (Cygnus)
Applications : wireless applications,
internet access, embedded applicationsCharacteristics
Open source (GNU license)Implemented in C++ Embedded configurable RTOSMemory footprint from 10s KB to 100s KB
-
8/13/2019 Rtos Ans Soc
23/45
23
eCos configuration tool
-
8/13/2019 Rtos Ans Soc
24/45
24
Windows CEManufacturer: Microsoft
Application areas: PDA, Industrial embedded
systems, game consolesCharacteristics
Win32 APIOwn tool chain (Visual Studio)For most well-known 32 bit platforms with MMUTypical memory requirements : a few MBs Relative high royalty
-
8/13/2019 Rtos Ans Soc
25/45
25
Windows CEShells Internet Explorer Remote Connectivity
Microsoft Programming InterfacesWin32, COM, MFC, ATL, ... Communication Interfaces(Winsock, RAS, TAPI, network)
Kernel
OAL
GWEObject Store
(File Systems)
Native & StreamInterface Drivers
OtherDrivers
IrDA TCP/IP
IRMiniport
EthernetMiniport
Unimodem
PPP/SLIP
Serial NDIS
-
8/13/2019 Rtos Ans Soc
26/45
26
Embedded LinuxOpen Source
Almost Free
CommunityCode QualityRobust
Brand NameInternet PlatformIBM will invest 1 Billion per year for Linux
-
8/13/2019 Rtos Ans Soc
27/45
27
Embedded and Real-Time
Linux Solution ProvidersLynx -- Blue Cat LinuxMontaVista -- Hard Hat Linux
Lineo -- Embedix LinuxFSMLabs -- RTLinuxZentropix -RealTime Linux
Coollogic -- On-Channel LinuxRedhatIBM
-
8/13/2019 Rtos Ans Soc
28/45
28
A Typical Embedded Linux
Embedded Linux OS
GTK+ & GDK GUIJavaVM
Multi-Language SDK DDK GW32
Browser ICAPIMPocketWord
E-mail MP3ICQ
XC Screen Phone &
Web Pad
PDA WBT
-
8/13/2019 Rtos Ans Soc
29/45
29
Screen Phone &
Web Pad
WBT
Embedded Linux OS(500 k bytes)
GW32 (800 k bytes)
Browser (1M bytes)
Embedded Linux For Internet Appliances
Embedded Linux OS(500 k bytes)
GW32 (800 k bytes)
ICA (500 k bytes)
-
8/13/2019 Rtos Ans Soc
30/45
30
FIC Aqua 3200 WebPAD7.4 DSTN LCDCrusoe 3120 400MHz16M Flash64M RAMEmbedded LinuxNetscape WebBrowser
-
8/13/2019 Rtos Ans Soc
31/45
31
Linux PDA - Samsung YOPY4.0 Color TFT LCD206 MHz ARM, 32M
DRAM, 32M FlashMP3 player, Voicerecording, MPEG
ARMLinuxDigital CameraTV (NTSC)
-
8/13/2019 Rtos Ans Soc
32/45
32
Lineo EmbedixEmbedix Linux Installertext based
The Shell Ash (much smaller than Bash)
The Kernel Binary
Linux kernel with small number of devicedrivers
The C library (~ 600K)
Reduced Glibc (with tool support)
-
8/13/2019 Rtos Ans Soc
33/45
33
The Size of Embedix 1.0The minimum target size for EmbedixLinux on x86
4 MB of RAM and 1MB of ROM, Flash A demo system with v2.0 Linux kernel,web server, shell, DHCP server, CGI scripts,web camera driver4 MB RAM and 1MB Floppy
Lineo Web Browser (HTML 3.2)5 MB of Flash and 16MB of RAM
-
8/13/2019 Rtos Ans Soc
34/45
34
Embedix Linux SDK
-
8/13/2019 Rtos Ans Soc
35/45
35
Two Classes of Embedded
Linux500KB kernel2MB Flash vs. 16MB Flash
Microbrowser vs. Netscape
4M DRAM vs. 32MB ~ 64MB DRAM
-
8/13/2019 Rtos Ans Soc
36/45
36
Linux kernelDesign Focus: Application throughput
Linux use interrupt off critical section
managementLinux kernel is non-preemptableLinux compromises the timely selection of
real-time processes for throughputLinux allow nested interrupts (depends onhardware)
-
8/13/2019 Rtos Ans Soc
37/45
37
Current Linux SolutionsDesign application around the problems
Directly use interrupt service routines
Avoid known excessive interrupt offperiods in LinuxIf a process component is required in the
real-time control path, then consideraggregate system loadingUse real-time scheduler instead
-
8/13/2019 Rtos Ans Soc
38/45
38
Hybrid KernelRTLiux
run Linux as the idle task
real-time threads are executing in real-timekernelinterrupt off/on operations by Linux are
emulated by lower level kernelcomplex and difficult for applicationdevelopment
-
8/13/2019 Rtos Ans Soc
39/45
39
RTLinuxInit Bash
Drivers
Hardware
System calls LinuxKernel
Interruptor
polling
Real timetask
Real timetask
RT-Linux SchedulerI/O
InterruptInterrupt
I/O
Xterm
-
8/13/2019 Rtos Ans Soc
40/45
40
Add real-time control to Linux
directlyPreemptive points in Linux kernel
A rate monotonic scheduler (UC Irvine)The KURT program at University ofKansasLinux SRT (soft real -time) project
-
8/13/2019 Rtos Ans Soc
41/45
41
MontaVistaMeasure the interrupt off periodsProvide a priority driven real-timeprocess scheduler with fixed and lowoverhead for process creation anddispatch
Measure process preemption delaysDevelop, access and providepreemptable Linux kernel
-
8/13/2019 Rtos Ans Soc
42/45
42
EL/IX Delivers The Vision forEmbedded Computing
DevelopmentEnvironment
IncludingGNU Tools
(gcc, gdb, etc.)
Application
Manual or AutoConfiguration
Application Application
EL/IX API
LINUX
eCos or
OtherRTOS
PDA DeeplyEmbedded
User Config API Config
Kernel-levelConfig
-
8/13/2019 Rtos Ans Soc
43/45
43
Concluding RemarksHow to select a RTOS for your own SoC ?
What are the requirements of the applications?Which OS features are really necessary?How hard are the real time constraints?Is the OS available for the chosen hardwareplatform? What are the overall cost of using the OSincluding the license fee, tool cost, training androyalty? Consider software issues from verybeginning
-
8/13/2019 Rtos Ans Soc
44/45
44
Wireless Multimedia PDA SoCCPUCore
System Bus
LCDcontrol
DMAcontrol
Bridge MemoryController
DRAM
UARTRTC 1
InterruptcontrolGPIO
PowerMgr.
Wireless LANBaseband/MAC RF
Antenna
UART
IO pins
RTC 2
Soundcodec
SpeakerMIC Reset
Reset
DSP
ImageSensor
LCD
Cache
-
8/13/2019 Rtos Ans Soc
45/45
Embedded Linux with Real
Time ExtensionCadence: Virtual Component Co-design
Hardware/Software Co-design
Mentor Graphics: Seamless for WLAN MACverification Linux Driver(ISS) + MAC (ModelSim)
Intel StrongARM development board /ARM
ASIC Integrator boardEmbedded Linux developmentMPEG 4 Codec