Home Page Icon
Home Page
Table of Contents for
List of Tables
Close
List of Tables
by Klaus Elk
Embedded Software for the IoT
Cover
Title Page
Copyright
About De|G PRESS
Contents
Preface
1 Introduction
1.1 The tale of the internet
1.2 The cloud
1.3 Internet of things
1.4 IoT related terms
Part I: The basic system
2 How to select an OS
2.1 No OS and strictly polling
2.2 Co-routines
2.3 Interrupts
2.4 A small real-time kernel
2.5 A nonpreemptive operating system
2.6 Full OS
2.7 Open source, GNU licensing, and Linux
2.8 OS constructs
2.9 Further reading
3 Which CPU to use?
3.1 Overview
3.2 CPU core
3.3 CPU architecture
3.4 Word size
3.5 MMU-memory managed unit
3.6 RAM
3.7 Cache
3.8 EEPROM and flash
3.9 FPU-floating point unit
3.10 DSP
3.11 Crypto engine
3.12 Upgrade path
3.13 Second sources
3.14 Price
3.15 Export control
3.16 RoHS-compliance
3.17 Evaluation boards
3.18 Tool-chain
3.19 Benchmarking
3.20 Power consumption
3.21 JTAG debugger
3.22 Peripherals
3.23 Make or buy
3.24 Further reading
Part II: Best practice
4 Software architecture
4.1 Design for performance
4.2 The fear of the white paper
4.3 Layers
4.4 Not just APIs—more files
4.5 Object model (containment hierarchy)
4.6 Case: CANOpen
4.7 Message passing
4.8 Middleware
4.9 Case: architectural reuse in LAN-XI
4.10 Understanding C
4.11 Further reading
5 Debug tools
5.1 Simulator
5.2 ICE – in-circuit emulator
5.3 Background or JTAG debugger
5.4 Target stand-in
5.5 Debugger
5.6 strace
5.7 Debugging without special tools
5.8 Monitoring messages
5.9 Test traffic
5.10 Further reading
6 Code maintenance
6.1 Poor man’s backup
6.2 Version control—and git
6.2.1 GitHub and other cloud solutions
6.3 Build and virtualization
6.4 Static code analysis
6.5 Inspections
6.6 Tracking defects and features
6.7 Whiteboard
6.8 Documentation
6.9 Yocto
6.10 OpenWRT
6.11 Further reading
Part III: IoT technologies
7 Networks
7.1 Introduction to the internet protocols
7.2 Cerf and Kahn-internet as net of nets
7.3 Life of a packet
7.4 Life before the packet
7.5 Getting an IP address
7.6 DHCP
7.7 Network masks, CIDR, and special ranges
7.8 Reserved IP ranges
7.9 NAT
7.10 DNS
7.11 Introducing HTTP
7.12 REST
7.13 TCP sockets on IPv4 under Windows
7.14 IP fragmentation
7.15 Introducing IPv6 addresses
7.16 TCP Sockets on IPv6 under Linux
7.17 Data transmission
7.18 UDP sockets
7.19 Case: UDP on IPv6
7.20 Application layer protocols
7.21 Alternatives to the socket API
7.22 Ethernet cabling
7.23 Physical layer problems
7.24 Further reading
8 Network tools
8.1 Finding the IP address
8.2 The switch as a tool
8.2.1 Mirroring
8.2.2 Statistics
8.2.3 Simulating lost frames
8.2.4 Pause frames
8.3 Tap
8.4 SNMP
8.5 Wireshark
8.6 Network commands
8.7 Further reading
9 Wireless networks
9.1 Introduction
9.2 Wi-Fi basics
9.3 The access point as a repeater
9.4 How is speed calculated?
9.5 Case: Wi-Fi data transmission
9.6 Case: beacons
9.7 Case: a strange lagging
9.8 Aggregated frames
9.9 Channel assessment
9.10 Bluetooth low energy
9.11 Certification
9.12 Further reading
10 Security
10.1 Introduction
10.2 The goals of a hacker
10.3 Network security concepts
10.4 Hash function
10.5 Symmetric key encryption
10.6 Case: enigma
10.7 Asymmetric key encryption
10.8 Digital signature
10.9 Certificates
10.10 Message authentication code
10.11 Nonce
10.12 Secure socket communication
10.13 OpenSSL
10.14 Case: heartbleed
10.15 Case: Wi-Fi security
10.16 Software Crypto libraries
10.17 Trusted platform module
10.18 Embedded systems
10.19 Vulnerabilities in embedded systems
10.20 Export control
10.21 Further reading
11 Digital filters
11.1 Why digital?
11.2 Why filters?
11.3 About the sampling frequency
11.4 Time and frequency domains
11.5 Analog and digital definitions
11.6 More duality
11.7 A well-behaving system
11.8 IIR filter basics
11.9 Implementing IIR
11.10 FIR filter basics
11.11 Implementing FIR
11.12 Dynamic range versus precision
11.13 Integers
11.14 Fixed-point arithmetic
11.15 Q-notation and multiplication
11.16 Division
11.17 BCD
11.18 Further reading
12 Statistical process control
12.1 Introduction
12.2 Important terms
12.3 Control charts
12.4 Finding the control limits
12.5 Subgroups
12.6 Case: insulation plates
12.7 EWMA control charts
12.8 Process capability index
12.9 Further reading
Epilogue
List of Figures
List of Tables
Listings
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
List of Figures
Next
Next Chapter
Listings
List of Tables
Table 2.1
Task management—from simple to advanced
.
Table 2.2
OS primitives for scheduling
.
Table 3.1
Overview of concepts related to CPU-choice
.
Table 4.1
Important CANOpen message types
.
Table 6.1
Robocopy parameters
.
Table 6.2
Selected git commands
.
Table 7.1
The most important reserved IP address ranges
.
Table 7.2
Sample NAT table
.
Table 7.3
The main HTTP commands, and what they do
.
Table 7.4
REST rules
.
Table 7.5
How IPv4 and IPv6 notation differs
.
Table 7.6
Functional differences between IPv4 and IPv6
.
Table 7.7
Examples on addresses in the two systems
.
Table 7.8
The three types of -casts
.
Table 7.9
TCP versus UDP
.
Table 7.10
Parameters on application layer protocols
.
Table 7.11
Names and terms used with Ethernet cables
.
Table 7.12
EIA-568A wiring scheme
.
Table 8.1
Network analyzer pro icons
.
Table 8.2
Network commands (Linux specific name in parentheses)
.
Table 9.1
A selection of wireless networks
.
Table 9.2
Parameters on application layer protocols
.
Table 9.3
Wireshark terms for Wi-Fi nodes
.
Table 9.4
Wi-Fi data rate calculation
.
Table 9.5
Bluetooth Classic versus BLE
.
Table 9.6
Bluetooth Smart connectivity
.
Table 10.1
Security terms
.
Table 10.2
Secure hashes described in NIST FIPS-180-4
.
Table 10.3
Crypto++ – an overview
.
Table 10.4
Trusted platform module (TPM) v2.0
.
Table 11.1
Sample filter parameters
.
Table 11.2
Examples of 16-bit signed integers
.
Table 12.1
Statistical symbols
.
Table 12.2
Control chart definitions
.
Table 12.3
WECO alarm rules from NIST
.
Table 12.4
Control chart constants for X-Bar, R- and s-charts
.
Table 12.5
Ten days of testing—five samples each day
.
Table 12.6
X-Bar and R control lines
.
Table 12.7
X-Bar and s control lines
.
Table 12.8
Subgroup data with means and ranges
.
Table 12.9
C
pk
and related values
.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset