Reading English Literature on Embedded System Development: Making Embedded Systems: 1. Preface

Organization of This Book:I read nonfiction for amusement. I read a lot more fiction than nonfiction, but still, I like any good book. I wrote this book to be read almost as a story, from cover to cover. The information is technical (extremely so in spots), but the presentation is casual. You don’t need to program along with it to get the material (though trying out the examples and applying the recommendations to your code will give you a deeper understanding).I read nonfiction for amusement. I read a lot more fiction than nonfiction, but still, I like any good book. I wrote this book to be read almost as a story, from cover to cover. The information is technical (extremely so in spots), but the presentation is casual. You don’t need to program along with it to get the material (though trying out the examples and applying the recommendations to your code will give you a deeper understanding).This isn’t intended to be a technical manual where you can skip into the middle and read only what you want. I mean, you can do that, but you’ll miss a lot of information with the search-and-destroy method. You’ll also miss the jokes, which is what I really would feel bad about. I hope that you go through the book in order. Then, when you are hip-deep in alligators and need to implement a function fast, pick up the book, flip to the right chapter, and, like a wizard, whip up a command table or fixed point implementation of variance.This book is not a technical manual where you can randomly flip to the middle and only read what you want. Of course, you can do that, but using this “search-and-destroy” reading method will cause you to miss a lot of information. Moreover, you will also miss the jokes, which is what I really feel bad about. I hope you can read this book in order. This way, when you find yourself hip-deep in alligators and need to quickly implement a function, you can pick up this book, flip to the corresponding chapter, and, like a wizard, whip up a command table or complete the fixed-point implementation of variance.

  • “skip into the middle” vividly describes the behavior of “skimming or randomly flipping through the middle content,” highlighting that this book is not suitable for fragmented reading.
  • “search-and-destroy method” literally means “search and destroy,” here metaphorically referring to the “impatient search-style reading method,” which is vivid and slightly mocking.
  • “hip-deep in alligators” is an English idiom that literally means “deep in a group of alligators up to the hips,” usually used to metaphorically describe “being in a tricky situation, overwhelmed, or surrounded by numerous troubles.”
  • “whip up” means “to quickly create or finish,” paired with “like a wizard,” it reflects both the practicality of the methods in the book and adds a light-hearted tone.

Or you can skip around, reading about solutions to your crisis of the week. I understand. Sometimes you just have to solve the problem. If that is the case, I hope you find the chapter interesting enough to come back when you are done fighting that fire.Or you can skip around, reading about solutions to your crisis of the week. I understand. Sometimes you just have to solve the problem. If that is the case, I hope you find the chapter interesting enough to come back when you are done fighting that fire.The order of chapters is:Chapter 1, Introduction What is an embedded system? How is development different from traditional software?Chapter 2, Creating a System Architecture How to create (and document) a system architecture.Chapter 3, Getting Your Hands on the Hardware Hardware/software integration during board bring-up can be scary, but there are some ways to make it smoother.Chapter 4, Outputs, Inputs, and Timers The embedded system version of “Hello World” is making an LED blink. It can be more complex than you might expect.Chapter 5, Managing the Flow of Activity This chapter describes how to set up your system, where to use interrupts (and how not to), and how to make a state machine.Chapter 6, Communicating with Peripherals Different serial communication forms rule embedded systems (UART, SSP, SPI, I2C, USB, etc.). Networking, bit-bang, and parallel buses are not to be discounted.Chapter 7, Updating Code When you need to replace the program running in your processor, you have a few options ranging from internal updaters to building your own solution.Chapter 8, Doing More with Less This covers methods for reducing consumption of RAM, code space, and processor cycles.Chapter 9, Math Most embedded systems need to do some form of analysis. Understanding how mathematical operations and floating points work (and don’t work) will make your system faster.Chapter 10, Reducing Power Consumption From reducing processor cycles to system architecture suggestions, this chapter will help you if your system runs on batteries.The order of chapters is as follows:Chapter 1, Introduction

  • What is an embedded system? How is development different from traditional software?

Chapter 2, Creating a System Architecture

  • How to create (and document) a system architecture.

Chapter 3, Getting Your Hands on the Hardware

  • Hardware/software integration during board bring-up can be scary, but there are some ways to make it smoother.

Chapter 4, Outputs, Inputs, and Timers

  • The embedded system version of “Hello World” is making an LED blink. It can be more complex than you might expect.

Chapter 5, Managing the Flow of Activity

  • This chapter describes how to set up your system, where to use interrupts (and how not to), and how to make a state machine.

Chapter 6, Communicating with Peripherals

  • Different serial communication forms rule embedded systems (UART, SSP, SPI, I2C, USB, etc.). Networking, bit-bang, and parallel buses are not to be discounted.

Chapter 7, Updating Code

  • When you need to replace the program running in your processor, you have a few options ranging from internal updaters to building your own solution.

Chapter 8, Doing More with Less

  • This covers methods for reducing consumption of RAM, code space, and processor cycles.

Chapter 9, Math

  • Most embedded systems need to do some form of analysis. Understanding how mathematical operations and floating points work (and don’t work) will make your system faster.

Chapter 10, Reducing Power Consumption

  • From reducing processor cycles to system architecture suggestions, this chapter will help you if your system runs on batteries.

The information is presented in the order that I want my engineers to start thinking about these things. It may seem odd that architecture is first, considering that most people don’t get to it until later in their careers. However, I want the people I work with to be thinking about how their code fits in the system long before I want them to worry about optimization.This content is presented in the order that I want my engineers to start thinking about these issues. It may seem strange to place architecture first, considering that most people only encounter it later in their careers. However, I want those I work with to think about how their code fits into the overall system long before they start worrying about optimization.To be continued…To be continued…References:

[1]. “Making Embedded Systems” by Elecia White. Southeast University Press.

Previous reviews:Reading English Literature on Embedded System Development: Making Embedded Systems: 1. Preface_1Reading English Literature on Embedded System Development: Making Embedded Systems: 1. Preface_2Click the following business card to follow this public account: If you like it, remember to “share” and “recommend” or “like” or “leave a message“.

Leave a Comment