Workshops Hands-on With Virtutech Simics Jakob Engblom
|
|
- Eustace Underwood
- 6 years ago
- Views:
Transcription
1 Workshops Hands-on With Virtutech Simics Jakob Engblom
2 Welcome
3 What will we do today? A hands-on look at Virtutech Simics Compile, download, and execute programs For cross-targets running (embedded) Linux Single virtual development board Network of virtual machines Inspect and debug functionality Running code on a machine with no OS Extend the model with a new hardware device Test a simple device driver 3
4 Simics is a Systems Simulator Phone Server Network PC Internet IP Phone 4
5 Simics is a Systems Simulator Simics/Phone Simics/Phone Simics/Phone Simics Simics/Server Simics Sim Network Simics Simics/PC Simics IP Simics 5 Simics/IP Phone Simics
6 Simics is a Systems Simulator Apps Applications RTOS HW Model Simics/Phone Simics/Phone Simics/Phone Simics RTOS Hardware model Simics/Server Simics Sim Network Simics Behavioral simulation of function Simics/PC Simics IP Simics 6 Simics/IP Phone Simics
7 Traditional Development Process Use hardware to test and debug software Expensive Unwieldy environment for debugging Not available early enough Often, not every developer can have a test bed 7
8 Virtutech Simics Virtualized Software Development Simulates the system under development and its immediate environment Runs entire software image unchanged Model peripheral devices Benefits of software over hardware Customizable Cheaper Programmer-friendly Scriptable & controllable Available earlier 8
9 Virtualized Software Development Identical build tools chain The software can t tell the difference Runs binaries from real target User program Server DB Middleware Complete production software Drivers Operating system Firmware Simulated hardware CPU CPU Bus Disk Network net RAM PCI Disk Ctrl LCD ROM I2C Hardware 9 FLASH ASIC
10 Complete Virtualization User program All software: arbitrary & unmodified. Same as on a real system. Target operating system Simulated target hardware Simics Host operating system Host hardware Arbitrary; currently supports Alpha, ARM, IA64, 32/64 bit x86, 32/64 bit Sparc, 32/64 bit MIPS, 32/64 bit PowerPC, TI C6400, msp430 Linux, Solaris, Windows PC (32- & 64-bit) or Sparc 10
11 Getting Started
12 Getting Started: VmWare Player Start VmWare player Select the simics-on-linux.vmx file 12
13 Getting Started: Boot When the virtual computer starts It will boot into grub Press return to boot the Linux we need 13
14 Getting Started: Login At login prompt: User user Password user Or wait to be automatically logged-in as user 14
15 Getting Started: Terminal When the Linux has booted, you will be at the desktop with no windows open Click the terminal to get a text console 15
16 Getting Started: More Terminals I find it convenient with two terminals Or even better, two tabs in the terminal 16
17 Getting Started: Simics Docs Simics has HTML, PDF, and online help To access HTML & PDF, open the Simics documentation folder on the desktop User guide is linked directly as well 17
18 Starting Simics
19 Starting Simics On Linux, Simics is a command-line app Simics exposes a sophisticated commandline interface And graphical or text windows for the displays and serial ports of the target systems Simics uses a workspace directory: /home/user/simics-workspace in this case 19
20 Starting Simics Linux command-line Will be prefixed host$ in the following slides What you type is going to be bold So we do the following: host$ cd simics-workspace host$./simics target/ebony/ebony-linux-firststeps.simics 20
21 Starting Simics Linux commands to start Simics Target console, output from target machine appears here Simics prompt, also called the Simics console 21
22 Starting Simics: target & host Target console Programs Complete and unmodified Linux Simics console PowerPC 440 Simics Host Host operating OS: Linux system Host Host: hardware PC 22
23 Simics Workspaces Based on the eclipse concept Provides a base location for: checkpoints machine configuration files locally built simics modules scripts Keeps user data Simics installation separate from workspace (here: /opt/virtutech/simics /) Multiple workspaces & Simics installations can coexist on a system 23
24 Structure of Workspace simics-workspace/ modules/ -- stores user-developed hardware models simpledma/ -- simple DMA controller targets/ -- stores target machine setups arm-sa1110/ -- StrongARM machine ebony/ -- PPC440gp development board mpc8641d-simple/ -- mpc8641d board ppc-simple/ -- very basic PowerPC machine sunfire/ -- Sun server machine x86-440bx/ -- standard PC x86-linux/ -- stores compiled modules 24
25 Boot the Target Simics command-line Prefixed simics> in the following To run 2 billion cycles for the boot: simics> c 2_000_000_000 To stop simulation at any point: ctrl-c To run simulation until stopped: simics> c 25
26 Inspect Target State from Simics Some Simics commands: simics> ptime simics> pregs simics> pregs all simics> da count=10 simics> x %r1 simics> help simics> si 26
27 Inspect Target State from Simics Simics logs all device accesses simics> uart0.log Devices present their state simics> uart0.status simics> emac0.status simics> emac0.info 27
28 Test the Target Machine Commands on the target machine CLI: Prefixed $ in the following Make Simics run, then use target console: simics> c $ pwd $ uname a $ cat /proc/cpuinfo $ ifconfig 28
29 Compile & Load a User Program
30 Create and Load a User Program Stop Simics in the meanwhile Use the second terminal/tab to compile 30
31 Look at the Code Start the Text Editor (on the desktop) Look at the file./simics-workspace/target/ebony/helloworld-440.c Make some changes to see that it is your program and not the standard program 31
32 32
33 Compile the Program We have a script prepared to compile for the target, using a PPC cross-compiler Use in the second terminal/tab The script (does NOT want.c for filename): host$ compile-for-linux <PROGRAM> Use here: host$ cd simics-workspace/ host$ compile-for-linux targets/ebony/helloworld
34 Load the Program on the Target Use simicsfs A special file system on the target machine Mounts the host machine file system Requires simicsfs driver in target linux Start Simics again Otherwise, we cannot type commands in the target console Note that unlike VmWare (Player), Simics can stop and hold execution of the target machine 34
35 Load the Program on the Target Start Simics simulation again simics> c Mount the host & copy the program $ mount /host $ ls /host Navigate to /home/user/simicsworkspace/targets/ebony within simicsfs $ cp helloworld
36 Run the Program on the Target Check that the program has been copied $ ls And then run it $./helloworld
37 Scripting the Target You can put breakpoints on console output from the target, and send text to the target simics> (ctrl-c) to stop simulation simics> con0.input helloworld-440\n simics> con0.break # simics> c When simulation stops, try some other input 37
38 Network Simulation
39 Target System Regular Linux networking API for the applications Application Linux 2.4 Application Linux 2.6 Linux talks to the network device, like on a real machine Simulated machines send packets onto the simulated network Ebony PPC 440 GP Simics Ethernet Link Simulation Simics Argo Navis MPC8641D Dual-core e600 machine from Freescale 39
40 Starting the Network Target Use the provided target script host$./simics targets/network/network.simics Use text editor to look at the script Note how machine scripts are called with parameters If you want, try changing some parameters 40
41 Target System Consoles Application Application Linux 2.4 Linux 2.6 Ebony PPC 440 GP Argo Navis MPC8641D Console on Ebony Simics Ethernet Link Simulation Console on ArgoNavis Simics Simics console, for the entire system 41
42 Boot the Network Target Tell Simics to run 2 billion instructions on the ebony card simics> current-processor simics> c 2_000_000_000 After the boot, check the time simics> ptime all Note that processors have different time The 8641D processors are higher clocked 42
43 Take a Checkpoint This boot took some time Save the outcome as a checkpoint for later reference and instant reboot simics> write-configuration netbooted.ckpt Check the result in second terminal: Should be in /home/user/simics-workspace host$ ls 43
44 Try the Network Both targets have ping installed Ebony is ArgoNavis is Also try: $ ifconfig $ cat /proc/cpuinfo 44
45 Connect to the Outside World Tell Simics to create a bridge to the host simics> connect-real-network simics> c Simics network hides behind a simple NAT router inside Simics With port-forwarding for incoming connections To connect to telnetd on ebony: In the second terminal window on the host host$ telnet localhost
46 Connect to the Outside World Application Application Linux 2.4 Linux 2.6 Ebony PPC 440 GP Simics Ethernet Link Simulation Simics Argo Navis MPC8641D Host Linux Simics NAT router Telnet Host PC (VmWare) 46
47 Quit Simics simics> exit 47
48 Compiling a Network Program
49 Network Test Programs targets/network/sender.c Simple program sending a single string Arguments: dest IP, dest port, string targets/network/receiverserver.c Simple daemon program Waits for connections from sender, prints the received string on the console Argument: port to listen on 49
50 Compile the Network Programs Use the compile-for-linux script host$ compile-for-linux targets/network/sender host$ compile-for-linux targets/network/receiverserver 50
51 Load Programs on the Targets Start Simics from the checkpoint we took host$./simics c netbooted.ckpt simics> ptime -all Use simicsfs again Simicsfs configured to point to targets/network simics> ebony_hfs0.root simics> argo_hfs.root Start simulation simics> c 51
52 Load Programs on the Targets Ebony requires /host to be mounted ebony$ mount /host ebony$ cp /host/sender. ebony$./sender ebony$ umount /host Argo already has it mounted argo$ cp /host/receiverserver. argo$./receiverserver argo$ ls -l argo$ umount /host Save the simulation state simics> ctrl-c Unmount /host to maintain determinism in the simulation. Typical way things are done with simicsfs. simics> write-configuration netswloaded.ckpt Binary is big since argo (and ebony) do not have many shared files installed. Instead, the programs are statically linked. 52
53 Try Programs Argo navis: start receiver: argo$./receiverserver 4000 & argo$ ps Ebony: send a message: ebony$./sender hi there 53
54 Source-Level Inspect & Debug
55 Quit and Restart Simics Exit Simics Start using the netswloaded checkpoint host$./simics c netswloaded.ckpt simics> c Start the receiver program again, test it We took the checkpoint before it had started 55
56 Stop at Magic Breakpoint Sender program has a hook in it Magic breakpoint NOP on target Simics catches it and treats it specially Runs with no side effect on physical hardware Useful to find interesting points in SW loads To stop when magic executes: simics> magic-break-enable 56
57 Stop at Magic Breakpoint Rerun sender program, wait for stop ebony$./sender help!... magic instruction (or r0,r0,r0) When Simics has stopped, set up for debug simics> run-command-file targets/network/sendersymbols.simics Loads the debug symbols for sender and sets up Simics so that it uses the symbols to display the code Note that debug symbols are non-trivial in a system environment like Simics: multiple machines, multiple processors, operating systems and programs running 57
58 Single-Step Program Watch the network traffic as we go simics> link0.log-level 3 Single-step on Ebony Note that argo is also stopped simics> next A few times to see when packets start flying And to see the message displayed on argo Complete the program execution 58
59 Let s Do It in Reverse Stop Simics, enable backwards debugging simics> set-bookmark start simics> list-bookmarks simics> c ebony$./sender test reverse... simics> next Until message has been delivered, and then simics> rnext To step backwards in the program execution Notice that output disappears on argo 59
60 Free-Run Reverse Stop Simics catching magic breakpoint and reverse execution simics> magic-break-disable simics> reverse Note activity on serial consoles An go back to forwards execution simics> c Note that input is replayed just like you typed it 60
61 Symbols for Receiver Activate symbol information for Argo simics> run-command-file target/network/receiversymbols.simics Also includes the kernel symbol information Set breakpoint on recv call in receiver simics> break x (sym recv ) Send a message from ebony, wait for breakpoint simics> current-processor simics> where 61
62 Symbols for All Also see what is happening on the sender simics> pselect ebony_cpu0 simics> where Try source breakpoints on the receiver simics> pselect argo_cpu0 simics> break (pos receiversender.c:54) simics> list-breakpoints simics> delete (some breakpoint) When simulation stops, try next, rnext, etc. 62
63 Hardware Access Break Simics lets you break on hardware access simics> break-io ebony_emac0 Then start sender program again, wait for break simics> where simics> list main 37 63
64 Running a Machine with no OS
65 A Machine with No OS Target: targets/ppc-simple Only a PPC603e CPU, memory, and serial-port Look at the script ppc-simple-uartdriver.simics load-binary used to put a program in memory set-pc to point PC to program start point write-reg r1 to setup stack pointer Start it and inspect the system setup host$./simics targets/ppc-simple/ppc-simple-uart-driver.simics simics> list-objects simics> phys_mem.map 65
66 Run the Program You can single-step or run free Symbols for the program are loaded Right from the first instruction Very useful for operating system debug simics> si simics> ptime simics> next... simics> reverse 4000 (when reached for(;;)) 66
67 Device Modeling
68 Add a DMA Controller Simics provides the Device Modeling Language to write new devices for targets New devices are easy to add DML is a very efficient device modeling system We will add a simple DMA controller to ppcsimple and do a polled device driver for it 68
69 Building a new Device Model Device models located in the workspace: /home/user/simics-workspace/modules/ host$ cd /home/user/simics-workspace host$ ls modules/ Modules built from workspace top-level host$ make clean host$ make 69
70 The Simics Equation Simics API High Speed ISS Instruction Set Simulators Fast CPU Models User Interface DML Device Modeling Language Simulation Infrastructure Event Queue Debug Features Interface to 3 rd Party Tools 70
71 Simics Architecture Programs Target Operating System Processors Standard Devices Networks Custom Devices Simics Core Multiprocessor Checkpointing Advanced Breakpoints Proven API Configuration Multiple Machines Determinism Virtual Memory Events 32/64-bit Handling Distribution Visibility Scalability Virtual Time Endianness Handling Profiling Tracing Timing Models Real Network Debugging Fault Injection Test Harnesses Reverse Execution Simics 71
72 Simics Architecture Provided by Virtutech Programs Target Operating System Added by Virtutech, user, or third party consultant Processors Standard Devices Networks Custom Devices Simics Core Multiprocessor Checkpointing Advanced Breakpoints Proven API Configuration Multiple Machines Determinism Virtual Memory Events 32/64-bit Handling Distribution Visibility Scalability Virtual Time Endianness Handling Profiling Tracing Timing Models Real Network Debugging Fault Injection Test Harnesses Reverse Execution Simics 72
73 What is DML? A simple declarative language for modeling devices A C-like syntax for model semantics Declarative structures for interfaces Encourages compactness and readability Reduces the risk of errors Reduces the code length Designed for hardware device modeling in Simics Makes using the Simics API much simpler Generates bulky repetitive code for you Compiled using dmlc as you have already seen 73
74 Simple DMA Device in DML
75 So What is Modeled? To start DMA: DMA_source <- address to transfer from DMA_dest <- address to transfer to DMA_control.EN <- 1 to enable DMA DMA_control.SWT <- 1 to start DMA from SW DMA_control.TS <- # words to transfer Status reporting when completed: DMA_status.TC Set to one when transfer completed, cleared by SW DMA_control.SWT <- 0 DMA_source & DMA_dest updated 75
76 Look at the Source Code Open the text editor Look at modules/simple_dma/simple_dma.dml 76
77 DML General Syntax Comments Both C style /* */ and C++ style // Statements Terminate with a semi-colon Block and Scope C style using { and } Literals C style Integers: 123 and 0b and 0x5ab3 Floating-point: and 6.6e-11 Strings: "hello world" Booleans: true or false 77
78 DML General Syntax Object names prefixed with $ $DMA_source $event Sub-objects accessed using dot notation $DMA_control.TS call $event.post(time,data) Many objects take description strings in declaration register MSR Master Status Register ; Methods called explicitly, or inlined call $method(...) inline $method(...) 78
79 DML General Syntax Arrays and Subscripts A mix of C and Python style using [ and ] Log command built into language log info, 2 : device model doing something ; Objects can be declared in any order No need to declare objects before use DMLC compiler resolves all dependencies and names Many objects have default methods automatically generated by the DML compiler post in events read, write for registers 79
80 Driver Software The file targets/ppc-simple/dmadriver.c Compile using compile-for-no-os script host$ compile-for-no-os targets/ppc-simple/dmadriver Does not rely on any part of libc Compiles for a static start address of code Loaded just like UART driver Polled driver for simplicity 80
81 Testing the DMA Device Start Simics: host$./simics targets/ppc-simple/ppc-simple-dma.simics Investigate the machine setup: simics> list-objects simics> help dma0 simics> phys_mem.map Increase logging to see all activity in device simics> dma0.log-level 2 81
82 Testing the DMA Device Look at the evolving device state Using Simics attributes Attributes export the complete state of a device Used for inspection, state change, and checkpoints Auto-generated for all registers in DML Use OBJECT->ATTRIBUTE to get & set simics> output-radix 16 2 simics> dma0->b_dma_control simics> dma0->b_dma_status 82
83 Interfaces of a Device Model Programs Target Operating System Processor Memory access Simics Core implements connect connect implements read() write() get() get or set attributes CLI or Python Script Device Device Register Simics set() 83 Checkpointing
84 Testing the DMA Device To let us follow the activity, stop on each access to the DMA device simics> break-io dma0 Start simulation with continue (c) It will stop at each access When stopped, look at attributes and the log simics> dma0.log 84
85 Testing the DMA Device After access to DMA_source and DMA_dest, look at the source and dest of the DMA simics> x (dma0->b_dma_source) simics> x (dma0->b_dma_dest) 85
86 The DMA driver program prints what it thinks is going to be copied Testing the DMA Device Simics prints the next instruction (and source line) to execute Memory contents of destination before copying using DMA 86
87 Testing the DMA Device When simulation stops before the line: 52 *dma_control = DMA_SWT DMA_EN count; Do next to get to the next line Note the log about delay to completion Look at the Simics event queue simics> peq 87
88 Testing the DMA Device Advance simulation until DMA completes simics> unbreak-io dma0 simics> c Check state of things simics> dma0->b_dma_status simics> x 0x22000 Finish program work simics> c 100_000 88
89 That s It!
90 Summary Simics models runs the real software Single & multiple boards and processors Models can be extended with new devices Used as an alternative to physical hardware Simics is powerful debug system Inspect both software and hardware Reverse debugging for arbitrary systems Global stop Breakpoints impossible on real hardware Simics can be scripted and automated 90
91 What Now? Feel free to play around with Simics using the tools we have seen today If you want to keep playing with Simics, copy the VmWare player image you used It is about 2GB in size, fits on a large USB stick License is valid for about one more week If you want to discuss more, grab me during the conference I also have a talk about Simics on Thursday 91
92 Inside the DML File
93 DML File Structure dml 1.0; Declare language version Multiple versions can be in use simultaneously device simple_dma; Declare the name of the class of the device Multiple objects of the same class can be used parameter documentation =... ; Provide simple description of the device Accessible in Simics help system 93
94 DML File Structure import...dml ; Import files containing functionality to use constant time_per_byte=...; Declare symbolic constants for use in the code connect target_mem_space... Connect to other parts of the simulated system Here: the memory space (phys_mem) Needed so that the device can read & write memory 94
95 DML File Structure bank b {... } Declares a bank of one or more registers Registers can contain fields Bank is memory-mapped in system configuration The device does not know where it is mapped A device can have many banks, each mapped separately Registers specify offsets in the bank Provides settings for all registers in the bank Byte order big-endian here, we attach to a PPC processor Size (if uniform) The core of the DML device model 95
96 DML File Structure register DMA_control size 0x00... { Declare a register of 4 bytes at offset zero field EN[31] A single-bit field inside the register We use little-endian bit order here, i.e the usual way with the leastsignificant bit being bit zero PowerPC-attached devices often use big-endian bit numbering since that is IBM standard By default, registers and fields store values written field TS[15:0] 16-bit field method after_write() {... } Performs an action after all fields of the register has been written Standard way to handle activity in a register split into fields 96
97 DML File Structure register DMA_source size 0x08 { A full 32-bit register method write(value) { Called when the register is written to Counterpoint is method read()->(value) log info, 2 :... Print a log message when the register is written $qname = name of the register $this = value Store value written as the value of the register 97
98 DML File Structure method do_dma_transfer() The actual work of DMA_control.after_write() inline $complete_delay_ev.post(...) post function is automatically generated for event Post an event to complete the DMA operation later Time computed from number of words to transfer event complete_delay_ev { Declares the event used to delay completion of the DMA operation method event(data) { Called when event triggers, i.e. DMA is to complete 98
99 DML File Structure method complete_dma () { Performs the actual movement of data In one chunk, after the time needed to transfer More efficient than modeling piecewise movement Typical for Simics transaction-oriented modeling Called from the event posted by after_write() Reads and modifies values of registers and fields in the bank 99
100 Remember! Enter the evaluation form and be a part of making Øredev even better. You will automatically be part of the evening lottery 100
Wind River. All Rights Reserved.
1 Using Simulation to Develop and Maintain a System of Connected Devices Didier Poirot Simics Technical Account Manager THE CHALLENGES OF DEVELOPING CONNECTED ELECTRONIC SYSTEMS 3 Mobile Networks Update
More informationWhy Use Simulation? Simics & dark2 Assignment 1. What is a Simulator? Full-System Simulation
Simics & dark2 Assignment 1 Håkan Zeffer Uppsala University, Sweden zeffer@it.uu.se Why Use Simulation? Understanding real systems More inspectable Less dangerous Fault injection Debugging Prototype HW
More informationSoftware Development Using Full System Simulation with Freescale QorIQ Communications Processors
Patrick Keliher, Simics Field Application Engineer Software Development Using Full System Simulation with Freescale QorIQ Communications Processors 1 2013 Wind River. All Rights Reserved. Agenda Introduction
More informationC152 Laboratory Exercise 1
C152 Laboratory Exercise 1 Professor: Krste Asanovic TA: Christopher Celio Department of Electrical Engineering & Computer Science University of California, Berkeley January 26, 2011 1 Introduction and
More informationSimics User Guide for Unix
Simics User Guide for Unix Simics Version 3.0 Revision 1317 Date 2005-11-18 1998 2005 Virtutech AB Norrtullsgatan 15, SE 113 27 STOCKHOLM, Sweden Trademarks Virtutech, the Virtutech logo, Simics, and Hindsight
More informationLinux Command Line Primer. By: Scott Marshall
Linux Command Line Primer By: Scott Marshall Draft: 10/21/2007 Table of Contents Topic Page(s) Preface 1 General Filesystem Background Information 2 General Filesystem Commands 2 Working with Files and
More informationIntroduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras
Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In
More informationSimics Feature List. Simics Version 4.2. Revision 3030 Date
Simics Feature List Simics Version 4.2 Revision 3030 Date 2009-10-16 1998 2009 Virtutech AB Drottningholmsvägen 22, SE-112 42 Stockholm, Sweden Trademarks Virtutech, the Virtutech logo, Simics, Hindsight,
More informationContents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides
Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section
More informationToday. Review. Unix as an OS case study Intro to Shell Scripting. What is an Operating System? What are its goals? How do we evaluate it?
Today Unix as an OS case study Intro to Shell Scripting Make sure the computer is in Linux If not, restart, holding down ALT key Login! Posted slides contain material not explicitly covered in class 1
More informationSimics Installation Guide for Linux/Solaris
Simics Installation Guide for Linux/Solaris Personal Academic License (PAL) Simics Version 3.0 Revision 1376 Date 2007-01-24 1998 2006 Virtutech AB Norrtullsgatan 15, SE-113 27 STOCKHOLM, Sweden Trademarks
More informationLab 4: Interrupts and Realtime
Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver
More informationNEW CEIBO DEBUGGER. Menus and Commands
NEW CEIBO DEBUGGER Menus and Commands Ceibo Debugger Menus and Commands D.1. Introduction CEIBO DEBUGGER is the latest software available from Ceibo and can be used with most of Ceibo emulators. You will
More informationBridge Cable User s Guide
Bridge Cable User s Guide Table of Contents Overview -------------------------------------------------------------------- 2 Driver Installation --------------------------------------------------------
More informationBasic Linux Command Line Interface Guide
This basic Linux Command-Line Interface (CLI) Guide provides a general explanation of commonly used Bash shell commands for the Barracuda NG Firewall. You can access the command-line interface by connecting
More informationModule 3: Working with C/C++
Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to
More informationFreescale, the Freescale logo and CodeWarrior are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Xtrinsic is a trademark of
Freescale, the Freescale logo and CodeWarrior are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. Xtrinsic is a trademark of Freescale Semiconductor, Inc. All other product or service
More informationLabs instructions for Enabling BeagleBone with TI SDK 5.x
Labs instructions for Enabling BeagleBone with TI SDK 5.x 5V power supply µsd ethernet cable ethernet cable USB cable Throughout this document there will be commands spelled out to execute. Some are to
More informationLesson 1. Introduction to Programming OBJECTIVES
Introduction to Programming If you re new to programming, you might be intimidated by code and flowcharts. You might even wonder how you ll ever understand them. This lesson offers some basic ideas and
More informationEllipse Support. Contents
Ellipse Support Ellipse Support Contents Ellipse Support 2 Commercial In Confidence 3 Preface 4 Mission 5 Scope 5 Introduction 6 What do you need to know about tuning and configuration? 6 How does a customer
More informationEE516: Embedded Software Project 1. Setting Up Environment for Projects
EE516: Embedded Software Project 1. Setting Up Environment for Projects By Dong Jae Shin 2015. 09. 01. Contents Introduction to Projects of EE516 Tasks Setting Up Environment Virtual Machine Environment
More informationUpgrading from TrafficShield 3.2.X to Application Security Module 9.2.3
Upgrading from TrafficShield 3.2.X to Application Security Module 9.2.3 Introduction Preparing the 3.2.X system for the upgrade Installing the BIG-IP version 9.2.3 software Licensing the software using
More informationMalware
reloaded Malware Research Team @ @xabiugarte Motivation Design principles / architecture Features Use cases Future work Dynamic Binary Instrumentation Techniques to trace the execution of a binary (or
More informationAssignment 1: Build Environment
Read the entire assignment before beginning! Submit deliverables to CourSys: https://courses.cs.sfu.ca/ Late penalty is 10% per calendar day (each 0 to 24 hour period past due, max 2 days). This assignment
More informationIT Essentials v6.0 Windows 10 Software Labs
IT Essentials v6.0 Windows 10 Software Labs 5.2.1.7 Install Windows 10... 1 5.2.1.10 Check for Updates in Windows 10... 10 5.2.4.7 Create a Partition in Windows 10... 16 6.1.1.5 Task Manager in Windows
More informationOutline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved
C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview
More informationBooting a LEON system over SpaceWire RMAP. Application note Doc. No GRLIB-AN-0002 Issue 2.1
Template: GQMS-TPLT-1-1-0 Booting a LEON system over SpaceWire RMAP Application note 2017-05-23 Doc. No Issue 2.1 Date: 2017-05-23 Page: 2 of 11 CHANGE RECORD Issue Date Section / Page Description 1.0
More informationTools Basics. Getting Started with Renesas Development Tools R8C/3LX Family
Getting Started with Renesas Development Tools R8C/3LX Family Description: The purpose of this lab is to allow a user new to the Renesas development environment to quickly come up to speed on the basic
More informationCS520 Setting Up the Programming Environment for Windows Suresh Kalathur. For Windows users, download the Java8 SDK as shown below.
CS520 Setting Up the Programming Environment for Windows Suresh Kalathur 1. Java8 SDK Java8 SDK (Windows Users) For Windows users, download the Java8 SDK as shown below. The Java Development Kit (JDK)
More informationChapter 2 Operating-System Structures
This chapter will discuss the following concepts: 2.1 Operating System Services 2.2 User Operating System Interface 2.3 System Calls 2.4 System Programs 2.5 Operating System Design and Implementation 2.6
More informationInControl 2 Software Appliance Setup Guide
InControl 2 Software Appliance Setup Guide (Last updated: 2017-11) Contents 1. Introduction Minimum Hardware Requirements 2. For VMware ESXi 6.0 and ESXi 5.5 (SCSI) Networking Creating InControl and DB
More informationVTRAK E-Class/J-Class Quick Start Guide
VTRAK E-Class/J-Class Quick Start Guide Version.0 Firmware 3.9 008 Promise Technology, Inc. All Rights Reserved. VTrak Quick Start Guide About This Guide This Quick Start Guide shows you how to install
More information10 Steps to Virtualization
AN INTEL COMPANY 10 Steps to Virtualization WHEN IT MATTERS, IT RUNS ON WIND RIVER EXECUTIVE SUMMARY Virtualization the creation of multiple virtual machines (VMs) on a single piece of hardware, where
More informationBasic Linux Command Line Interface Guide
This basic Linux Command-Line Interface (CLI) Guide provides a general explanation of commonly used Bash shell commands for the Barracuda NG Firewall. You can access the command-line interface by connecting
More informationUser Manual. LPC-StickView V3.0. for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick. Contents
User Manual LPC-StickView V3.0 for LPC-Stick (LPC2468) LPC2478-Stick LPC3250-Stick Contents 1 What is the LPC-Stick? 2 2 System Components 2 3 Installation 3 4 Updates 3 5 Starting the LPC-Stick View Software
More informationPengwyn Documentation
Pengwyn Documentation Release 1.0 Silica October 03, 2016 Contents 1 Introduction 3 1.1 Platforms................................................. 3 1.2 Hardware requirements.........................................
More informationQNX Software Development Platform 6.6. Quickstart Guide
QNX Software Development Platform 6.6 QNX Software Development Platform 6.6 Quickstart Guide 2005 2014, QNX Software Systems Limited, a subsidiary of BlackBerry. All rights reserved. QNX Software Systems
More informationIntroduction. This tutorial introduces the following SingleStep features:
Introduction This tutorial introduces the following SingleStep features: Starting a debug session. Watching variables. Setting breakpoints. Modifying breakpoints. Stepping through a program. Changing variables
More informationLaboratory 1 Semester 1 11/12
CS2106 National University of Singapore School of Computing Laboratory 1 Semester 1 11/12 MATRICULATION NUMBER: In this lab exercise, you will get familiarize with some basic UNIX commands, editing and
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Fall 2017
CIS 5512 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Fall 2017 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationBiPAC ADSL USB Modem. User s Manual
BiPAC 7001 ADSL USB Modem User s Manual Chapter 1... 1 1.1 Introducing the BiPAC 7001... 1 1.2 Features of the BiPAC 7001... 1 1.3 Installing Billion ADSL USB Modem... 2 Chapter 2... 3 2.1 Important note
More informationSoftware Quality is Directly Proportional to Simulation Speed
Software Quality is Directly Proportional to Simulation Speed CDNLive! 11 March 2014 Larry Lapides Page 1 Software Quality is Directly Proportional to Test Speed Intuitively obvious (so my presentation
More informationHow to program with Matlab (PART 1/3)
Programming course 1 09/12/2013 Martin SZINTE How to program with Matlab (PART 1/3) Plan 0. Setup of Matlab. 1. Matlab: the software interface. - Command window - Command history - Section help - Current
More informationLAB #7 Linux Tutorial
Gathering information: LAB #7 Linux Tutorial Find the password file on a Linux box Scenario You have access to a Linux computer. You must find the password file on the computer. Objective Get a listing
More informationPico Computing. M 501 / M 503 Getting Started Guide. March 7, Overview 1. 2 System Requirements 1. 3 Ubuntu Linux Configuration 2
Pico Computing M 501 / M 503 Getting Started Guide March 7, 2012 Contents 1 Overview 1 2 System Requirements 1 3 Ubuntu Linux Configuration 2 4 Installing the Pico Software 4 5 Monitoring Cards With purty
More informationResource 2 Embedded computer and development environment
Resource 2 Embedded computer and development environment subsystem The development system is a powerful and convenient tool for embedded computing applications. As shown below, the development system consists
More informationAt the shell prompt, enter idlde
IDL Workbench Quick Reference The IDL Workbench is IDL s graphical user interface and integrated development environment. The IDL Workbench is based on the Eclipse framework; if you are already familiar
More information25. DECUS Symposium THE Application Development Environment for OpenVMS
NetBeans THE Application Development Environment for OpenVMS Sunil Kumaran, Thomas Siebold Agenda What is NetBeans some history Major Features / Demonstrations NetBeans on OpenVMS Questions 5/2/2002 DECUS
More informationEC 413 Computer Organization
EC 413 Computer Organization Review I Prof. Michel A. Kinsy Computing: The Art of Abstraction Application Algorithm Programming Language Operating System/Virtual Machine Instruction Set Architecture (ISA)
More informationManaging VMware ESXi in the Datacenter. Dwarakanath P Rao Sr Partner consultant 6 th November 2008
Managing VMware ESXi in the Datacenter Dwarakanath P Rao Sr Partner consultant 6 th November 2008 Agenda VMware ESXi Overview ESXi Getting Started Case Studies VMware ESXi Overview Next What generation
More informationChapter 2. Operating-System Structures
Chapter 2 Operating-System Structures 2.1 Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationRelease Notes for QNX Neutrino BSP for Renesas SH7785 SDK 1.0.0#
Release Notes for QNX Neutrino 6.4.0 BSP for Renesas SH7785 SDK 1.0.0# System requirements# Target system# QNX Neutrino RTOS 6.4.0 Board version: renesas sdk7785 board 128M AMD / SPANSION MirrorBit flash
More informationVirtual Appliance User s Guide
Cast Iron Integration Appliance Virtual Appliance User s Guide Version 4.5 July 2009 Cast Iron Virtual Appliance User s Guide Version 4.5 July 2009 Copyright 2009 Cast Iron Systems. All rights reserved.
More informationC++ Support Classes (Data and Variables)
C++ Support Classes (Data and Variables) School of Mathematics 2018 Today s lecture Topics: Computers and Programs; Syntax and Structure of a Program; Data and Variables; Aims: Understand the idea of programming
More informationThis guide is used as an entry point into the Petalinux tool. This demo shows the following:
Petalinux Design Entry Guide. This guide is used as an entry point into the Petalinux tool. This demo shows the following: How to create a Linux Image for a Zc702 in Petalinux and boot from the SD card
More informationPathFinder-XD for MIPS Powered Devices. Simulator
v.1.0.6, 15 th January 2013 PathFinder-XD for MIPS Powered Devices Simulator Contents 1. Introduction 2 2. Installation 2 2.1 Windows Installation 2 2.2 Linux Installation 2 3. Using PathFinder-XD with
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationProtoFlex Tutorial: Full-System MP Simulations Using FPGAs
rotoflex Tutorial: Full-System M Simulations Using FGAs Eric S. Chung, Michael apamichael, Eriko Nurvitadhi, James C. Hoe, Babak Falsafi, Ken Mai ROTOFLEX Computer Architecture Lab at Our work in this
More informationInstruction Set Principles and Examples. Appendix B
Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of
More informationStatic routing lab KTH/CSC. Juniper version. Group Nr. Name 1. Name 2. Name 3. Name 4. Date. Grade. Instructor s Signature
KTH/CSC Static routing lab Juniper version Group Nr Name 1 Name 2 Name 3 Name 4 Date Grade Instructor s Signature Table of Contents 1 Goals...3 2 Preparation questions...3 3 Host configuration...4 4 Static
More informationChapter 2: Operating-System Structures
Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System
More informationOracle Application Express: Administration 1-2
Oracle Application Express: Administration 1-2 The suggested course agenda is displayed in the slide. Each lesson, except the Course Overview, will be followed by practice time. Oracle Application Express:
More information1 Preface About this Manual Intended Audience Revision History Document Conventions Version...
Table of Contents 1 Preface... 3 1.1 About this Manual... 3 1.2 Intended Audience... 3 1.3 Revision History... 3 1.4 Document Conventions... 3 1.5 Version... 4 2 Introduction... 5 2.1 Overview... 5 2.2
More informationUnix Introduction to UNIX
Unix Introduction to UNIX Get Started Introduction The UNIX operating system Set of programs that act as a link between the computer and the user. Developed in 1969 by a group of AT&T employees Various
More informationThis is Worksheet and Assignment 12. Disks, Partitions, and File Systems
This is Worksheet and Assignment 12 This is a combined Worksheet and Assignment.. Quizzes and tests may refer to work done in this Worksheet and Assignment; save your answers. You will use a checking program
More informationGeneric Model of I/O Module Interface to CPU and Memory Interface to one or more peripherals
William Stallings Computer Organization and Architecture 7 th Edition Chapter 7 Input/Output Input/Output Problems Wide variety of peripherals Delivering different amounts of data At different speeds In
More informationCSE351: Memory, Data, & Addressing I
CSE351: Memory, Data, & Addressing I CSE 351 Spring 2017 Instructor: Ruth Anderson Teaching Assistants: Dylan Johnson Kevin Bi Linxing Preston Jiang Cody Ohlsen Yufang Sun Joshua Curtis http://xkcd.com/138/
More informationCodewarrior for ColdFire (Eclipse) 10.0 Setup
Codewarrior for ColdFire (Eclipse) 10.0 Setup 1. Goal This document is designed to ensure that your Codewarrior for Coldfire v10.0 environment is correctly setup and to orient you to it basic functionality
More informationKnut Omang Ifi/Oracle 6 Nov, 2017
Software and hardware support for Network Virtualization part 1 Knut Omang Ifi/Oracle 6 Nov, 2017 1 Motivation Goal: Introduction to challenges in providing fast networking to virtual machines Prerequisites:
More informationLab - TCP Traffic Generator
ECE4110 Fall Semester, 2010 Lab - TCP Traffic Generator Assigned: Sep 10, 2010 Due: Sep 20, 2010 Group Number: Member Names: Lab Goals 1. Finish a TCP sockets programs to transmit and receive TCP data.
More informationARM Processors for Embedded Applications
ARM Processors for Embedded Applications Roadmap for ARM Processors ARM Architecture Basics ARM Families AMBA Architecture 1 Current ARM Core Families ARM7: Hard cores and Soft cores Cache with MPU or
More informationOpen Transport User s Guide
apple Open Transport User s Guide K Apple Computer, Inc. 1997 Apple Computer, Inc. All rights reserved. Under the copyright laws, this manual may not be copied, in whole or in part, without the written
More informationCIS Operating Systems I/O Systems & Secondary Storage. Professor Qiang Zeng Spring 2018
CIS 3207 - Operating Systems I/O Systems & Secondary Storage Professor Qiang Zeng Spring 2018 Previous class Memory subsystem How to allocate physical memory? How to do address translation? How to be quick?
More informationConventions in this tutorial
This document provides an exercise using Digi JumpStart for Windows Embedded CE 6.0. This document shows how to develop, run, and debug a simple application on your target hardware platform. This tutorial
More informationUSB 3.0 Dual Port Gigabit. Ethernet Cable
USB 3.0 Dual Port Gigabit Ethernet Cable User Manual Ver. 1.00 All brand names and trademarks are properties of their respective owners. Contents: Chapter 1: Introduction... 3 1.1 Product Introduction...
More informationWA1827 Cloud Programming Workshop. Classroom Setup Guide. Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1
WA1827 Cloud Programming Workshop Classroom Setup Guide Web Age Solutions Inc. Copyright Web Age Solutions Inc. 1 Table of Contents Part 1 - Minimum Hardware Requirements...3 Part 2 - Minimum Software
More informationUsing grub to Boot various Operating Systems
Operating Systems and Systems Integration Using grub to Boot various Operating Systems Contents 1 Aim 2 2 What You Will Do 2 3 Background 2 3.1 Installing grub in MBR from a floppy, and from the OS........
More informationInstalling the Operating System or Hypervisor
If you purchased E-Series Server or NCE Option 1 (E-Series Server or NCE without a preinstalled operating system or hypervisor), you must install an operating system or hypervisor. This chapter includes
More informationConfiguring the Oracle Network Environment. Copyright 2009, Oracle. All rights reserved.
Configuring the Oracle Network Environment Objectives After completing this lesson, you should be able to: Use Enterprise Manager to: Create additional listeners Create Oracle Net Service aliases Configure
More informationLAB EXERCISES (TP) 6 INTER-DOMAIN ROUTING: BGP-4 With Solutions
Name 1: Name 2: COMPUTER NETWORKING LAB EXERCISES (TP) 6 INTER-DOMAIN ROUTING: BGP-4 With Solutions Abstract This lab covers BGP-4, which is the Inter-Domain Routing Protocol of the Internet. You will
More informationIBM Single Sign On for Bluemix Version December Identity Bridge Configuration topics
IBM Single Sign On for Bluemix Version 2.0 28 December 2014 Identity Bridge Configuration topics IBM Single Sign On for Bluemix Version 2.0 28 December 2014 Identity Bridge Configuration topics ii IBM
More informationVirtualization with colinux
Using, installing, and configuring Cooperative Linux Level: Introductory M. Tim Jones (mtj@mtjones.com), Consultant Engineer, Emulex 31 Mar 2007 Virtualization with VmWare, Xen, and Kernel-based Virtual
More informationOperating System Interaction via bash
Operating System Interaction via bash bash, or the Bourne-Again Shell, is a popular operating system shell that is used by many platforms bash uses the command line interaction style generally accepted
More informationBASIC COMPUTER ORGANIZATION. Operating System Concepts 8 th Edition
BASIC COMPUTER ORGANIZATION Silberschatz, Galvin and Gagne 2009 Topics CPU Structure Registers Memory Hierarchy (L1/L2/L3/RAM) Machine Language Assembly Language Running Process 3.2 Silberschatz, Galvin
More informationSystem Debug. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved
System Debug This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Describe GNU Debugger (GDB) functionality Describe Xilinx
More informationBASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I
BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment
More informationLearning vrealize Orchestrator in action V M U G L A B
Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on
More informationChapter 13: I/O Systems. Operating System Concepts 9 th Edition
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations
More informationUSB 2.0 Print Server. User s Manual. Rev. 01 (Jan, 2004) Made In Taiwan
USB 2.0 Print Server User s Manual Rev. 01 (Jan, 2004) Made In Taiwan TABLE OF CONTENTS ABOUT THIS GUIDE... 4 INTRODUCTION... 5 PACKAGE CONTENTS... 6 SYSTEM REQUIREMENTS... 6 GENERAL FEATURES... 7 PRODUCT
More informationEmbedded Linux Architecture
Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory
More informationU-Boot and Linux Kernel Debug using CCSv5
U-Boot and Linux Kernel Debug using CCSv5 In this session we will cover fundamentals necessary to use CCSv5 and a JTAG to debug a TI SDK-based U-Boot and Linux kernel on an EVM platform. LAB: http://processors.wiki.ti.com/index.php/sitara_linux_training:_uboot_linux_debu
More informationLinux Systems Administration Getting Started with Linux
Linux Systems Administration Getting Started with Linux Network Startup Resource Center www.nsrc.org These materials are licensed under the Creative Commons Attribution-NonCommercial 4.0 International
More informationConfiguration Procedures
CHAPTER 3 3.1 Purpose Configuration Procedures This chapter provides information about configuring your Cisco 675. Configuration procedures will vary depending on how your Cisco 675 is already configured.
More informationBefore you start the lab exercises see the lab administrator or EEE3080F tutor to get assigned to your routers.
EEE00F Lab Basics of the Network Lab Student Lab Manual Before you start the lab exercises see the lab administrator or EEE00F tutor to get assigned to your routers. Contents. Resources used in the labs...
More informationCHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.
CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System
More informationCPS122 Lecture: From Python to Java last revised January 4, Objectives:
Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.
More informationPerforming Maintenance Operations
This chapter describes how to back up and restore Cisco Mobility Services Engine (MSE) data and how to update the MSE software. It also describes other maintenance operations. Guidelines and Limitations,
More informationCHAPTER 16 - VIRTUAL MACHINES
CHAPTER 16 - VIRTUAL MACHINES 1 OBJECTIVES Explore history and benefits of virtual machines. Discuss the various virtual machine technologies. Describe the methods used to implement virtualization. Show
More informationNET+Works with GNU Tools Getting Started Guide
NET+Works with GNU Tools Getting Started Guide NET+Works with GNU Tools Getting Started Guide Operating system/version: 6.3 Part number/version: 90000718_C Release date: March 2006 www.digi.com 2006 Digi
More informationRNG-406Uv2. USB 3.0 to Gigabit Ethernet Cable
RNG-406Uv2 USB 3.0 to Gigabit Ethernet Cable Contents: Chapter 1: Introduction... 3 1.1 Product Introduction... 3 1.2 Features... 3 1.3 System Requirements... 4 1.4 Package Contents... 4 Chapter 2: Getting
More information