1 / 28 Multi-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu How to work with.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

DEVICE DRIVER VINOD KAMATH CS691X PROJECT WORK. Introduction How to write/install device drivers Systems, Kernel Programming Character, Block and Network.
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Functions and scope Confidence In scope Reference: K&K textbook, Chapter 4.
Booting the TS-7300 boards VHDL and C. Overview After looking at the general approach to booting machines (generally PCs) we will now look at the TS-7300.
POLITECNICO DI MILANO Parallelism in wonderland: are you ready to see how deep the rabbit hole goes? ILP: VLIW Architectures Marco D. Santambrogio:
1 Dual-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu Second Stage Loader.
CS 31003: Compilers ANIRUDDHA GUPTA 11CS10004 G2 CLASS DATE : 24/07/2013.
 Just as processes share the CPU, they also share physical memory. This section is about mechanisms for doing that sharing. EXAMPLE OF MEMORY USAGE Calculation.
DSP Implementation Lecture 3. Anatomy of a DSP Project In VDSP Linker Description File (.LDF) Source Files (.asm,.c,.h,.cpp,.dat) Object Files (.doj)
Boot Issues Processor comparison TigerSHARC multi-processor system Blackfin single-core.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture Wei-Kai Cheng Youn-Long Lin* Computer & Communications.
IXP1200 Microengines Apparao Kodavanti Srinivasa Guntupalli.
Figure 1.1 Interaction between applications and the operating system.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Final A Presentation By: Vova Menis-Lurie Sonia Gershkovich.
© 2004 Cisco Systems, Inc. All rights reserved. Managing Your Network Environment Managing Router Startup and Configuration INTRO v2.0—9-1.
Out-of-Order OpenRISC 2 semesters project Semester A: Implementation of OpenRISC on XUPV5 board Midterm Presentation By: Vova Menis-Lurie Sonia Gershkovich.
COLLABORATIVE EXECUTION ENVIRONMENT FOR HETEROGENEOUS PARALLEL SYSTEMS Aleksandar Ili´c, Leonel Sousa 2010 IEEE International Symposium on Parallel & Distributed.
UNIX and Shell Programming (06CS36)
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-7 Memory Management (1) Department of Computer Science and Software.
Kenichi Kourai (Kyushu Institute of Technology) Takuya Nagata (Kyushu Institute of Technology) A Secure Framework for Monitoring Operating Systems Using.
KeyStone MPM Basics KeyStone Training Multicore Applications Literature Number: SPRPxxx 1.
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.
Enabling Multi-threaded Applications on Hybrid Shared Memory Manycore Architectures Tushar Rawat and Aviral Shrivastava Arizona State University, USA CML.
SOC Consortium Course Material Memory Controller National Taiwan University Adopted from National Taiwan University SoC Design Laboratory.
XOberon Operating System CLAUDIA MARIN CS 550 Fall 2005.
Keystone Family PCIE Eric Ding. TI Information – Selective Disclosure Agenda PCIE Overview Address Translation Configuration PCIE boot demo.
Lab. 4 Demonstrating and understanding multi-processor boot TigerSHARC multi-processor system.
RNJ 05/05/091 6 Further System Fundamentals (HL) ‏ 6.3 Operating Systems and Utility Software Linkers, Loaders and Library Managers.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD QSim 1 : Overview  Thread safe multicore.
UNIX and Shell Programming
Justin. Outline  Introduction  The Challenge of Preemption  TOSThreads Architecture  Implementation  Evaluation.
SCHOOL OF ELECTRICAL AND COMPUTER ENGINEERING | SCHOOL OF COMPUTER SCIENCE | GEORGIA INSTITUTE OF TECHNOLOGY MANIFOLD Manifold Execution Model and System.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
1)Leverage raw computational power of GPU  Magnitude performance gains possible.
ECGR-6185 µC/OS II Nayana Rao University of North Carolina at Charlotte.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Memory Management Overview.
Embedded System Course Syllabus. Course Outline Instructor: 안 종석 –Office: 컴퓨터 공학과 Q304 – –Home page:
Damper board (redux) SHARC overview Bill A. May 17, 2004.
Implementation of Embedded OS Lab4 Cortex-M3 Programming.
Basic Memory Management Chapter 3 C6000 Integration Workshop Copyright © 2005 Texas Instruments. All rights reserved. Technical Training Organization T.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
Distributed Computing in Life Science Research -Presenter: Yijian Yang
Week 4 - Friday.  What did we talk about last time?  Some extra systems programming stuff  Scope.
The World Leader in High Performance Signal Processing Solutions Heterogeneous Multicore for blackfin implementation Open Platform Solutions Steven Miao.
RealTimeSystems Lab Jong-Koo, Lim
Software Architecture of Sensors. Hardware - Sensor Nodes Sensing: sensor --a transducer that converts a physical, chemical, or biological parameter into.
Outlines  Introduction  Kernel Structure  Porting.
Dr. Iyad Jafar Introducing the PIC 16 Series and the 16F84A.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
Chap. 4 ARM Boot Loader Internals. 2 S3C2500 ARM940T Core module ARM9TDMI CoreIC.
1 CS 192 Lecture 4 Winter 2003 December 8-9, 2003 Dr. Shafay Shamail.
Introduction to Operating Systems Concepts
Chapter 4: Threads Modified by Dr. Neerja Mhaskar for CS 3SH3.
Introduction to threads
Testing of Heterogeneous Multi-Core Embedded Systems
Chapter 2: Operating-System Structures
Chapter 8 Main Memory.
Threads and Locks.
Chapter 4 Multithreading programming
Chapter 4: Threads.
Computer Organization & Compilation Process
Embedded Specific 8051 Memory Areas (cont.)
Apparao Kodavanti Srinivasa Guntupalli
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Outline Process Management Process manager Hardware process
Computer Organization & Compilation Process
Presentation transcript:

1 / 28 Multi-OS Project National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Presenter: Tang-Hsun Tu How to work with Multi-OS on BF561

2 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

3 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

4 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Motivation 1.a porting uC/OS-II dxe 2.System Architecture

5 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Motivation (Cont.)

6 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Compiler / Linker / Loader. o(s ). lds. ldf executable. doj(s ). dxe(s ) Visual DSP++ Linux

7 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Loader File and Flash

8 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Second Stage Loader Management of Two dxe(s)

9 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

10 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  BF561 Multi-DXE Loader

11 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Loader File Structure

12 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1.Address(4 bytes) – the block will be booted within mem 2.Count(4 bytes) – number of bytes in the block 3.Flag(2 bytes) – block type and control commands  10-Byte Header

13 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Loader File With Init -NoFinalTag Single Boot Stream -NoSecondStageKernel

14 / 28  SICA_SYSCR Register National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu How to start coreB ? *pSICA_SYSCR &= 0xFFDF

15 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

16 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu  Compiler / Linker / Loader. ldf. doj(s ). dxe(s ) Visual DSP++

17 / 28  Linker Section (L2) National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1.L2_sram: map code and data into L2 for non-multicore parts that have L2 SRAM 2.L2_sram_a: map code and data into the part of L2 memory reserved for core A on a multicore system 3.L2_sram_b: map code and data into the part of L2 memory reserved for core B on a multicore system 4.l2_sram: be used on multicore system to map code and data into L2 for parts which have L2 memory 5.l2_shared: map code and data into the part of L2 memory shared between core A and core B

18 / 28  L2 Share memory National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 0xFEB xFEB xFEB xFEB L2 SRAM A (32K) L2 SRAM (64K) L2_sram_b L2_sram_a l2_shared l2_sram section L2_sramsection 128K L2 SRAM B (32K)

19 / 28  Memory Architecture National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu Core A Memory Core B Memory

20 / 28  Memory Architecture (Cont.) National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu L2 Share Memory (128 K) L3 Share Memory (SDRAM) Max is 256 / 512 MB

21 / 28  Linker Section (SDRAM / L3) National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1. sdram0: map code or data into external memory, this can be used to place large, infrequently used data or functions into external memory to free up valuable internal memory. 2. sdram_bank {0|1|2|3}: other bank

22 / 28  Synchronization API National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu /* multi-core lock type */ volatile multi_core_lock_t synlock; /* initial function */ 1.void multicore_spin_lock_init_locked(volatile multi_core_lock_t *lockptr); 2.void multicore_spin_lock_init_unlocked(volatile multi_core_lock_t *lockptr); /* function */ 1.void multicore_spin_lock(volatile multi_core_lock_t *lockptr, int cpu_id); 2.void multicore_spin_unlock(volatile multi_core_lock_t *lockptr); 3.void multicore_spin_lock_irqsave(volatile multi_core_lock_t *lockptr, int cpu_id); 4.void multicore_spin_unlock_irqrestore(volatile multi_core_lock_t *lockptr);

23 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

24 / 28  Conclusion National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1.We can run multi-uC/OS-II on BF561 2.We can communicate between multicore by L2 share memory

25 / 28 ◇ Loader File Structure  Outlines ○ Introduction ◇ Multi-DXE Loader ○ Multi-OS ○ Communication National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu ○ Conclusion ○ Further Work ◇ Second Stage Loader

26 / 28  Further Work National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1.Periodic Task 2.Distributed Pinwheel Schedule 3.Synchronization 4.Other OSes

27 / 28  Question National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu 1.Execution Time 2.Floating Point (Sr, DSr) 3.Distance Constrained

28 / 28 National Taiwan University, Graduate Institute of Networking and Multimedia Tang-Hsun Tu