C Programming Language, 2nd Edition
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have...
Linux Driver Development for Embedded Processors - Second Edition: Learn to develop Linux embedded drivers with kernel 4
LINUX DRIVER DEVELOPMENT FOR EMBEDDED PROCESSORS - SECOND EDITION - The flexibility of Linux embedded, the availability of powerful, energy efficient processors designed for embedded computing and the low cost of new processors are encouraging many industrial companies to come up with new developments based on embedded processors. Current engineers have in their hands powerful tools for developing applications previously unimagined, but they need to understand the countless features that...
Essential Linux Device Drivers
“Probably the most wide ranging and complete Linux device driver book I’ve read.”
--Alan Cox, Linux Guru and Key Kernel Developer
“Very comprehensive and detailed, covering almost every single Linux device driver type.”
--Theodore Ts’o, First Linux Kernel Developer in North America and Chief Platform Strategist of the Linux Foundation
The Most Practical Guide to Writing Linux Device Drivers
USB Complete: Everything You Need to Develop Custom USB Peripherals (Complete Guides series)
Now in its third edition, this developer's guide to the Universal Serial Bus (USB) interface covers all aspects of project development, including device programming and host application software. This book shows how to transform the information in the USB 3.0 specifications into functioning devices and application software that communicates with the devices. To help build a foundation for design decisions, developers are guided in selecting device-controller hardware. Developers will also...
Hacker's Delight
In Hacker’s Delight, Second Edition, Hank Warren once again compiles an irresistible collection of programming hacks: timesaving techniques, algorithms, and tricks that help programmers build more elegant and efficient software, while also gaining deeper insights into their craft. Warren’s hacks are eminently practical, but they’re also intrinsically interesting, and sometimes unexpected, much like the solution to a great puzzle. They are, in a word, a delight to any programmer who is...
Linux Kernel Programming Essentials: Learn to Build, Debug, and Optimize Kernel Modules and Device Drivers for Professio
Understanding Linux Network Internals: Guided Tour to Networking on Linux
If you've ever wondered how Linux carries out the complicated tasks assigned to it by the IP protocols -- or if you just want to learn about modern networking through real-life examples -- Understanding Linux Network Internals is for you.
Like the popular O'Reilly book, Understanding the Linux Kernel, this book clearly explains the underlying concepts and teaches you how to follow the actual C code that implements it. Although some background in the TCP/IP protocols is helpful, you can learn...
Test-Driven Development for Embedded C (Pragmatic Programmers)
Another day without Test-Driven Development means more time wasted chasing bugs and watching your code deteriorate. You thought TDD was for someone else, but it's not! It's for you, the embedded C programmer. TDD helps you prevent defects and build software with a long useful life. This is the first book to teach the hows and whys of TDD for C programmers.TDD is a modern programming practice C developers need to know. It's a different way to program---unit tests are written in a tight...
Practical UML Statecharts in C/C++: Event-Driven Programming for Embedded Systems
Practical UML Statecharts in C/C++ Second Edition bridges the gap between high-level abstract concepts of the Unified Modeling Language (UML) and the actual programming aspects of modern hierarchical state machines (UML statecharts). The book describes a lightweight, open source, active object (actor) framework, called QP that enables direct manual coding UML statecharts and concurrent event-driven applications in C or C++. This book is presented in two parts. In Part I, you get a practical...
Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C: Third Edition
The book introduces basic programming of ARM Cortex-M cores in assembly and C at the register level, and the fundamentals of embedded system design. It presents basic concepts such as data representations (integer, fixed-point, floating-point), assembly instructions, stack, and implementing basic controls and functions of C language at the assembly level. It covers advanced topics such as interrupts, mixing C and assembly, direct memory access (DMA), system timers (SysTick), multi-tasking,...
Mastering Embedded Linux Programming: Unleash the full potential of Embedded Linux
Key Features
- Discover how to build and configure reliable embedded Linux devices
- This book has been updated to include Linux 4.9 and Yocto Project 2.2 (Morty)
- This comprehensive guide covers the remote update of devices in the field and power management
Embedded Linux runs many of the devices we use every day, from smart TVs to WiFi routers, test equipment to industrial controllers - all of them have Linux at their heart. Linux is a core technology in the implementation of the...
TI Tiva ARM Programming For Embedded Systems: Programming ARM Cortex-M4 TM4C123G with C (Mazidi & Naimi ARM)
1) Our ARM book series The ARM CPU is licensed and produced by hundreds of companies. The ARM Assembly language instructions and architectures are standardized and all the licensees must follow them. The first volume of this series (ARM Assembly Language Programming & Architecture by Mazidi & Naimi) covers the Assembly language programming, instructions, and architecture of the ARM and can be used with any ARM chip, regardless of the chip maker. Since the licensees are free to design and...
Embedded Software Development for the Internet Of Things: The Basics, the Technologies and Best Practices
Details can be found on the web - when you know what to look for The aim of this book is to help you understand the technologies behind the devices used in the Internet Of Things. This is done with a mixture of theory, examples and 'war-stories'. This book may be read by senior students, but it is more likely to be read by programmers and developers, who have done some programming of PC's in Windows or Linux, and are now faced with developing devices for the Internet Of Things. Basic...
Python for Microcontrollers: Getting Started with MicroPython
Program Your Own MicroPython projects with ease―no prior programming experience necessary!
This DIY guide provides a practical introduction to microcontroller programming with MicroPython. Written by an experienced electronics hobbyist, Python for Microcontrollers: Getting Started with MicroPython features eight start-to-finish projects that clearly demonstrate each technique. You will learn how to use sensors, store data, control motors and other devices, and work with expansion boards....
Fast and Effective Embedded Systems Design: Applying the ARM mbed
Fast and Effective Embedded Systems Design is a fast-moving introduction to embedded systems design, applying the innovative ARM mbed and its web-based development environment. Each chapter introduces a major topic in embedded systems, and proceeds as a series of practical experiments, adopting a "learning through doing" strategy. Minimal background knowledge is needed to start. C/C++ programming is applied, with a step-by-step approach which allows you to get coding quickly. Once the basics...
Effective Coding with VHDL: Principles and Best Practice (Mit Press)
This book addresses an often-neglected aspect of the creation of VHDL designs. A VHDL description is also source code, and VHDL designers can use the best practices of software development to write high-quality code and to organize it in a design. This book presents this unique set of skills, teaching VHDL designers of all experience levels how to apply the best design principles and coding practices from the software world to the world of hardware. The concepts introduced here will help...
Freescale ARM Cortex-M Embedded Programming (Mazidi & Naimi ARM)
The Freescale KL25Z is a popular ARM microcontroller designed and marketed by the Freescale, which is now part of NXP Corp. It comes with some powerful peripherals such as ADC, Timer, SPI, I2C, UART, and so on. Due to popularity of ARM architecture, many semiconductor design companies are moving away from proprietary architecture and adopting the ARM as the CPU of choice in all their designs. Why this book? Currently there is no other textbook for Freescale KL25Z microcontroller. This...
ARM Assembly Language Programming & Architecture (Mazidi & Naimi ARM)
Who uses ARM? Currently ARM CPU is licensed and produced by more than 200 companies and is the dominant CPU chip in both cell phones and tablets. Given its RISC architecture and powerful 32-bit instructions set, it can be used for both 8-bit and 32-bit embedded products. The ARM corp. has already defined the 64-bit instruction extension and for that reason many Laptop and Server manufactures are introducing ARM-based Laptop and Servers. Who will use our textbook? This book is intended...
Modern Assembly Language Programming with the ARM Processor
Modern Assembly Language Programming with the ARM Processor carefully explains the concepts of assembly language programming, slowly building from simple examples towards complex programming on bare-metal embedded systems. Considerable emphasis is put on showing how to develop good, structured assembly code.
More advanced topics, such as fixed and floating point mathematics, optimization, and the ARM VFP and NEON extensions are also covered, helping users understand representations of, and...








