The Device Tree: Plug and play for Embedded Linux
|
|
|
- Damian Tyler
- 9 years ago
- Views:
Transcription
1 The Device Tree: Plug and play for Embedded Linux December 3rd, 2012 This work is released under Creative Common s CC0 license version 1.0 or later. To the extent possible under law, the author has waived all copyright and related or neighboring rights to this work.
2 1 Introduction
3 Introduction
4 Embedded processors System on Chip (SoC) FPGAs May have the same instruction set, but number of cores, memory size, frequency may vary... different peripherals on the bus... different boards No BIOS to convey this information.
5 Sources for hardware information The kernel command line The kernel configuration Hardcoded in the boot sources Header files The device tree The result: See arch/arm/
6
7 Device tree forms The device tree comes in three forms: A text file (*.dts) source A binary blob (*.dtb) binary blob A file system: /proc/device-tree runtime The blob is loaded into RAM before the kernel kicks off.
8 Names and acronyms Device Tree Flattened Device Tree (FDT) Open Firmware (OF)
9 Syntax Introduction Curly brackets: Hierarchy (directory) The hierarchy s (node) name just before curly bracket Assignments: Content (file) Strings and integers: C-style (0x hex notation) Arrays of integers ( cells ) within <and > Lists of values separated by commas C-style comments C-style labels
10 A sample device tree.dts listing /dts-v1/; / { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,zynq-zed"; interrupt-parent = <&gic>; model = "Xillinux for Zedboard"; aliases { serial0 = &ps7_uart_1; chosen { bootargs = "consoleblank=0 root=/dev/mmcblk0p2 rw rootwait earlyprintk"; linux,stdout-path = "/axi@0/uart@e "; }; cpus { [... CPU definitions... ] ps7_ddr_0: memory@0 { device_type = "memory"; reg = < 0x0 0x >;
11 A sample device tree.dts listing (cont.) ps7_axi_interconnect_0: { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,ps7-axi-interconnect-1.00.a", "simple-bus"; ranges ; gic: interrupt-controller@f8f01000 { #interrupt-cells = < 3 >; compatible = "arm,cortex-a9-gic"; interrupt-controller ; reg = < 0xf8f x1000 >,< 0xf8f x100 >; pl310: pl310-controller@f8f02000 { arm,data-latency = < >; arm,tag-latency = < >; cache-level = < 2 >; cache-unified ; compatible = "arm,pl310-cache"; interrupts = < >; reg = < 0xf8f x1000 >; [... more peripheral definitions... ]
12 Accessing /proc/device-tree # hexdump -C /proc/device-tree/#size-cells # hexdump -C /proc/device-tree/axi@0/compatible c 6e 78 2c d d 69 6e 74 xlnx,ps7-axi-int f 6e 6e d 31 2e e 61 erconnect-1.00.a d 70 6c 65 2d simple-bus c # cat /proc/device-tree/axi@0/compatible xlnx,ps7-axi-interconnect-1.00.asimple-bus Note the Big Endian representation of the integer!
13 Compilation and reverse compilation The compiler is part of the Linux kernel tree. Compiles from any to any format Source to blob: $ scripts/dtc/dtc -I dts -O dtb -o /path/to/my-tree.dtb /path/to/my-tree.dts Blob to source: $ scripts/dtc/dtc -I dtb -O dts -o /path/to/fromdtb.dts /path/to/found_this.dtb The /proc/device pseudo filesystem can be converted to source as well
14
15 A starter Introduction /dts-v1/; / { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,zynq-zed"; interrupt-parent = <&gic>; model = "Xillinux for Zedboard"; aliases { serial0 = &ps7_uart_1; chosen { bootargs = "consoleblank=0 root=/dev/mmcblk0p2 rw rootwait earlyprintk"; linux,stdout-path = "/axi@0/uart@e "; };
16 CPUs Introduction cpus { #address-cells = <1>; #cpus = <0x2>; #size-cells = <0>; ps7_cortexa9_0: cpu@0 { clock-frequency = < >; compatible = "xlnx,ps7-cortexa a"; d-cache-line-size = <0x20>; d-cache-size = <0x8000>; device_type = "cpu"; i-cache-line-size = <0x20>; i-cache-size = <0x8000>; model = "ps7_cortexa9,1.00.a"; reg = <0>; timebase-frequency = < >; xlnx,cpu-1x-clk-freq-hz = <0x69f6bcb>; xlnx,cpu-clk-freq-hz = <0x27bc86c0>; ps7_cortexa9_1: cpu@1 { [... repeated, of course... ]
17 Memory Introduction ps7_ddr_0: { device_type = "memory"; reg = < 0x0 0x >; 0x = 512M
18 Peripherals Introduction ps7_axi_interconnect_0: { #address-cells = <1>; #size-cells = <1>; compatible = "xlnx,ps7-axi-interconnect-1.00.a", "simple-bus"; ranges ; gic: interrupt-controller@f8f01000 { #interrupt-cells = < 3 >; compatible = "arm,cortex-a9-gic"; interrupt-controller ; reg = < 0xf8f x1000 >,< 0xf8f x100 >; pl310: pl310-controller@f8f02000 { arm,data-latency = < >; arm,tag-latency = < >; cache-level = < 2 >; cache-unified ; compatible = "arm,pl310-cache"; interrupts = < >; reg = < 0xf8f x1000 >; [... ]
19
20 Its entry in the device tree xillybus_0: { compatible = "xlnx,xillybus-1.00.a"; reg = < 0x x1000 >; interrupts = < >; interrupt-parent = <&gic>; xlnx,max-burst-len = <0x10>; xlnx,native-data-width = <0x20>; xlnx,slv-awidth = <0x20>; xlnx,slv-dwidth = <0x20>; xlnx,use-wstrb = <0x1>;
21 Kernel code: Load me! static struct of_device_id xillybus_of_match[] devinitdata = { {.compatible = "xlnx,xillybus-1.00.a", }, {} }; MODULE_DEVICE_TABLE(of, xillybus_of_match); [... ] static struct platform_driver xillybus_platform_driver = {.probe = xilly_drv_probe,.remove = xilly_drv_remove,.driver = {.name = "xillybus",.owner = THIS_MODULE,.of_match_table = xillybus_of_match, }, }; platform driver register(&xillybus platform driver) must be called in the modules initialization function.
22 The probe method A sanity check. Not clear if it s really needed: static int devinit xilly_drv_probe(struct platform_device *op) { const struct of_device_id *match; match = of_match_device(xillybus_of_match, &op->dev); if (!match) return -EINVAL;
23 The probe method (cont.) Accessing registers: int rc = 0; struct resource res; void *registers; rc = of_address_to_resource(&op->dev.of_node, 0, &res); if (rc) { /* Fail */ } if (!request_mem_region(res.start, resource_size(&res), "xillybus")) { /* Fail */ } registers = of_iomap(op->dev.of_node, 0); if (!registers) { /* Fail */ }
24 The probe method (cont.) Register the interrupt handler: irq = irq_of_parse_and_map(op->dev.of_node, 0); rc = request_irq(irq, xillybus_isr, 0, "xillybus", op->dev); This relates to: interrupts = < >; interrupt-parent = <&gic>; in the device tree. The numbers meaning is driver dependent (and sometimes completely off-beat even if it works).
25 The probe method (cont.) Grab this piece of data from the device tree: xlnx,slv-awidth = <0x20>; Kernel code: void *ptr; int value; ptr = of_get_property(op->dev.of_node, "xlnx,slv-awidth", NULL); if (!ptr) { /* Couldn t find the entry */ } value = be32_to_cpup(ptr);
26
27 Conclusions Introduction It s simple! It makes sense It s useful It s a winner but... Nobody has cared to explain how it works Therefore it s messy A lot of useless stuff nobody dares to delete
28 Sources Introduction include/linux/of.h (and of_*.h) in the kernel tree
29 Thank you! Introduction Questions?
OpenAMP Framework for Zynq Devices
OpenAMP Framework for Zynq Devices Getting Started Guide Revision History The following table shows the revision history for this document. Date Version Revision 06/23/2016 2015.4 Changed version to match
Common clock framework: how to use it
Embedded Linux Conference 2013 Common clock framework: how to use it Gregory CLEMENT Free Electrons [email protected] Free Electrons. Kernel, drivers and embedded Linux development, consulting,
The Freescale Embedded Hypervisor
November, 2010 The Freescale Embedded Hypervisor Jacques Landry Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack, CoreNet, the Energy Efficient Solutions logo, Flexis, MXC, Platform in a Package, Processor Expert,
Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems
Fastboot Techniques for x86 Architectures Marcus Bortel Field Application Engineer QNX Software Systems Agenda Introduction BIOS and BIOS boot time Fastboot versus BIOS? Fastboot time Customizing the boot
Embedded Linux Platform Developer
Embedded Linux Platform Developer Course description Advanced training program on Embedded Linux platform development with comprehensive coverage on target board bring up, Embedded Linux porting, Linux
Accessing I2C devices with Digi Embedded Linux 5.2 example on Digi Connect ME 9210
Accessing I2C devices with Digi Embedded Linux 5.2 example on Digi Connect ME 9210 Document History Date Version Change Description 17/09/2010 Initial entry/outline 24/02/2011 V1.1 Retested with latest
The Linux Kernel Device Model
The Linux Kernel Device Model Patrick Mochel Open Source Development Lab [email protected] Abstract Linux kernel development follows a simple guideline that code should be only as complex as absolutely necessary.
Lesson 06: Basics of Software Development (W02D2
Lesson 06: Basics of Software Development (W02D2) Balboa High School Michael Ferraro Lesson 06: Basics of Software Development (W02D2 Do Now 1. What is the main reason why flash
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
DragonBoard 410c based on Qualcomm Snapdragon 410 processor Peripherals Programming Guide, Linux Android
Qualcomm Technologies, Inc. DragonBoard 410c based on Qualcomm Snapdragon 410 processor Peripherals Programming Guide, Linux Android LM80-P0436-5 Rev E December 2015 2015 Qualcomm Technologies, Inc. All
The embedded Linux quick start guide lab notes
The embedded Linux quick start guide lab notes Embedded Linux Conference Europe 2010 Date: Tuesday 26th October Location: DeVere University of Arms Hotel, Cambridge Room: Churchill Suite Presenter: Chris
Design and Implementation of the Heterogeneous Multikernel Operating System
223 Design and Implementation of the Heterogeneous Multikernel Operating System Yauhen KLIMIANKOU Department of Computer Systems and Networks, Belarusian State University of Informatics and Radioelectronics,
Performance Monitor on PowerQUICC II Pro Processors
Freescale Semiconductor Application Note Document Number: AN3359 Rev. 0, 05/2007 Performance Monitor on PowerQUICC II Pro Processors by Harinder Rai Network Computing Systems Group Freescale Semiconductor,
Embedded Trusted Computing on ARM-based systems
1 / 26 Embedded Trusted Computing on ARM-based systems Martin Schramm, M.Eng. 10.04.2014 Agenda 2 of 26 [email protected] Embedded computing platforms have become omnipresent intend to alleviate
Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31
White Paper Zerene Sangma Platform Application Engineer Intel Corporation Upgrading Intel AMT 5.0 drivers to Linux kernel v2.6.31 For Intel Q45 and Intel GM45 based embedded platforms June 2010 323961
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX
Freescale Semiconductor, Inc. Document Number: AN5127 Application Note Rev. 1, 05/2015 How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX 1 Introduction This document describes how to customize
Virtuozzo Virtualization SDK
Virtuozzo Virtualization SDK Programmer's Guide February 18, 2016 Copyright 1999-2016 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH Vordergasse 59 8200
ADL User Guide for Open AT V4.10
ADL User Guide for Open AT V4.10 Revision: 002 Date: September 2006 ADL User Guide for Open AT V4.10 Revision: 002 Date: Reference: WM_DEV_OAT_UGD_019 Confidential Page: 1 / 220 Document History Index
Freescale Semiconductor, I
nc. Application Note 6/2002 8-Bit Software Development Kit By Jiri Ryba Introduction 8-Bit SDK Overview This application note describes the features and advantages of the 8-bit SDK (software development
Operating System Manual. Realtime Communication System for netx. Kernel API Function Reference. www.hilscher.com.
Operating System Manual Realtime Communication System for netx Kernel API Function Reference Language: English www.hilscher.com rcx - Kernel API Function Reference 2 Copyright Information Copyright 2005-2007
Hacking Linux-Powered Devices. Stefan Arentz <[email protected]>
Hacking Linux-Powered Devices Stefan Arentz Part I Introduction What is Embedded Linux? Embedded usually means that it is a device with limited and specialized capabilities. It is not
Binary storage of graphs and related data
EÖTVÖS LORÁND UNIVERSITY Faculty of Informatics Department of Algorithms and their Applications Binary storage of graphs and related data BSc thesis Author: Frantisek Csajka full-time student Informatics
Application Note: AN00141 xcore-xa - Application Development
Application Note: AN00141 xcore-xa - Application Development This application note shows how to create a simple example which targets the XMOS xcore-xa device and demonstrates how to build and run this
Lecture 22: C Programming 4 Embedded Systems
Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human
CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study
CS 377: Operating Systems Lecture 25 - Linux Case Study Guest Lecturer: Tim Wood Outline Linux History Design Principles System Overview Process Scheduling Memory Management File Systems A review of what
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications
The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul [email protected] Overview Brief introduction to Body Sensor Networks BSN Hardware
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game
Mobile App Design Project #1 Java Boot Camp: Design Model for Chutes and Ladders Board Game Directions: In mobile Applications the Control Model View model works to divide the work within an application.
Data Types in the Kernel
,ch11.3440 Page 288 Thursday, January 20, 2005 9:25 AM CHAPTER 11 Data Types in the Kernel Chapter 11 Before we go on to more advanced topics, we need to stop for a quick note on portability issues. Modern
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
TEST CHAPTERS 1 & 2 OPERATING SYSTEMS
TEST CHAPTERS 1 & 2 OPERATING SYSTEMS True/False Indicate whether the statement is true or false. 1. Changes that you make in virtual machines do not affect your physical computer. 2. The size of a bus
Top 10 Bug-Killing Coding Standard Rules
Top 10 Bug-Killing Coding Standard Rules Michael Barr & Dan Smith Webinar: June 3, 2014 MICHAEL BARR, CTO Electrical Engineer (BSEE/MSEE) Experienced Embedded Software Developer Consultant & Trainer (1999-present)
UG103.8 APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS
APPLICATION DEVELOPMENT FUNDAMENTALS: TOOLS This document provides an overview of the toolchain used to develop, build, and deploy EmberZNet and Silicon Labs Thread applications, and discusses some additional
BIOS and CMOS. Overview. The Function of BIOS. The Bus
Overview BIOS and CMOS In this chapter, you will learn to Explain the function of BIOS Distinguish among various CMOS setup utility options Describe BIOS and device drives Troubleshoot the Power-On Self
Open Flow Controller and Switch Datasheet
Open Flow Controller and Switch Datasheet California State University Chico Alan Braithwaite Spring 2013 Block Diagram Figure 1. High Level Block Diagram The project will consist of a network development
Embedded Linux Development Guide
Embedded Linux Development Guide Revision: January 14, 2013 1300 NE Henley Court, Suite 3 Pullman, WA 99163 (509) 334 6306 Voice (509) 334 6300 Fax This Embedded Linux Development Guide will provide some
EMC NetWorker Module for Microsoft for Windows Bare Metal Recovery Solution
EMC NetWorker Module for Microsoft for Windows Bare Metal Recovery Solution Version 8.2 Service Pack 1 User Guide 302-001-235 REV 01 Copyright 2007-2015 EMC Corporation. All rights reserved. Published
13. Publishing Component Information to Embedded Software
February 2011 NII52018-10.1.0 13. Publishing Component Information to Embedded Software NII52018-10.1.0 This document describes how to publish SOPC Builder component information for embedded software tools.
EXPLORING LINUX KERNEL: THE EASY WAY!
EXPLORING LINUX KERNEL: THE EASY WAY! By: Ahmed Bilal Numan 1 PROBLEM Explore linux kernel TCP/IP stack Solution Try to understand relative kernel code Available text Run kernel in virtualized environment
i.mx USB loader A white paper by Tristan Lelong
i.mx USB loader A white paper by Tristan Lelong Introduction This document aims to explain the serial downloader feature of i.mx SoCs on Linux (available across i.mx family starting with i.mx23). This
3. Programming the STM32F4-Discovery
1 3. Programming the STM32F4-Discovery The programming environment including the settings for compiling and programming are described. 3.1. Hardware - The programming interface A program for a microcontroller
The Advanced JTAG Bridge. Nathan Yawn [email protected] 05/12/09
The Advanced JTAG Bridge Nathan Yawn [email protected] 05/12/09 Copyright (C) 2008-2009 Nathan Yawn Permission is granted to copy, distribute and/or modify this document under the terms of the
Android Sensors 101. 2014 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. CC-BY Google
Android Sensors 101 Atilla Filiz [email protected] 2014 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License CC-BY Google These slides are made available to you under
How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
Intel Do-It-Yourself Challenge Lab 2: Intel Galileo s Linux side Nicolas Vailliet
Intel Do-It-Yourself Challenge Lab 2: Intel Galileo s Linux side Nicolas Vailliet www.intel-software-academic-program.com [email protected] Intel Software 2014-02-01 Prerequisites and objectives
Keil C51 Cross Compiler
Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation
The Embedded Linux Quick Start Guide In the Beginning... Embedded Linux Conference Europe 2010
The In the Beginning... Chris Simmonds Embedded Linux Conference Europe 2010 Copyright 2010, 2net Limited 1 Overview Genesis of a Linux project The four elements Tool chain; boot loader; kernel; user space
Xenomai: integration and qualification of a real time operating system ARMadeus Systems
: integration and qualification of a real time operating system ARMadeus Systems Gwenhaël 8 july 2009 1 / 22 Plan 1 2 3 of in a Buildroot environment 4 5 6 2 / 22 : basics Real time extension for Linux.
Software based Finite State Machine (FSM) with general purpose processors
Software based Finite State Machine (FSM) with general purpose processors White paper Joseph Yiu January 2013 Overview Finite state machines (FSM) are commonly used in electronic designs. FSM can be used
Object Oriented Software Design II
Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February
Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
Chapter 14 MS-DOS Operating System
Understanding Operating Systems, Fifth Edition 14-1 Chapter 14 MS-DOS Operating System At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion Topics Additional
AN1229. Class B Safety Software Library for PIC MCUs and dspic DSCs OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION
Class B Safety Software Library for PIC MCUs and dspic DSCs AN1229 Authors: Veena Kudva & Adrian Aur Microchip Technology Inc. OVERVIEW OF THE IEC 60730 STANDARD INTRODUCTION This application note describes
CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX
CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX Multiple Choice: 1. Processing information involves: A. accepting information from the outside world. B. communication with another computer. C. performing arithmetic
VoIP Laboratory B How to re flash an IP04
VoIP Laboratory B How to re flash an IP04 (cc) Creative Commons Share Alike Non Commercial Attribution 3 This lab guides you through the process of re flashing an IP04. To re flash a unit is useful when
Sistemi Operativi. Lezione 25: JOS processes (ENVS) Corso: Sistemi Operativi Danilo Bruschi A.A. 2015/2016
Sistemi Operativi Lezione 25: JOS processes (ENVS) 1 JOS PCB (ENV) 2 env_status ENV_FREE: Indicates that the Env structure is inactive, and therefore on the env_free_list. ENV_RUNNABLE: Indicates that
Applying Clang Static Analyzer to Linux Kernel
Applying Clang Static Analyzer to Linux Kernel 2012/6/7 FUJITSU COMPUTER TECHNOLOGIES LIMITED Hiroo MATSUMOTO 管 理 番 号 1154ka1 Copyright 2012 FUJITSU COMPUTER TECHNOLOGIES LIMITED Abstract Now there are
Priority Based Implementation in Pintos
Priority Based Implementation in Pintos Deepa D 1, Nivas K S 2, Preethi V 3 1, 2, 3 Students M-Tech, Dept. of Information Technology, SNS College of Engg., Coimbatore. Abstract Pintos is a simple operating
A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware
A+ Guide to Managing and Maintaining Your PC, 7e Chapter 1 Introducing Hardware Objectives Learn that a computer requires both hardware and software to work Learn about the many different hardware components
EMC NetWorker Module for Microsoft for Windows Bare Metal Recovery Solution
EMC NetWorker Module for Microsoft for Windows Bare Metal Recovery Solution Version 9.0 User Guide 302-001-755 REV 01 Copyright 2007-2015 EMC Corporation. All rights reserved. Published in USA. Published
STM32JAVA. Embedded Java Solutions for STM32
STM32JAVA Embedded Java Solutions for STM32 What is STM32Java? Solution to develop and to deploy software applications on STM32F0 to STM32F7 microcontrollers using Java Help to reduce the total cost of
Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu
Introduction to Operating Systems Indiana University Chen Yu Perspective of the Computer System Software A general piece of software with common functionalities that support many applications. Example:
RS-485 Protocol Manual
RS-485 Protocol Manual Revision: 1.0 January 11, 2000 RS-485 Protocol Guidelines and Description Page i Table of Contents 1.0 COMMUNICATIONS BUS OVERVIEW... 1 2.0 DESIGN GUIDELINES... 1 2.1 Hardware Design
Research and Design of Universal and Open Software Development Platform for Digital Home
Research and Design of Universal and Open Software Development Platform for Digital Home CaiFeng Cao School of Computer Wuyi University, Jiangmen 529020, China [email protected] Abstract. With the development
Memory Systems. Static Random Access Memory (SRAM) Cell
Memory Systems This chapter begins the discussion of memory systems from the implementation of a single bit. The architecture of memory chips is then constructed using arrays of bit implementations coupled
Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization
Lesson Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization AE3B33OSD Lesson 1 / Page 2 What is an Operating System? A
Do More With Less. On Driver-less Interfacing with Embedded Devices. Peter Korsgaard <[email protected]>
Do More With Less On Driver-less Interfacing with Embedded Devices Peter Korsgaard NSLU2-Linux Peter Korsgaard Driver-less Interfacing? Interfacing without having to install any custom
Secure Boot on i.mx50, i.mx53, and i.mx 6 Series using HABv4
Freescale Semiconductor, Inc. Document Number: AN4581 Application Note Rev. 1, 10/2015 Secure Boot on i.mx50, i.mx53, and i.mx 6 Series using HABv4 1. Introduction 1.1. Purpose Executing trusted and authentic
Hardware monitoring on Fujitsu mainboards. Hardware monitoring on Fujitsu mainboards
Hardware monitoring on Fujitsu mainboards i Hardware monitoring on Fujitsu mainboards Hardware monitoring on Fujitsu mainboards ii Copyright 2013 Fujitsu Hardware monitoring on Fujitsu mainboards iii COLLABORATORS
Secure Boot on i.mx25, i.mx35, and i.mx51 using HABv3
Freescale Semiconductor Application Note Document Number: AN4547 Rev. 0, 10/2012 Secure Boot on i.mx25, i.mx35, and i.mx51 using HABv3 by Freescale Semiconductor, Inc. This application note explains how
Intel RAID Controller Troubleshooting Guide
Intel RAID Controller Troubleshooting Guide A Guide for Technically Qualified Assemblers of Intel Identified Subassemblies/Products Intel order number C18781-001 September 2, 2002 Revision History Troubleshooting
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device
Adapting the PowerPC 403 ROM Monitor Software for a 512Kb Flash Device IBM Microelectronics Dept D95/Bldg 060 3039 Cornwallis Road Research Triangle Park, NC 27709 Version: 1 December 15, 1997 Abstract
Pre-tested System-on-Chip Design. Accelerates PLD Development
Pre-tested System-on-Chip Design Accelerates PLD Development March 2010 Lattice Semiconductor 5555 Northeast Moore Ct. Hillsboro, Oregon 97124 USA Telephone: (503) 268-8000 www.latticesemi.com 1 Pre-tested
APPLICATION NOTE. RTD Linux Support Overview. SWM-640000020 Rev C
APPLICATION NOTE RTD Linux Support Overview ISO9001 and AS9100 Certified SWM-640000020 Rev C RTD Embedded Technologies, Inc. 103 Innovation Blvd. State College, PA 16803-0906 Phone: +1-814-234-8087 FAX:
Camera Sensor Driver Development And Integration
Camera Sensor Driver Development And Integration Introduction Camera enables multimedia on phones. It is going to be an important human machine interface, adding to augmented reality possibilities on embedded
MPLAB Harmony System Service Libraries Help
MPLAB Harmony System Service Libraries Help MPLAB Harmony Integrated Software Framework v1.08 All rights reserved. This section provides descriptions of the System Service libraries that are available
Using EDA Databases: Milkyway & OpenAccess
Using EDA Databases: Milkyway & OpenAccess Enabling and Using Scripting Languages with Milkyway and OpenAccess Don Amundson Khosro Khakzadi 2006 LSI Logic Corporation 1 Outline History Choice Of Scripting
Operating Systems (Linux)
G51CSA Computer Systems Architecture Operating Systems (Linux) Red Hat Jon Masters About the speaker Jon Masters is a Senior Software Engineer at Red Hat History in embedded devices with
Byte Ordering of Multibyte Data Items
Byte Ordering of Multibyte Data Items Most Significant Byte (MSB) Least Significant Byte (LSB) Big Endian Byte Addresses +0 +1 +2 +3 +4 +5 +6 +7 VALUE (8-byte) Least Significant Byte (LSB) Most Significant
Software Development Environment
Software Development Environment Zynq 14.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able to: Understand the basic
Application Note AN0008. Data Logging Extension. For. Venus 8 GPS Receiver
Application Note AN0008 Data Logging Extension For Venus 8 GPS Receiver Ver 1.4.17 July 25, 2014 Introduction The data logging option for the SkyTraq GPS receiver firmware allows storage of position, velocity,
Semantic Analysis: Types and Type Checking
Semantic Analysis Semantic Analysis: Types and Type Checking CS 471 October 10, 2007 Source code Lexical Analysis tokens Syntactic Analysis AST Semantic Analysis AST Intermediate Code Gen lexical errors
Assignment 5: Adding and testing a new system call to Linux kernel
Assignment 5: Adding and testing a new system call to Linux kernel Antonis Papadogiannakis HY345 Operating Systems Course 1 Outline Introduction: system call and Linux kernel Emulators and Virtual Machines
What else can you do with Android? Inside Android. Chris Simmonds. Embedded Linux Conference Europe 2010. Copyright 2010, 2net Limited.
What else can you do with Android? Chris Simmonds Embedded Linux Conference Europe 2010 Copyright 2010, 2net Limited 1 Overview Some background on Android Quick start Getting the SDK Running and emulated
Migration of Process Credentials
C H A P T E R - 5 Migration of Process Credentials 5.1 Introduction 5.2 The Process Identifier 5.3 The Mechanism 5.4 Concluding Remarks 100 CHAPTER 5 Migration of Process Credentials 5.1 Introduction Every
ACP ThinManager Tech Notes ThinManager and PXE Boot
ACP ThinManager Tech Notes ThinManager and PXE Boot Use the F1 button on any page of a ThinManager wizard to launch Help for that page. Visit www.thinmanager.com/technotes/ to download the manual, manual
Kernel Synchronization and Interrupt Handling
Kernel Synchronization and Interrupt Handling Oliver Sengpie, Jan van Esdonk Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultt fr Mathematik, Informatik und Naturwissenschaften Universitt
Chapter 4. System Software. What You Will Learn... Computers Are Your Future. System Software. What You Will Learn... Starting the Computer
What You Will Learn... Computers Are Your Future Chapter 4 The two major components of operating system software Why a computer isn t useful without an operating system The five basic functions of an operating
1 Classical Universal Computer 3
Chapter 6: Machine Language and Assembler Christian Jacob 1 Classical Universal Computer 3 1.1 Von Neumann Architecture 3 1.2 CPU and RAM 5 1.3 Arithmetic Logical Unit (ALU) 6 1.4 Arithmetic Logical Unit
KITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php [email protected] [email protected] Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
In-System Programmer USER MANUAL RN-ISP-UM RN-WIFLYCR-UM-.01. www.rovingnetworks.com 1
RN-WIFLYCR-UM-.01 RN-ISP-UM In-System Programmer 2012 Roving Networks. All rights reserved. Version 1.1 1/19/2012 USER MANUAL www.rovingnetworks.com 1 OVERVIEW You use Roving Networks In-System-Programmer
Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.
Chapter 8 Objectives Chapter 8 s and Utility Programs Describe the two types of software Understand the startup process for a personal computer Describe the term user interface Explain features common
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University. Multitasking ARM-Applications with uvision and RTX
EE8205: Embedded Computer System Electrical and Computer Engineering, Ryerson University Multitasking ARM-Applications with uvision and RTX 1. Objectives The purpose of this lab is to lab is to introduce
PKCS #11 opencryptoki for Linux HOWTO
PKCS #11 opencryptoki for Linux HOWTO Kristin Thomas [email protected] This HOWTO describes the implementation of the RSA Security Inc. Public Key Cryptographic Standard #11 (PKCS #11) cryptoki application
Computer Systems II. Unix system calls. fork( ) wait( ) exit( ) How To Create New Processes? Creating and Executing Processes
Computer Systems II Creating and Executing Processes 1 Unix system calls fork( ) wait( ) exit( ) 2 How To Create New Processes? Underlying mechanism - A process runs fork to create a child process - Parent
Lecture 3. Arrays. Name of array. c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] c[10] c[11] Position number of the element within array c
Lecture 3 Data structures arrays structs C strings: array of chars Arrays as parameters to functions Multiple subscripted arrays Structs as parameters to functions Default arguments Inline functions Redirection
SmartFusion csoc: Basic Bootloader and Field Upgrade envm Through IAP Interface
Application Note AC372 SmartFusion csoc: Basic Bootloader and Field Upgrade envm Through IAP Interface Table of Contents Introduction................................................ 1 Introduction to Field
