Parallel Port Complete


Book Description

This book is for programmers, hardware designers, and anyone who uses the PC's parallel port to communicate with printers and other peripheral devices. The tips, tools, and examples in this complete reference will save you time, spark new ideas for your own projects, and help you use all of a port's abilities - including the new high-speed, bidirectional modes.




Programming the Parallel Port


Book Description

Why purchase expensive add-on cards or bus interfaces when you can develop effective and economical data acquisition and process controls using C programs? Using the under-employed printer adapter (that is, the parallel port of your PC), you can turn your computer into a powerful tool for developing microprocessor applications. Learn how to build a




USB Embedded Hosts


Book Description

Developers who want to access USB devices from their embedded systems will find a helpful resource in USB Embedded Hosts: The Developer’s Guide. This new book from the author of USB Complete shows how small systems can take advantage of the same wealth of USB devices available to conventional PCs. The book begins with a review of USB host communication protocols. Readers then learn which USB host requirements are relaxed for embedded systems and what new requirements some embedded systems must meet. To help in selecting a development platform, the book explores available hardware and software for USB host communications in small systems. The heart of the book focuses on communicating with USB devices. The topics (with example code) include USB drives, keyboards, virtual serial ports, network bridges, mics, speakers, video cameras, and printers, plus devices that don’t fit defined USB classes. Also discussed are systems that support both USB host and device functions. The example code is written for the BeagleBoard-xM open development board using a distribution of Linux targeted to small systems. Also covered is how to use Linux commands and utilities to learn about, monitor, and debug communications with USB devices.




Introduction to Embedded Systems, Second Edition


Book Description

An introduction to the engineering principles of embedded systems, with a focus on modeling, design, and analysis of cyber-physical systems. The most visible use of computers and software is processing information for human consumption. The vast majority of computers in use, however, are much less visible. They run the engine, brakes, seatbelts, airbag, and audio system in your car. They digitally encode your voice and construct a radio signal to send it from your cell phone to a base station. They command robots on a factory floor, power generation in a power plant, processes in a chemical plant, and traffic lights in a city. These less visible computers are called embedded systems, and the software they run is called embedded software. The principal challenges in designing and analyzing embedded systems stem from their interaction with physical processes. This book takes a cyber-physical approach to embedded systems, introducing the engineering concepts underlying embedded systems as a technology and as a subject of study. The focus is on modeling, design, and analysis of cyber-physical systems, which integrate computation, networking, and physical processes. The second edition offers two new chapters, several new exercises, and other improvements. The book can be used as a textbook at the advanced undergraduate or introductory graduate level and as a professional reference for practicing engineers and computer scientists. Readers should have some familiarity with machine structures, computer programming, basic discrete mathematics and algorithms, and signals and systems.




Linux Device Drivers


Book Description

A guide to help programmers learn how to support computer peripherals under the Linux operating system, and how to develop new hardware under Linux. This third edition covers all the significant changes to Version 2.6 of the Linux kernel. Includes full-featured examples that programmers can compile and run without special hardware




Data Parallel C++


Book Description

Learn how to accelerate C++ programs using data parallelism. This open access book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels. It is full of practical advice, detailed explanations, and code examples to illustrate key topics. Data parallelism in C++ enables access to parallel resources in a modern heterogeneous system, freeing you from being locked into any particular computing device. Now a single C++ application can use any combination of devices—including GPUs, CPUs, FPGAs and AI ASICs—that are suitable to the problems at hand. This book begins by introducing data parallelism and foundational topics for effective use of the SYCL standard from the Khronos Group and Data Parallel C++ (DPC++), the open source compiler used in this book. Later chapters cover advanced topics including error handling, hardware-specific programming, communication and synchronization, and memory model considerations. Data Parallel C++ provides you with everything needed to use SYCL for programming heterogeneous systems. What You'll Learn Accelerate C++ programs using data-parallel programming Target multiple device types (e.g. CPU, GPU, FPGA) Use SYCL and SYCL compilers Connect with computing’s heterogeneous future via Intel’s oneAPI initiative Who This Book Is For Those new data-parallel programming and computer programmers interested in data-parallel programming using C++.




Programming Massively Parallel Processors


Book Description

Programming Massively Parallel Processors: A Hands-on Approach, Second Edition, teaches students how to program massively parallel processors. It offers a detailed discussion of various techniques for constructing parallel programs. Case studies are used to demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. This guide shows both student and professional alike the basic concepts of parallel programming and GPU architecture. Topics of performance, floating-point format, parallel patterns, and dynamic parallelism are covered in depth. This revised edition contains more parallel programming examples, commonly-used libraries such as Thrust, and explanations of the latest tools. It also provides new coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more; increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism; and two new case studies (on MRI reconstruction and molecular visualization) that explore the latest applications of CUDA and GPUs for scientific research and high-performance computing. This book should be a valuable resource for advanced students, software engineers, programmers, and hardware engineers. New coverage of CUDA 5.0, improved performance, enhanced development tools, increased hardware support, and more Increased coverage of related technology, OpenCL and new material on algorithm patterns, GPU clusters, host programming, and data parallelism Two new case studies (on MRI reconstruction and molecular visualization) explore the latest applications of CUDA and GPUs for scientific research and high-performance computing




Embedded Systems Design


Book Description

In this new edition the latest ARM processors and other hardware developments are fully covered along with new sections on Embedded Linux and the new freeware operating system eCOS. The hot topic of embedded systems and the internet is also introduced. In addition a fascinating new case study explores how embedded systems can be developed and experimented with using nothing more than a standard PC. * A practical introduction to the hottest topic in modern electronics design* Covers hardware, interfacing and programming in one book* New material on Embedded Linux for embedded internet systems




Computer Busses


Book Description

As more and more equipment is interface or'bus' driven, either by the use of controllers or directly from PCs, the question of which bus to use is becoming increasingly important both in industry and in the office. 'Computer Busses' has been designed to help choose the best type of bus for the particular application. There are several books which cover individual busses, but none which provide a complete guide to computer busses. The author provides a basic theory of busses and draws examples and applications from real bus case studies. Busses are analysed using from a top-down approach, helping the undergraduate electrical or computer engineer to chose the right type of bus for their particular application. This book is essential reading for students of software engineering and electronic design, as well as for those working in disciplines such as production engineering or process control. It will also be a handy reference book for professional engineers, systems designers, consultants and those working in technical support. Provides a complete guide to computer busses Contains application-specific programme examples Plenty of real-life case studies




USB Complete


Book Description

This guide takes the pain out of designing for this popular interface with specific, detailed examples that show how to develop USB devices and the applications that communicate with them. How the USB communicates with the PC, deciding if a project should use a USB interface, choosing a USB controller chip for peripheral design, and determining code with Windows applications are covered in detail.