1 / 65

dooroos.realtime

dooroos.realtime. Contents. I. VISION dooroos.realtime USE dooroos.realtime. VISION. VISION. various embedded system third party application field. APPLICATIONS Third party. TOP applied RTOS. game engine multimedia graphic. LIBRARY. network server windows server

kiri
Download Presentation

dooroos.realtime

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. dooroos.realtime

  2. Contents • I. VISION • dooroos.realtime • USE dooroos.realtime

  3. VISION

  4. VISION • various embedded system • third party • application field • APPLICATIONS • Third party TOP applied RTOS • game engine • multimedia • graphic • LIBRARY • network server • windows server • filesystem server • device server • MIDDLEWARE • kernel function • modularity • all platform porting • dooroos • .realtime KERNEL

  5. LOADMAP 2002~2005 2011 ~ 2006 2007~2008 2009 ~ 2011 • Nano kernel for ARM • Micro kernel • Device Server • Filesystem server • Window server • Network server • Porting/Testing to various hardware • PC Emulator • dooroos.realtime • IDE Tools is serviced • Visual IDE Tools • dooroos.embedded • New OS function • is added • Useful Device • Driver is added • OS function • is expaned • Add standard • Device Driver • Loader Server is added • Add useful Graphic Library • Useful network • protocol is added • Add multimedia • library • Sample Apps is • provided • All library is converted • to DLL files • All device driver is converted • to Driver DLL (DRV file) • Many useful Middleware is • added • Graphic Library • is expanded • Support • the various tools JBOSN RTOS 1st Generation

  6. dooroos history

  7. app app app app1 dooroos.RealTime Structure NETWORK SERVER WINDOW SERVER apps apps apps apps FILESYSTEM SERVER MACRO-KERNEL DEVICE SERVER DLL DLL DLL MICRO-KERNEL SYNC SERVER SYSTEM SERVER DRV TIME SERVER NANO-KERNEL DLL DRV DRV DRV DRV NANO KERNEL

  8. dooroos.realtime • About dooroos.realtime • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL

  9. GENERAL OS Functions & structures WINDOW APPLICATIONS DEVICE MANAGER NETWORK IPC FIELSYSTEM TIME RESOURCE MANAGE RAM FAT ROM TASK/THREAD MANAGE Device drivers HAL NetDrvs Display Input H/W

  10. dooroos.realtime Design Principles • Kernel • 1. Multi-Layer kernel structure: • modularity, portability, scalability • 2. Multi-Tasking/Thread and flexible IPC • 3. Precise timer and Priority based real time scheduler • 4. Scalable hard-real-time • 5. No interrupt blocking • I/O manager • Constant device management and efficient I/O system • Driver module • Resource Management • Cost efficient use of memory • Reliable and Robust system services • User • Easy to use • Low latency

  11. dooroos.realtime Backplane • Bus emulation (Message-Bus) • Communication between servers • Modularity • Independency • Scalability SERVER1 SERVER2 SERVERn … nano-kernel ( Message-Bus)

  12. app app app app1 dooroos.realtime Structure NETWORK SERVER WINDOW SERVER FILESYSTEM SERVER MACRO-KERNEL DEVICE SERVER MICRO-KERNEL SYNC SERVER SYSTEM SERVER TIME SERVER LOADER SERVER NANO-KERNEL NANO KERNEL

  13. Advantages 1.Modularity Nano-kernel Minimum real-time operating system and library (16KB) Micro-kernel Principal RTOS servers, 3 server ( system server, time server, sync server) Macro-kernel Expanded RTOS servers. (loader, device server, filesystem server, window server, network server) library/Driver/HAL Consisted of the necessary library, device driver and HAL applications Applications by user 2.Scalability Main function is designed by server concept and added to dooroos.realtime. So, User-required server can be developed by server concept. Server concept User developed library The in-house library can be added and applied to server-development. Mutual exclusion The resources is mutually exclusive between servers, then the expansion of required function is very easy. 3.Stability Independency The independency between modules increase the stability and make easy to debug. modular The modules are separated in physical area. Error propagation The problem of one module can not propagate to the others. 4.Memory Small memory requirement The memory requirement of modules are very small. For example Nano-kernel size is 16KB. Efficient relocation All modules can be generated by separated binary images. The relocation is very easy and efficient.

  14. dooroos.realtime Structure Application Application Application DEVICE SERVER WINDOW SERVER NETWORK SERVER FILESYSTEM SERVER LOADER SERVER MACRO KERNEL SYSTEM SERVER TIME SERVER SYNC. SERVER MICRO KERNEL MESSAGE BUS NANO KERNEL MEMORY MANAGEMENT Task/Thread Management TRAP DEVICE DRIVER DEVICE DRIVER HAL HARDWARE

  15. ROM IMAGE LAYOUT Window (Widget) ROM/DISK RAM Filesystem (DLL, DRV) Application Task(threads) NETWORK SERVER WINDOW SERVER GL library DLL FILESYSTEM SERVER Widget Draw DLL DEVICE SERVER FAT library DLL LOADER SERVER Drivers DRV dooroos .realtime (DLL, DRV) SYNC. SERVER Hardware DLL TIME SERVER SYSTEM SERVER System Configuration NANO-KERNEL HAL PLATFORM JBOOT

  16. Boot sequence

  17. dooroos.realtime • About dooroos.realtime • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL

  18. NANO-KERNEL Structure NANO-KERNEL library MESSAGE BUS MEMORY MANAGEMENT Task/Thread Management TRAP HAL HARDWARE

  19. Port / Channel

  20. Message Req/Resp Channel Key Convert Key to port 3 1 Port Port 2 Server Client 4 4 2 1 3 Port Port

  21. Message Structure #define JB_MESSAGE_CONTENTS \ UINT32 Type; \ UINT32 Param; \ typedefstruct _JB_MESSAGE { JB_MESSAGE_CONTENTS } JB_MESSAGE, *JB_PMESSAGE; typedef struct _JB_RECVMESSAGE { JB_MESSAGE_CONTENTS HANDLE hSender; HANDLE Handle; // NOT FOR USER: only for device handle on io_subsystem } JB_RECVMESSAGE, *JB_PRECVMESSAGE;

  22. Server Model Server Port & Channel Setting Message Receive Message Service… Message Service… Message Service… Message Reply

  23. Device Driver Model Device Driver Port & Channel Setting Driver Registration Message Receive Message Service… Message Service… Message Service… Message Reply

  24. KERNEL DESIGN • Portable across microprocessors • : No exposed API for porting • Supports RAM/ROM execution • : Other modules support RAM/ROM execution • Supports Nano-Kernel architecture • : Server concept

  25. Task/Thread Model • Unlimited tasks, unlimited threads • Full synchronization primitives • Multitasking, preemptive, priority based scheduler • : 256 priority levels, reserved for server • Low ISR and thread latency • Easy implementation of driver with ISR

  26. Task/Thread Model Task ID Other resources Thread ID Priority Level HEAP Stack Message Queue CPU Register Values Primary Thread Other Thread Options Threads

  27. Memory Model • User selection of MMU use • Special low memory handling mechanisms • User modified slab mechanism • : Partition concept • : page concept • Fast IPC, sharing • Shared memory, Local heaps • Common system wide low memory handler

  28. dooroos.realtime • About dooroos.realtime • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL

  29. MICRO-KERNEL Structure SYSTEM SERVER TIME SERVER SYNC. SERVER

  30. TIME SERVER • services all the time related function • RTC time management • System time management • DriverTimer management • Application Timer management • Alarm Timer management • Thread Quantum management • Watch-Dogmanagement • Sleep

  31. SYNCHRONIZATION SERVER • services all the synchronizations and communications between Task/Threads • Semaphore • Mutex • CriticalSection • ConditionalVariable • Event • Message Queue

  32. SYSTEM SERVER • services all the system resource management • Creation/Destroy of Task/Thread • Message-Bus Port management • Message-Bus Channel management • Memory management • Power management

  33. Memory Model RAM User responsibility Partition User responsibility Partition Memory Pool User allocation / User responsibility

  34. dooroos.realtime • About dooroos.realtime • NANO - KERNEL • MICRO - KERNEL • MACRO - KERNEL

  35. DEVICE SERVER (Device Management)

  36. Device Driver Model Application I/O Server File Server Window Server Network Server Kernel Device Drivers (DRV) TouchP KeyBd Display NIC Platform

  37. Interrupt Model • All work encouraged to be done in driver servers • OS provides easy connecting to driver server • No nesting interrupt • Yields more deterministic latencies

  38. Interrupt Model ISR Thread Device Driver Server Kernel Components INT signal Exception Handler Interrupt Message Handler Virtual INT Interrupt Service Routine HAL Routines INT Hardware

  39. Interrupt Model INT_A INT_A INT_B Driver Layer dooroos INT_A INT_B Kernel Layer Nesting INT_A INT_B INT_A No Nesting INT_A INT_B INT_A INT_B

  40. SystemCall Model Kernel Components dooroos .realtime SYSTEM CALL OPENED INTTERUPT INTTERUPT BLOCKED Others

  41. Keyboard Driver Message Bus Driver thread (loop) Message Receive interrupt Send keyinput to Window server read adc/gpio Time signal read write I/O control

  42. USB M/S Driver Example Message Bus Flash driver thread USB M/S driver thread JFTL USB cable PC FLASH USB DEVICE

  43. Logical device driver structure APPLICATION FILESYSTEM SERVER WINDOW SERVER Synchronization server NETWORK SERVER Time server DEVICE SERVER LOADER SERVER FAT12/16/32 ROM RAM library (DLL) GRAPHIC LIBRARY (DLL) System server NETWORK PROTOCOL Nano-kernel Mixer JFTL (DRV) HAL NetDrvs USB M/S UART LCD TOUCH KBD Sound FLASH H/W cpu core

  44. FILESYSTEM SERVER

  45. FILESYSTEM SERVER APPLICATION FILESYSTEM SERVER Tasks (threads) 1 FILESYSTEM SERVER RAMFS DLL 2 ROMFS DLL FATFS DLL 3 Block Driver (DRV) BLOCK DEVICE

  46. Logical FILESYSTEM Structure Tasks (threads) ROOT (BD1) FILESYSTEM SERVER wav romdoc FATFS DLL MMC (BD2) BLOCK DEVICE_1 (ROOT) BLOCK DEVICE_2 (MMC) wav romdoc

  47. NETWORK SERVER

  48. NETWORKSERVER Tasks (threads) Applications Applications SOCKET INTERFACE TCP UDP NETWORK SERVER NETWORK SERVER IP ICMP IP RARP RARP ARP ARP NIC1 NIC1 NIC2 NIC2 NICn NICn DEVICE DRIVERS DEVICE DRIVERS

  49. WINDOW SERVER

More Related