Presentation is loading. Please wait.

Presentation is loading. Please wait.

0 1 Contents I. VISION II.dooroos.realtime III.USE dooroos.realtime.

Similar presentations


Presentation on theme: "0 1 Contents I. VISION II.dooroos.realtime III.USE dooroos.realtime."— Presentation transcript:

1 0

2 1 Contents I. VISION II.dooroos.realtime III.USE dooroos.realtime

3 2 VISION

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

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

6 5 dooroos history

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

8 7 dooroos.realtime I.About dooroos.realtime II.NANO - KERNEL III.MICRO - KERNEL IV.MACRO - KERNEL

9 8 H/W HAL Device drivers DisplayInput IPC TIME RESOURCE MANAGE TASK/THREAD MANAGE TASK/THREAD MANAGEAPPLICATIONS DEVICE MANAGER FIELSYSTEM WINDOW FAT RAM ROM NETWORK NetDrvs GENERAL OS Functions & structures

10 9 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 1.Constant device management and efficient I/O system 2.Driver module Resource Management 1.Cost efficient use of memory 2.Reliable and Robust system services User 1.Easy to use 2.Low latency dooroos.realtime Design Principles

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

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

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

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

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

16 15 Boot sequence

17 16

18 17 dooroos.realtime I.About dooroos.realtime II.NANO - KERNEL III.MICRO - KERNEL IV.MACRO - KERNEL

19 18 HARDWARE HAL TRAPMEMORY MANAGEMENTTask/Thread Management MESSAGE BUS NANO-KERNEL library NANO-KERNEL Structure

20 19 Port / Channel

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

22 21 Message Structure #define JB_MESSAGE_CONTENTS \ UINT32 Type; \ UINT32 Param; \ 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; typedef struct _JB_MESSAGE { JB_MESSAGE_CONTENTS } JB_MESSAGE, *JB_PMESSAGE;

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

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

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

26 25 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 Task/Thread Model

27 26 Thread ID Stack CPU Register Values Priority Level MessageQueue Other Thread Options Other resources Primary Thread Threads Task ID HEAP Task/Thread Model

28 27 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 Memory Model

29 28 dooroos.realtime I.About dooroos.realtime II.NANO - KERNEL III.MICRO - KERNEL IV.MACRO - KERNEL

30 29 TIMESERVERSYSTEMSERVERSYNC.SERVER MICRO-KERNEL Structure

31 30 TIME SERVER RTC time management System time management Driver Timer management Application Timer management Alarm Timer management Thread Quantum management Watch-Dog management Sleep  services all the time related function

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

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

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

35 34 dooroos.realtime I.About dooroos.realtime II.NANO - KERNEL III.MICRO - KERNEL IV.MACRO - KERNEL

36 35 DEVICE SERVER (Device Management)

37 36 DeviceDrivers(DRV) WindowServer DisplayTouchPKeyBd I/OServer Kernel Platform Application FileServer Device Driver Model NetworkServer NIC

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

39 38 Kernel Components Device Driver Server Interrupt Service Routine HALRoutines ExceptionHandler Hardware Interrupt Message Handler Thread ISR IN T Virtual INT signal Interrupt Model

40 39 INT_AINT_B Interrupt Model INT_A INT_B INT_AINT_B INT_A INT_A INT_B INT_AINT_B INT_A Nesting No Nesting dooroos Kernel Layer Driver Layer

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

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

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

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

45 44 FILESYSTEM SERVER

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

47 46 ROOT (BD1) FILESYSTEM SERVER BLOCK DEVICE _1 (ROOT) BLOCK DEVICE_2 (MMC) Logical FILESYSTEM Structure Tasks (threads) MMC (BD2) wav romdoc wav romdoc FATFS DLL

48 47 NETWORK SERVER

49 48 NETWORK SERVER NICnNIC1NIC2 TCP Tasks (threads) IP UDP ICMP ARPRARP Applications NETWORK SERVER DEVICE DRIVERS SOCKET INTERFACE NICnNIC1NIC2 IP ARPRARP Applications NETWORK SERVER DEVICE DRIVERS

50 49 WINDOW SERVER

51 50 Widget1 Widget2 Widget1 Widget & Window Definition Widget0 WINDOW is the collection of widgets WINDO W is the atomic unit of window and operations WIDGET

52 51 Widget WINDOW All drawing unit is called  widget Example of Widget & Window

53 52 Difference of dooroos.realtime 1 - The child window should not be larger than it ’ s parent. - The child window should be inside of parent area. - The child window should not be larger than it ’ s parent. - The child window should be inside of parent area. SIZE 2 - The clipping between overlapped windows is not supported. - The higher z-order window is only updated. - The clipping between overlapped windows is not supported. - The higher z-order window is only updated. CLIPPIN G 3 - The key-input is not delivered to the focused window. - The key-input is delivered to the top parent window of the focused window. -The key-input delivery is responsibility to the top parent window. - The key-input is not delivered to the focused window. - The key-input is delivered to the top parent window of the focused window. -The key-input delivery is responsibility to the top parent window. FOCUS

54 53 Window Server WINDOW SERVER LCDKBDTCH Widgetprocedure(DLL) Windows(Widgets) GL library DLL Tasks (threads) Widget Draw DLL 1 2 3 APPLICATION WINDOW SERVER Mouse

55 54 widget1 Task(Thread) window1 Window_n widget2 Widget_n WINDOW Iooks like

56 55 MESSAGE MODEL Message Loop Thread1 WinProc APPLICATION WINDOW SERVER WinProc Message Loop WinProc WinProc Thread2 Message Queue...

57 56 APPLICATION EXAMPLE

58 57 RSSI widget Battery widget Image widget Menu button widget Child Window 1 List box widget Play Progress bar widget ESCStop Main Window Window

59 58 dooroos.realtime Main Window Main window management thread Wave player thread RSSI widget DEBUG THREAD Battery widget Image widget Menu button widget Child Window1 List box widget Progress bar widget Play button widget Stop button widget “ ESC ” button widget Application

60 59 COMPARISON

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

62 61 V.S

63 62 OS Comparison dooroos.realtimeLinuxWindows CEUCOSII structure modulemonolithicmixedmonolithic filesystem supported IO system supported Supported windowing supported networking supported library Not enoughenough apps Not enoughenough Memory 500KB8MB ~16MB ~ royalty ~ 2,000 wonFree16$

64 63 실 습

65 64


Download ppt "0 1 Contents I. VISION II.dooroos.realtime III.USE dooroos.realtime."

Similar presentations


Ads by Google