1 / 48

嵌入式系統 Embedded system

嵌入式系統 Embedded system. Application of Embedded System. On Potable / PDA Solution. Application of Embedded System. On Potable / PDA & Smartphone Solution. Introduce Embedded OS. Embedded OS Introduction (1). Windows CE Microsoft Support CPU: x86, ARM, MIPS, …etc

Download Presentation

嵌入式系統 Embedded system

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 嵌入式系統Embedded system

  2. Application of Embedded System • On Potable / PDA Solution

  3. Application of Embedded System • On Potable / PDA & Smartphone Solution

  4. Introduce Embedded OS

  5. Embedded OS Introduction(1) • Windows CE • Microsoft • Support CPU: x86, ARM, MIPS, …etc • Windows CE Platform Builder • eVC, eVB • Friendly GUI • Application: PDA, WebPAD, PVR, Thin Client, …etc

  6. Embedded OS Introduction(2) • DOS • Microsoft • 16 bits, single user single task • Application: LED billboard, industry control

  7. Embedded OS Introduction(3) • Palm OS • Palm Computing • Succinct architecture • Small hardware requirement • low-power • Application: PDA

  8. Embedded OS Introduction(4) • VxWorks • WindRiver • Support CPU: x86, i960, MIPS, PowerPC • Popularly use in embedded systems • GNU compiler and debugger • Hard real time • It’s famous to apply to robot on Mars and Sony robot • MicroC/OS • Hard real time

  9. Embedded OS Introduction(5) • Symbian • The mobile operating system • Friendly GUI • Development with Microsoft Virtual C++ 6.0 and S60 (SDK) • The main competitor is Windows

  10. Embedded OS Introduction(6) • Linux • Support CPU: x86, ARM, MIPS, SH, i960, PowerPC, …etc • Open Source • Powerful Network Functions • Easy Software Porting • GNU Complier and Debugger

  11. Embedded Systems Development

  12. Bootloader • Kernel • Root Filesystem Target Cross-platform Development Environment Host Cross-Development Environment • Target has limited resource (memory, storage, low speed processor) . • Host and Target are different architecture

  13. Hardware Connection

  14. Linux Architecture Applications Bash Shell Linux Kernel hardware

  15. Linux Architecture Java Applications GUI GLIBC Other Libraries Kernel System Call Interface File System Protocol Stacks Kernel Bootloader Drivers Hardware

  16. All the things we need • Cross-Platform development toolchain • Bootloader • Provide by vendor • Linux kernel • Linux kernel + some patches if needed • Filesystem • Busybox • Device node • Configuration

  17. The Bootloader's Job One main mission: load the operating system(s). Tasks: • Initialize the machine properly (the kernel can do part of this later too). • Access the kernel and initrd files in their storage medium (need to support the corresponding filesystem too) • Because of the above 2 tasks, bootloaders are often platform specific! • Load the kernel and initrd files • Execute the kernel file with the right command line

  18. bootloader

  19. Some Bootloaders • LILO: LInux LOad. Original Linux bootloader. Still in use! • http://freshmeat.net/projects/lilo/ • Supports: x86 • GRUB: GRand Unified Bootloader from GNU. More powerful. • http://www.gnu.org/software/grub/ • Supports: x86 • LinuxBIOS: Linux based BIOS replacement • http://www.linuxbios.org/ • Supports: x86

  20. Some Bootloaders (cont.) • UBoot: Universal Bootloader. The most used on arm. • http://uboot.sourceforge.net/ • Supports: arm, ppc, mips, x86 • RedBoot: eCos based bootloader from RedHat • http://sources.redhat.com/redboot/ • Supports: x86, arm, ppc, mips, sh, m68k...

  21. Why Use Linux • Open Source • Reliability • Salability • Secure • Supports Virtually All Network Communication Protocols

  22. GNU Introduction • 一九八四年,在美國麻省理工學院任教的理查·史托曼(Richard M. Stallman)創辦「自由軟體基金會(Free Software Foundation)」,並提出GNU(Gnu is Not Unix)計畫 • 提出GNU計畫中所發展的一整套自由軟體,內容包括了編譯器、組譯器、文書處理軟體等各式各樣的應用軟體 • ftp://ftp.gnu.org/gnu • http://www.gnu.org

  23. GCC • Cross Compiler就是在一個平台上(如x86)產生出另外一個平台上(如arm)的可執行檔案ELF (Executable and Linking Format) • 如果要在ARM上面建立Linux Kernel必需使用到Cross Compiler而一般編譯Linux Kernel的一定是GCC http://www.kernel.org

  24. GCC = GNU Compiler Collection • Features • Portable • Cross-compiling • Support different languageC, C++, Objective-C, Fortran, Java, and Ada • Free Software • http://gcc.gnu.org • 程式編譯器 arm-linux-gcc用來將原始碼編譯成arm平台上執行的程式$ arm-linux-gcc hello.c –o hello/usr/local/arm/include/asm,linuxhttp://0rz.net/2508Ahttp://people.debian.org/~debacle/cross.html

  25. System Boot Flow

  26. System Storage • The storage devices used in embedded systems are often quite different from those used in workstations and servers. • Embedded systems tend to use solid-state storage devices such as flash chips and flash disks. • Need the MTD subsystem to support boot parameters root filesystem kernel bootloader

  27. Kernel Considerations

  28. Kernel Configuration • make config • 這種模式需要逐行輸入所需要設定的項目,無法往前修改設定,所以目前很少使用這種方式來設定 Kernel 的項目了; • make xconfig • 這種模式則是使用 X-Window 為主要環境的設定模式!除非你有 X-Window 在執行,否則沒有辦法使用這種模式; • make menuconfig • 這種模式有點像是文字界面的選單模式,較為簡便,而且可以在純文字界面下面執行編輯動作!是目前最常使用的模式。

  29. Kernel Configuration

  30. Kernel Compiling • make dep • 建立相依的屬性關係! • make clean • 將舊的資料去除掉 • make bzImage • 開始編譯核心!這個核心是經過壓縮的,此外,這個步驟也很長! • make modules • 開始編譯模組!這個動作視您剛剛編譯的模組數量! • make modules_install • 將modules資料安裝在 /lib/modules/`uname -r` 裡面! • make install • 安裝 bzImage建立完成的核心

  31. Root Filesystem Content

  32. / /bin /boot /grub /dev /etc /home /lib /mnt /proc /sbin /tmp /usr /src /bin /sbin /var /log /spool 根目錄 一般常用指令 Kernel image的位置 grub設定 硬體裝置 系統設定 一般使用者的家目錄 函式庫 儲存裝置 系統裝置訊息 管理使用指令 暫存檔 其他軟體放的目錄 原始程式碼 一般可執行程式碼 管理使用程式碼 系統記錄檔案 登入檔以及錯誤訊息檔案 郵件檔案 Filesystem

  33. Building Root Filesystem • Download the BusyBox source code fromhttp://www.busybox.net/ • Building BusyBox • make clean • make all • make install • After make complete, the busybox will be at ./path/to/busybox_src/_install/

  34. AP ASM Source C Source C Libraries C Compiler Assembler .aof Object Libraries Linker .aif debug System model ARMsd ARMulator Development board

  35. Application andGraphic User Interface

  36. Graphic User Interface Window System • X Window (TinyX) • http://www.xfree86.org/ • QPE (Qt Plamtop Environment) / Qtopia • http://www.trolltech.com/products/qtopia/index.html • GPE (GPE Palmtop Environment) • http://gpe.handhelds.org/ • Microwindows • http://microwindows.org/ • MiniGUI • http://www.minigui.org/

  37. Qtopia

  38. Ap. Opera ACCESS NetFront MIDP

  39. GPE

  40. Opie screenshots

  41. Microwindows Games MP3 Player

  42. MiniGUI Mail Browser            

  43. web reference • http://www.delphiresearch.com Local Service Provider • http://www.embeddedlinuxjournal.com Embedded Magazine • http://www.embedded-linux.org Embedded Trade Association • http://www.ibm.com Tool Developer • http://www.lineo.com Distribution • http://www.linux.org Linux Association • http://www.linuxdevices.com Embedded Magazine • http://www.lynuxworks.com Distribution • http://www.microcross.com Tool Developer • http://www.mvista.com Distribution • http://www.oncoresystems.com RTOS • http://www.redhat.com Service Provider • http://www.sleepycat.com Embedded Database • http://www.trolltech.com Tool Developer • http://www.nsa.gov/selinux Secure Linux from NSA

  44. Development Tools

  45. 開發工具 • ARM SDT(ARM Software Development Kit)是ARM公司為方便使用者在ARM晶片上進行應用程式的開發而推出的一整套整合開發工具 • 目前的最高版本為SDT2.5.2 • 從SDT2.5.1開始,ARM公司宣佈推出一套新的整合開發工具ARM ADS1.0,取代ARM SDT • SDT與ADS保持了良好的相容性

  46. 開發工具 • ARM ADS(ARM Developer Suite)是ARM公司推出的新一代ARM整合開發工具,用以取代ARM公司以前推出的開發工具ARM SDT。 • 目前ARM ADS的最新版本為ADS1.2。 • ARM ADS是ARM SDT的升級版本,對ARM SDT的模組進行了增強,並替換了部分SDT的部件,ARM ADS支援所有的ARM系列處理器,包括最新的ARM9E和ARM10 • 除了Windows作業系統外,還支援在Linux作業系統的執行。

  47. 開發工具

  48. THE END Thanks you.

More Related