万本电子书0元读

万本电子书0元读

顶部广告

Embedded Systems Architecture电子书

售       价:¥

7人正在读 | 0人评论 6.2

作       者:Daniele Lacamera

出  版  社:Packt Publishing

出版时间:2018-05-30

字       数:49.1万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Learn to design and develop safe and reliable embedded systems About This Book ? Identify and overcome challenges in embedded environments ? Understand the steps required to increase the security of IoT solutions ? Build safety-critical and memory-safe parallel and distributed embedded systems Who This Book Is For If you’re a software developer or designer wanting to learn about embedded programming, this is the book for you. You’ll also find this book useful if you’re a less experienced embedded programmer willing to expand your knowledge. What You Will Learn ? Participate in the design and definition phase of an embedded product ? Get to grips with writing code for ARM Cortex-M microcontrollers ? Build an embedded development lab and optimize the workflow ? Write memory-safe code ? Understand the architecture behind the communication interfaces ? Understand the design and development patterns for connected and distributed devices in the IoT ? Master multitask parallel execution patterns and real-time operating systems In Detail Embedded systems are self-contained devices with a dedicated purpose. We come across a variety of fields of applications for embedded systems in industries such as automotive, telecommunications, healthcare and consumer electronics, just to name a few. Embedded Systems Architecture begins with a bird's eye view of embedded development and how it differs from the other systems that you may be familiar with. You will first be guided to set up an optimal development environment, then move on to software tools and methodologies to improve the work flow. You will explore the boot-up mechanisms and the memory management strategies typical of a real-time embedded system. Through the analysis of the programming interface of the reference microcontroller, you'll look at the implementation of the features and the device drivers. Next, you'll learn about the techniques used to reduce power consumption. Then you will be introduced to the technologies, protocols and security aspects related to integrating the system into IoT solutions. By the end of the book, you will have explored various aspects of embedded architecture, including task synchronization in a multi-threading environment, and the safety models adopted by modern real-time operating systems. Style and approach Software developers and designers with experience in different fields, and who want to learn about embedded programming, will benefit from this book. Junior and less experienced embedded programmers willing to expand their knowledge in the field will also find it useful.
目录展开

Title Page

Copyright and Credits

Embedded Systems Architecture

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Embedded Systems – A Pragmatic Approach

Domain definition

Embedded Linux systems

Low-end 8-bit microcontrollers

Hardware architecture

Understanding the challenge

Multithreading

RAM

Flash memory

Interfaces and peripherals

Asynchronous UART-based serial communication

SPI

I2C

USB

Connected systems

The reference platform

ARM reference design

The Cortex-M microprocessor

Summary

Work Environment and Workflow Optimization

Workflow overview

C compiler

Linker

Build automation

Debugger

Embedded workflow

The GCC toolchain

The cross-compiler

Compiling the compiler

Linking the executable

Binary format conversion

Interacting with the target

The GDB session

Validation

Functional tests

Hardware tools

Testing off-target

Emulators

Summary

Architectural Patterns

Configuration management

Revision control

Tracking activities

Code reviews

Continuous integration

Source code organization

Hardware abstraction

Middleware

Application code

The life cycle of an embedded project

Defining project steps

Prototyping

Refactoring

API and documentation

Summary

The Boot-Up Procedure

The interrupt vector table

Startup code

Reset handler

Allocating the stack

Fault handlers

Memory layout

Building and running the boot code

The makefile

Running the application

Multiple boot stages

Bootloader

Building the image

Debugging a multi-stage system

Shared libraries

Summary

Memory Management

Memory mapping

Memory model and address space

The code region

The RAM regions

Peripheral-access regions

The system region

Order of memory transactions

The execution stack

Stack placement

Stack overflows

Stack painting

Heap management

Custom implementation

Using newlib

Limiting the heap

Multiple memory pools

Common heap usage errors

The memory protection unit

MPU configuration registers

Programming the MPU

Summary

General-Purpose Peripherals

The interrupt controller

Peripherals interrupt configuration

System time

Adjusting the flash wait states

Clock configuration

Clock distribution

Enabling the SysTick

Generic timers

General-purpose I/O

Pin configuration

Digital output

PWM

Digital input

Interrupt-based input

Analog input

The watchdog

Summary

Local Bus Interfaces

Introducing serial communication

Clock and symbol synchronization

Bus wiring

Programming the peripherals

UART-based asynchronous serial bus

Protocol description

Programming the controller

Hello world!

Newlib printf

Receiving data

Interrupt-based input/output

SPI bus

Protocol description

Programming the transceiver

SPI transactions

Interrupt-based SPI transfers

I2C bus

Protocol description

Clock stretching

Multi-master

Programming the controller

Interrupt handling

Summary

Low-Power Optimizations

System configuration

Hardware design

Clock management

Voltage control

Low-power operating modes

Deep-sleep configuration

Stop mode

Standby mode

Wake-up intervals

Measuring power

Development boards

Designing low-power embedded applications

Replacing busy loops with sleep mode

Deep sleep during longer inactivity periods

Choosing the clock speed

Power state transitions

Summary

Distributed Systems and IoT Architecture

Network interfaces

Media Access Control

Ethernet

Wi-Fi

Low-Rate Wireless Personal Area Networks (LR-WPAN)

LR-WPAN industrial link-layer extensions

6LoWPAN

Bluetooth

Mobile networks

Low-power Wide Area Networks (LPWANs)

Selecting the appropriate network interfaces

The Internet Protocols

TCP/IP implementations

Network device drivers

Running the TCP/IP stack

Socket communication

Mesh networks and dynamic routing

Transport Layer Security

Securing socket communication

Application protocols

Message protocols

REST architectural pattern

Distributed systems – single points of failure

Summary

Parallel Tasks and Scheduling

Task management

The task block

Context switch

Creating tasks

Scheduler implementation

Supervisor calls

Cooperative scheduler

Concurrency and timeslices

Blocking tasks

Waiting for resources

Real-time scheduling

Synchronization

Semaphore

Mutex

Priority inversion

System resource separation

Privilege levels

Memory segmentation

System calls

Summary

Embedded Operating Systems

Real-time application platforms

FreeRTOS

ChibiOS

Low-power IoT systems

Contiki OS

Riot OS

POSIX-compliant systems

NuttX

Frosted

The future of safe embedded systems

Process isolation – Tock

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部