Dooroos.embedded
This presentation is the property of its rightful owner.
Sponsored Links
1 / 60

dooroos.embedded PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

dooroos.embedded

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Dooroos embedded

dooroos.embedded


Dooroos embedded

Contents

  • I. VISION

  • dooroos.embedded

  • USE dooroos.embedded


Dooroos embedded

VISION


Dooroos embedded

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

  • MIDDLEWARE

  • Device manager

  • kernel function

  • modularity

  • all platform porting

  • dooroos

  • .embedded

  • KERNEL


Dooroos embedded

LOADMAP

2002~2005

2012 ~

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


Dooroos embedded

dooroos


Dooroos embedded

dooroos.embedded

  • About dooroos.embedded

  • NANO - KERNEL

  • MICRO - KERNEL

  • MACRO - KERNEL


Dooroos embedded

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


Dooroos embedded

dooroos.embedded 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, small memory requirement

    • Reliable and Robust system services

  • User

    • Easy to use

    • Low latency


  • Dooroos embedded

    dooroos.embedded Backplane

    • Bus emulation (Message-Bus)

    • Communication between servers

    • Modularity

    • Independency

    • Scalability

    SERVER1

    SERVER2

    SERVERn

    nano-kernel ( Message-Bus)


    Dooroos embedded

    Advantages

    1.Modularity

    Nano-kernel

    Minimum real-time operating system and library (16KB)

    Micro-kernel

    Principal servers, 3 server (time server, sync server, device server)

    Macro-kernel

    Expanded servers. (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/Micro-kernel size is 12KB.

    Efficient relocation

    All modules can be generated by separated binary images. The relocation is very easy and efficient.


    Dooroos embedded

    app

    app1

    dooroos.embedded Structure

    NETWORK

    SERVER

    apps

    WINDOW

    SERVER

    apps

    apps

    FILESYSTEM

    SERVER

    MACRO-KERNEL

    MICRO-KERNEL

    DEVICE

    SERVER

    SYNC

    SERVER

    TIME

    SERVER

    NANO-KERNEL

    NANO

    KERNEL


    Dooroos embedded

    dooroos.embedded Structure

    Application

    WINDOW SERVER

    NETWORK SERVER

    FILESYSTEM SERVER

    MACRO

    KERNEL

    Device SERVER

    TIME SERVER

    SYNC. SERVER

    MICRO

    KERNEL

    MESSAGE BUS

    NANO

    KERNEL

    Thread Management

    TRAP

    DEVICE DRIVER

    DEVICE DRIVER

    HAL

    HARDWARE


    Dooroos embedded

    ROM IMAGE LAYOUT

    Window

    (Widget)

    ROM/DISK

    RAM

    Filesystem

    Application

    Task(threads)

    Widget Draw

    NETWORK SERVER

    GL library

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    System

    Configuration

    dooroos

    .embedded

    SYNC. SERVER

    TIME SERVER

    FAT library

    NANO-KERNEL

    Drivers

    HAL

    PLATFORM


    Dooroos embedded

    LAYOUT Example1

    (OS and Application are united)

    Text

    ROM/Flash

    Data

    RAM

    Application

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver

    Application

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver

    OS

    OS


    Dooroos embedded

    LAYOUT Example2

    (OS and Application are separated)

    Text

    ROM/Flash

    RAM

    Data

    Application

    Application

    OS

    OS

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver


    Dooroos embedded

    LAYOUT Example3

    (OS, Driver and Application are separated)

    Text

    ROM/Flash

    RAM

    Data

    Application

    Driver

    Application

    Driver

    OS

    OS

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver


    Dooroos embedded

    LAYOUT Example4

    (OS, Driver and Application are separated)

    Text

    ROM/Flash

    RAM

    Data

    Application

    Application

    Driver

    Driver

    OS

    OS

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver

    NETWORK SERVER

    WINDOW SERVER

    FILESYSTEM SERVER

    DEVICE SERVER

    TIME SERVER

    SYNC. SERVER

    NANO-KERNEL

    PLATFORM/Driver


    Dooroos embedded

    Directory View

    dooroos/embedded

    Application

    BIN

    OS

    GCC

    IAR

    include

    PLATFORM

    common

    Public

    Workspace


    Dooroos embedded

    BOOT STEP

    PLATFORM

    • Exception table initialization

    • Set the temporary stack

    • Set up the memory map

    • Jump to nano-kernel(ref. hal_locore.s)

    NANO-KERNEL

    • Register interrupt functions (ref. NKERNEL_BOOT)

    • Allocation for the channel memory of message

    • Set the stack

    • Create the “idle thread”

    • Call the function “HAL_Init”

    • Call the function “HAL_ClockInit”

    • Create the micro-kernel servers

    • Interrupt ON

    • Call the function “HAL_main”

    • Call the function“AppMain”

    • Go to the “Idle thread”

    Initialize the hardware

    Initialize the clock

    Initialize the user dependent code

    Create user thread and return immediatly

    • Sleep for a while

    • Call the function “Hal_Loader”


    Dooroos embedded

    dooroos.embedded

    • About dooroos.embedded

    • NANO - KERNEL

    • MICRO - KERNEL

    • MACRO - KERNEL


    Dooroos embedded

    NANO-KERNEL Structure

    NANO-KERNEL

    library

    MESSAGE BUS

    Thread Management

    TRAP

    HAL

    HARDWARE


    Dooroos embedded

    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


    Dooroos embedded

    Thread Model

    • Unlimited threads

    • Full synchronization primitives

    • Multithreading, preemptive, priority based scheduler

      • : 256 priority levels, reserved for server

  • Low ISR and thread latency

  • Easy implementation of driver with ISR


  • Dooroos embedded

    Port / Channel


    Dooroos embedded

    Thread Model

    Thread ID

    Priority Level

    Stack

    Message

    Queue

    CPU Register

    Values

    Other Thread

    Options


    Dooroos embedded

    dooroos.embedded

    • About dooroos.embedded

    • NANO - KERNEL

    • MICRO - KERNEL

    • MACRO - KERNEL


    Dooroos embedded

    MICRO-KERNEL Structure

    TIME

    SERVER

    SYNC.

    SERVER

    DEVICE

    SERVER


    Dooroos embedded

    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


    Dooroos embedded

    SYNCHRONIZATION SERVER

    • services all the synchronizations and communications

      between Threads

    • Semaphore

    • Mutex

    • CriticalSection

    • ConditionalVariable

    • Event

    • Message Queue

    • FUTEX


    Dooroos embedded

    DEVICE

    SERVER

    (Device Management)


    Dooroos embedded

    Device Driver Model

    Application

    Device

    Server

    File

    Server

    Window

    Server

    Network

    Server

    Kernel

    Device

    Drivers

    (DRV)

    TouchP

    KeyBd

    Display

    NIC

    Platform


    Dooroos embedded

    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


    Dooroos embedded

    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


    Dooroos embedded

    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


    Dooroos embedded

    SystemCall Model

    Kernel Components

    dooroos

    .realtime

    SYSTEM CALL

    OPENED

    INTTERUPT

    INTTERUPT

    BLOCKED

    Others


    Dooroos embedded

    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


    Dooroos embedded

    USB M/S Driver Example

    Message Bus

    Flash driver thread

    USB M/S driver thread

    JFTL

    USB cable

    PC

    FLASH

    USB DEVICE


    Dooroos embedded

    Logical device driver structure

    Expansion pack

    APPLICATION

    FILESYSTEM

    SERVER

    WINDOW

    SERVER

    Device server

    NETWORK

    SERVER

    Synchronization server

    FAT12/16/32

    ROM

    RAM

    library

    Mixer

    GRAPHIC

    LIBRARY

    Time server

    NETWORK

    PROTOCOL

    USB M/S

    UART

    Nano-kernel

    JFTL

    HAL

    Sound

    NetDrv

    LCD

    TOUCH

    KBD

    FLASH

    H/W

    cpu core


    Dooroos embedded

    dooroos.embedded

    • About dooroos.embedded

    • NANO - KERNEL

    • MICRO - KERNEL

    • MACRO - KERNEL


    Dooroos embedded

    FILESYSTEM

    SERVER


    Dooroos embedded

    FILESYSTEM SERVER

    APPLICATION

    FILESYSTEM SERVER

    Tasks (threads)

    1

    FILESYSTEM

    SERVER

    RAMFS

    2

    ROMFS

    FATFS

    3

    Block Driver

    BLOCK DEVICE


    Dooroos embedded

    Logical FILESYSTEM Structure

    Tasks (threads)

    ROOT (BD1)

    FILESYSTEM

    SERVER

    wav

    romdoc

    FATFS

    MMC (BD2)

    BLOCK

    DEVICE_1

    (ROOT)

    BLOCK

    DEVICE_2

    (MMC)

    wav

    romdoc


    Dooroos embedded

    NETWORK

    SERVER


    Dooroos embedded

    NETWORKSERVER

    Tasks (threads)

    Applications

    Applications

    SOCKET INTERFACE

    TCP

    UDP

    NETWORK SERVER

    NETWORK SERVER

    IP

    IP

    ICMP

    RARP

    RARP

    ARP

    ARP

    NIC

    NIC1

    DEVICE DRIVERS

    DEVICE DRIVERS


    Dooroos embedded

    WINDOW

    SERVER


    Dooroos embedded

    Widget & Window Definition

    WINDOW

    is the collection of widgets

    WIDGET

    is the atomic unit of window and operations

    Widget0

    WINDOW

    Widget1

    Widget2

    Widget2

    Widget0

    Widget1


    Dooroos embedded

    Example of Widget & Window

    All drawing unit is called  widget

    WINDOW

    Widget


    Dooroos embedded

    Difference of dooroos.embedded

    - The child window should not be larger than it’s parent.

    - The child window should be inside of parent area.

    1

    SIZE

    - The clipping between overlapped windows is not

    supported.

    - The higher z-order window is only updated.

    2

    CLIPPING

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

    3

    FOCUS


    Dooroos embedded

    WINDOW SERVER

    WINDOW SERVER

    APPLICATION

    Tasks (threads)

    2

    1

    Windows

    (Widgets)

    Window Server

    Widget

    procedure

    3

    Widget Draw

    GL library

    KBD

    Mouse

    TCH

    LCD


    Dooroos embedded

    WINDOW Iooks like

    widget1

    window1

    widget2

    Task(Thread)

    Window_n

    Widget_n


    Dooroos embedded

    Message Queue

    MESSAGE MODEL

    APPLICATION

    Thread1

    WINDOW SERVER

    Message Loop

    WinProc

    WinProc

    . . .

    Thread2

    Message Loop

    WinProc

    WinProc


    Dooroos embedded

    APPLICATION

    EXAMPLE


    Dooroos embedded

    Window

    RSSI

    widget

    Battery

    widget

    Image

    widget

    List box

    widget

    Progress bar widget

    Menu button widget

    Play

    ESC

    Stop

    Main Window

    Child Window 1


    Dooroos embedded

    Application

    Menu button

    widget

    RSSI

    widget

    Battery

    widget

    Image

    widget

    “ESC” button

    widget

    Stop button

    widget

    Progress bar

    widget

    Play button

    widget

    List box

    widget

    Wave player thread

    Main Window

    Child Window1

    Main window management thread

    dooroos.realtime

    DEBUG THREAD


    Dooroos embedded

    COMPARISON


    Dooroos embedded

    V.S

    V.S


    Dooroos embedded

    OS Comparison


    Dooroos embedded

    실 습


    Dooroos embedded

    dooroos.embedded


  • Login