Title: ??? ???? ???? ??? ?? ?? ? ?? - Embedded ???? ??-
1??? ???? ???? ??? ???? ? ??- Embedded ???? ??-
2???? ??? ??
- ???? ???
- ?? ???????? ?? ????????? ???? ?? ???? ??? ????
???? ?? - ?? ? ????? ???? ????? ????? ?? ?? ?? ?? ???? ???
? ??? ? ???? ???? ???? ???? ?????? ???? ???. - Example) PC is NOT an embedded system.
- ??
- ???? H/W ????/????, ???, I/O, ????
- ???? S/W ??, ??? S/W, ?? S/W
- ????
- ????, ????, ????, ??/??, ??/??, ??/??, ??, ??/??,
??, ??, ??
3???? S/W ??
4???? ??? ??
- ??
- ????, OS, ???? ? ? ??? ??
- ??? ??/??? ???? S/W? 21?? ?? ??? ???? ?? 4?? ??
??? ????? ?? - ??
- ????, ???? ?? ?? ??? ??
- ??/??? ???? S/W? '99??? 7?? 3?8??? ??
- ??
- ??? ??? Ubiquitous ???? ??? ?? ?
- 84??? TRON ???? ?? ???? OS? ???? ? ????? ?? ?
- ???? OS
- Real-time Operating System ??
- MS? WinCE ? ???? ??? ?? ??
- ????, ?? ???? ???? ??? ??? ???? ??
5???? ???? ????
- ??? ???? Must provide correct results at
required time deadline - For examples
- Security system that checks ID badges
- Robot that welds sheet metal
- Automated teller machine
- Most of control system is real-time embedded
systems - An embedded system is implemented by hardware
function itself, but not SW, to ensure real-time
response - Embedded software must work with hardware, so it
should have real-time characteristics - real-time
software - How to implement real-time applications
- Using hardware functionality
- Interrupt mechanism of microprocessor
- Polling is slow
- Complex multiprocessing program based on RTOS
- Designing real-time embedded systems is different
6???? ???? ?? ??
7???? ???? ?? ??
8???? ??? ?? ?? ? ??
- 2002? ???? ??? ????
- ? 1,000? ?? ??
- ????S/W ?? ? 200??? ??
- ?? ?? 20? ???
- 2007? ? 500??? ???? ?? ??(RCW Mirus, 2001)
- 2002? ?? ????
- ?7?8??? ??
- 2007?
- 1? 9?5??? ??? ?? ?? (?????????, 2002)
9???? ??? Open ???? ??
- ??? ???? ??? ???? ???? ??? ????(ELC)
- ?? ???
- ???? 1? ??? ?????? ?? ??. ???? ??????? ????
interaction? ?? ?? ???. ? ??? ?????? ?? ????
????? ??? ?? ???. ?? 1?? ?????? ?? ??? 1 ? ???
??? (??? ??? ?? POSIX ???)?? ?? ?? ??. - ?? ???
- ?? ??? ?? ???? ?????? ?? ??? ????, ??? I/O,
???(? ?????)? ?? ?????? ??? ????. ??? ?????
????? ????. ???? ????? ??? ????? ????? ????? ???
RAM ?? ROM ?? ?? ?????? ????. - ?(??) ???
- ????? ??(full) ??? ??? ???. ???? ?? ???
????. ????? 1 ? ??? ?? ????, ???, ??? ????, ????
??, ??? ????? ?? ?? ????.
10???? ????? ??
- ???? ????
- ?? ??? ???? ?? ????
- ??? ??? ?? ?????
- ?? ?????? ???? ?? ????
- ?? ?????/??? ??? ???? ???? ?? ??
- ???? ???? ???? ?? ????
11????? ????
- ???? ???? ???? ?? ? ????
- ???? ???? ???? ????? ?? ??? ?? ?? ???.
12???? ???? ?? - H/W
- ????(serial port)
- RS232C??, ? m ??? ?? ??????
- ?? ??, ??
- ?? ??(parallel port)
- ????? ? ??? ??? ???? ? ??? ?????
- USB (Universal Serial Bus) ? IEEE 1394
- ???? ?????? ?? ????? ???? ???? ?? ??? ???? ??
??????? ??? ??? ?? - USB
- ?? 12 Mbps?? ????
- ?? 127?? ?? ???? ??
- ???, ???, ???, ????, MP3 Player ?? ???? ??
- IEEE 1394 Apple? Firewire
- 400 Mbps??? ????
- ?? 63?? ????
- ?????, CD/CD-RW ? ?????? ?? ???? ??
13???? ???? ?? - H/W
- ??? ??
- ???? ???? ????
- ?? ??? ???? ??? ??? ???? ??? ??? ??
- ???? ???? ????
- ?? (Polling) Simple Implementations
- ???? (Interrupt) Efficient Implementations
- ????
- ???, ???, ??? ?
- ??(Sensor)? ?? ??
- ???? ??? ???? ??, ? ??, ?, ?? ?? ? (?? ???)??
???? ????? ?? ??? ??? ?? - ???? ??
- ?? ??? ?? ???? ??
- ?? ???? ???(Ethernet)? ?? ??
- IEEE 802.3 ??
- ?? ???? ??
- 802.11a, 802.11b ??
14???? ???? ?? - S/W
- ???? ??? ?????? ??
- OS RTOS, Embedded Linux
- ??? S/W OS API, Network API,
- ?? S/W ? ??/?? ?
- PC S/W vs. ???? ??? S/W
S/W ?? PC ???? ???
OS Windows RTOS, Linux
??? S/W Windows API RTOS Linux API
?? S/W HDD?? ???? ????? ????
???? Visual Studio .NET ??????
15???? ???? ?? - S/W
- ???? (Operating System)
- ?? ????
- ??? ????? ?? but ? ???
- Linux, Microsoft XP ?? 2000pro ?? ??? ? ????
- ???? ??? ????
- ?? ???? ???? ?
- ?? ??, ????, Efficiency, Scalability, Portability
- RTOS? ???? ??? ????? ??? ???, ??? ?? ???, ????,
?? ?? ?? ?? - embedded Linux, pocket PC, Nucleus PLUS
- Xinu, uC/OS, pSOS, VxWORKs , eCOS , QNX, VRTX ,
Qplus
16???? ???? ?? - S/W
- ??? S/W
- ??? ????? ???? ?? ?????? ????? ??? ?????
- ????
- ?? ???? ? ?? ???? ???? ? ??? ???? ????
- ??? ??? ?? ?????
- ?? ?????? ???? ?? ???? (?? ?? C, C, ???? ??,
????, ???, ???? ????( Visual studio, Qplus ESTO)
)?
17???? ???? ?? - S/W
- ?? S/W
- ???? ???? ???????
- ????? ????????? ???? ????? ??? ??? ???? ??????
- ????? RAM? ???? ??
- ?? ??? ?? ??? ???? ?????? ???? ??? ????? ?? ???
???? ?? ??? ??? ? ??? ??? ??? ?? ????? ROM ??
??????? ????? ?
18??? ????
- ?????? ?????? ?? ? ??? ?? ??
- ????, ?????, ? ? ??
- PC?? ???? ????? ??? ??? ???? ??? ????? ????? ????
?? - ? ????? ?? ??, ?????, ????, ? ?????? ?????? ???
???? ??
19???? ????? ?? ??
- lt ?? ?? ??? ? ?? ???? ?? gt
20??? ?????? ??
- ????? ???? ???? ??
- ???? ??? ??? ?? ??
- ????? ???? ??
- ????? ??? ??? ???? ??
21?? ?? (Boot Loader)
- ?? ????
- ??? ?? ?? ??? ?? ????? ??? ???? ???? ?? ???
?? ?? ??? ????? ????? ??? ??? ????? ?? ???? ???
????? ??? - ?? ??? ??
- ???? ???
- ??? ?? ? ??
- ???
- ??? ???
221-ROM? ??? RAM? ???
232-ROM???? ??? ?? ? RAM?? ??
243-????? ??? ?? ?? RAM?? ??
25??? ?? ????
??? ?? ???? ???? ??? ?? ????
1) BIOS? ??? ???? ??? ?????? ?? ????? ?? ?, ROM ???? ??? ????. ROM ???? ??? CPU, ??? ????, ?? ????? ??? ??, ??? ?? ????. ROM ???? ??? ??? ????? ????.
2) ??? ???? ?? ??? ??? ?? ??
3) ??? ????? MBR ?? ?? (?? ???)
4) MBR? ??? ???? ?? ??? ???? ?? (?? ???)
5) ?? ?? ??? ??? ??
6) ?? ?? ??/ ???
7) ??? ???? ??, ?? ???? ?? ??? ??? ?? ???? ????. ??? ?? ???? ????? ????, start_kernel? ?????, ????? ????-??? ???? ??.
8) ?? ??? ?? ????, jffs ???? ??
9) ?? ??? ??? ??? ?? ?????? ???
10) /etc/inittab?? init??? ?? ?? ?? ??
11) /sbin/init ?? (PID 1) ??? init ????? ????.
12) /etc/rc.d/rc.sysinit?? (hostname, ??? ??, ?? ??) ?? init ? ???? ????, /etc/rc.d/rcS ? ????. ?? ????? ?? ??? ???? ???? ????.
13) /etc/rc.d/rc?? (runlevel? ?? ???? ??) init ? runlevel? ????.
14) /etc/rc.d/rc.local (?? ??? ?? ??)
15) /etc/rc.d/rc.serial (??? ?? ???)
16) login ??? ????? ???? ??? ??? ????.
26???? ????? ??
- ???? ???? ?? ??? ??? ????
- ?? ???? ??????? ??? ?????? ???? ??? ???? ??? ??
????? ?? ??? ??? ??? ??. - ??? ?? ?? ?????? ?? ??? ???
- ??/?? ?????? ?? ??? ??
- ???? ??? ??????? ?? 3?? ????? ??(??, C ?????,
??)?? ?????, ????, ??, ? ? ?? ??????? ??/?? ?? ??
27???? ??? ?? ??????? ??
- Shell
- ????? ????? 2 ??? ?(Bourne ?? C ?). ????
????? ash? ???? ??? ??? ?? ??? ? ??. ash ?? ??
bash ?? 1/3 ???? ?? 100KB ??? ??? ????. - C ????? ??
- ??????? ????? ?? ??? ?? ? ? ?? ??? ??
???????. - ?? ?????? ??? dietlibc, Newlib, ? uClibc ?
- ???? ??
- ? ????? grep , awk, ? expr ?? ??? ???? ????
????? ? ?? Busybox ? ?? ???
28??? ??? ??
29???? ??? ?? ???
- 1. ? ???
- ?? ???? ?? ????? ???? ??? ?? ??? ?? ?? ? ?
??? ???? ?? - 2. Busybox
- multi-call binary ??? ??? ??? ??? ?? ??
?????? ??? ?? ??? ??, ???? ?? ??? ? ???? ???? ??
????. - 3. NFS
- ??? ?? ????? ???? ??? ??? ??? ?? ????? ??
30???? ???? -?? ?????
- ?? ?????? ???
- ??? ??? ???? ?? ???? ?? ??? ??
- Monolithic Kernel
- An integrated kernel, whole OS functions to
itself - Traditional UNIX, SVR4, Solaris, Linux
- Micro Kernel
- Has the basis kernel with functional servers
- VxWorks, pSOS, VRTX, QNX, SROS
- ?? ?????? ??
- ?? ??????? ????? ??? ???.
- ?? ???? ????? ?? ??
- ???? ????? ???? ??
- ?? ????? ??? ???? ?? (???? ????)