Open Source in Embedded System Development
This paper introduces the huge range of free and open source software available to the embedded software developer. Hardware modeling, software tool chains, operating systems (RTOS and Linux), middleware and applications are all covered. Today open source is spreading to the hardware world. The paper addresses the advantages and risks associated with using free and open source software, including the issues of quality, support and licensing.
Demystifying digital signal processing (DSP) programming: The ease in realizing implementations with TI DSPs
Introduced by Texas Instruments over thirty years ago, the digital signal processor (DSP) has evolved in its implementation from a standalone processor to a multicore processing element and has continued to extend in its range of applications. The breadth of software development tools for the DSP has also expanded to accommodate diverse sets of programmers. From small, low power, yet “smart” devices with applications such as voice and image recognition, to multicore, high-performance compute platforms performing real-time data analytics, the opportunities to achieve the low-power processing efficiencies of DSPs are nearly endless. The TI DSP has benefited from a relatively unique tool suite evolution making it easy and effective for the general programmer and the signal processing expert alike to quickly develop their application code. This paper addresses how TI DSP users are able to achieve the high performance afforded by the TI DSP architecture, in an efficient, easy-to-use development environment.
Arduino Microcontroller Guide
The Arduino microcontroller is an easy to use yet powerful single board computer that has gained considerable traction in the hobby and professional market. The Arduino is open-source, which means hardware is reasonably priced and development software is free. This guide is for students in ME 2011, or students anywhere who are confronting the Arduino for the first time. For advanced Arduino users, prowl the web; there are lots of resources.
Introduction to Arduino
The purpose of this book is to get you started on the road to creating things using micro-controllers. We will discuss only enough electronics for you to make the circuits, and only enough programming for you to get started. The focus will be on your making things. It is my hope that as you go through this book you will be flooded with ideas of things that you can make.
Electrical Ground Rules Part 3
Best Practices for Grounding Your Electrical Equipment Examining the role of ground as a voltage stabilizer and transient limiter, along with tips on improving safety and signal integrity (Part 3 of 3)
Electrical Ground Rules Part 2
Best Practices for Grounding Your Electrical Equipment Examining our use of ground as protection, and how ground fault circuit interrupter devices operate to protect us from severe shock (Part 2 of 3)
Electrical Ground Rules Part 1
Best Practices for Grounding Your Electrical Equipment A look at circuit grounding and its importance to you, as well as the US AC power system and its use of earth ground (Part 1 of 3)
What’s a Multicore Microcontroller?
This tutorial answers the question “What’s a multicore microcontroller?”
New Life for Embedded Systems in the Internet of Things
The Internet of Things (IoT) is no longer a fanciful vision. It is very much with us, in everything from factory automation to on-demand entertainment. Yet by most accounts, the full potential of interconnected systems and intelligent devices for changing the way we work and live has barely been tapped. Up until now, IoT software solutions have largely had to be built from scratch with a high degree of customization to specific requirements, which has driven up the cost and complexity of development and deterred many prospective entrants to the market. What have been missing are developer tools that alleviate the costs associated with building the foundational infrastructure—the “plumbing” of their solutions—so they can focus on optimizing the core functionality and bring solutions to market more quickly with less cost. Wind River® is addressing these challenges with new solutions that have the potential to expand the market for IoT by reducing the cost and complexity of development. This document outlines the challenges that IoT poses for developers, and how Wind River solutions can help overcome them.
Freescale Trust Computing and Security in the Smart Grid
With the increasing deployment of automated technical solutions in the implementation of automated metering reading (AMR), advanced metering infrastructure (AMI) and smart grid infrastructure, possibilities of security attacks like data hacking, introducing malware in the system and cyber attacks are on the rise as well. Vulnerabilities in AMI devices include non-secure data buses, serial connections or remote access to debug port. The question arises: how can data security and customer privacy in smart meters and smart energy gateways be ensured? This paper talks about how trusted computing helps resolve security issues in implementing the smart grid by providing a clear idea of what elements of the system are trusted—and to what level and why. Freescale solutions that embed trusted computing are also covered.
C++ Tutorial
These tutorials explain the C++ language from its basics up to the newest features of ANSI-C++, including basic concepts such as arrays or classes and advanced concepts such as polymorphism or templates. The tutorial is oriented in a practical way, with working example programs in all sections to start practicing each lesson right away
Real-time Image Processing on Low Cost Embedded Computers
In 2012 a federal mandate was imposed that required the FAA to integrate unmanned aerial systems (UAS) into the national airspace (NAS) by 2015 for civilian and commercial use. A significant driver for the increasing popularity of these systems is the rise in open hardware and open software solutions which allow hobbyists to build small UAS at low cost and without specialist equipment. This paper describes our work building, evaluating and improving performance of a vision-based system running on an embedded computer onboard such a small UAS. This system utilises open source software and open hardware to automatically land a multi-rotor UAS with high accuracy. Using parallel computing techniques, our final implementation runs at the maximum possible rate of 30 frames per second. This demonstrates a valid approach for implementing other real-time vision based systems onboard UAS using low power, small and economical embedded computers.
Real-Time Operating Systems and Programming Languages for Embedded Systems
Section 1 describes the main characteristics that a real-time operating system should have.
Section 2 discusses the scope of some of the more well known RTOSs.
Section 3 introduces the languages used for real-time programming and compares the main characteristics.
Section 4 presents and compares different alternatives for the implementation of real-time Java.
Introduction to Embedded Systems - A Cyber-Physical Systems Approach
This book strives to identify and introduce the durable intellectual ideas of embedded systems as a technology and as a subject of study. The emphasis is on modeling, design, and analysis of cyber-physical systems, which integrate computing, networking, and physical processes. This book is intended for students at the advanced undergraduate level or the introductory graduate level, and for practicing engineers and computer scientists who wish to understand the engineering principles of embedded systems.
PIC Microcontrollers - Programming in C
If you haven’t done it so far then it’s high time to learn what the microcontrollers are and how they operate. Numerous illustrations and practical examples along with detailed description of the PIC16F887 will make you enjoy your work with the PIC microcontrollers
Introduction to Microcontrollers
This text has been developed for the introductory courses on microcontrollers taught by the Institute of Computer Engineering at the Vienna University of Technology. It introduces undergraduate students to the field of microcontrollers – what they are, how they work, how they interface with their I/O components, and what considerations the programmer has to observe in hardware-based and embedded programming. This text is not intended to teach one particular controller architecture in depth, but should rather give an impression of the many possible architectures and solutions one can come across in today’s microcontrollers. We concentrate, however, on small 8-bit controllers and their most basic features, since they already offer enough variety to achieve our goals.
Interrupt handling in an ARM processor
This document is going to guide you at every step as you sit down to design the interrupt handling in software for an ARM system.
Getting Started with C Programming for the ATMEL AVR Microcontrollers
This tutorial provides information on the tool and the basic steps for programming the Atmel AVR microcontrollers using C. It is aimed at people who are new to this family of microcontrollers. The Atmel STK500 development board and the ATmega16 chip are used in this tutorial; however, it is easy to adopt the information given here for other AVR chips.
An Engineer's Guide to the LPC2100 Series
This book is intended as a hands-on guide for anyone planning to use the Philips LPC2000 family of microcontrollers in a new design. It is laid out both as a reference book and as a tutorial. It is assumed that you have some experience in programming microcontrollers for embedded systems and are familiar with the C language. The bulk of technical information is spread over the first four chapters, which should be read in order if you are completely new to the LPC2000 and the ARM7 CPU.
Open Source in Embedded System Development
This paper introduces the huge range of free and open source software available to the embedded software developer. Hardware modeling, software tool chains, operating systems (RTOS and Linux), middleware and applications are all covered. Today open source is spreading to the hardware world. The paper addresses the advantages and risks associated with using free and open source software, including the issues of quality, support and licensing.