Index

As this ebook edition doesn't have fixed pagination, the page numbers below are hyperlinked for reference only, based on the printed edition of this book.

A

activation functions 31

Advanced Micro Devices (AMD) 47

Alexa Voice Service (AVS) 36

AliOS Things

reference link 27

Amazon FreeRTOS

reference link 27

Amazon Machine Image (AMI) 71, 124, 187

reference link 124

Amazon Machine Instances (AMIs) 218

Amazon Web Services (AWS) 38

Amazon Web Services Elastic Compute Cloud (AWS EC2) 49

analog-to-digital converters (ADCs) 20

anomaly detection example

reference link 124

anomaly detection, ML use cases

build 126, 127

environment setup 124, 125

run 127-129

application programming interface (API) 26, 50

Arduino Due 58

Arduino IDE 57

download link 58

arguments

building 178, 179

Arm-2D project 229

reference link 229

Arm Compiler 6 (AC6) 54

Arm Compiler for Embedded 54

reference link 54

Arm Compiler for Embedded FuSa 55

reference link 55

Arm Cortex-M0+ 4

Arm Cortex-M33 processor 4

Arm Development Studio 57

reference link 57

Arm Fast Models 48

reference link 48

Arm Functional Safety Run-Time System (FuSa RTS) 33

components 33

FuSa C Library 33

FuSa CMSIS-Core 33

FuSa Event Recorder 33

FuSa RTX RTOS 33

Safety Package 33

Arm Internet Protocol (Arm IP) 48

Arm Open-IoT SDK 228

reference link 228

Arm projects

2D graphics library project 228, 229

IoT SDK 228

Open-CMSIS-CDI 228

reference link 228

Arm Virtual Hardware (AVH) 50, 121, 196

using 114

with Cortex-M55 70

Arm Virtual Hardware, with Cortex-M55

hello world, running 71

I/O mechanisms 76-79

memory mapping 75, 76

startup code 72

Arm Virtual Hardware with Cortex-M55, startup.c file

branch cache, enabling 73

cache, initializing 74

C library main function 73

exception vector handlers 73

exception vector tables 73

FPU support, enabling 73

MVE support, enabling 73

reset handler 73

artificial intelligence (AI) 6

automated development

versus interactive development 59-61

Automotive Safety Integration Level (ASIL) 14

AVH.yml file

inspection 212, 213

AWS Elastic Container Service (AWS ECS) 64

Azure RTOS

reference link 27

B

Balena

URL 220

bare-metal software 26

overview 26

basic math functions 29, 31

bayes classification functions 30

Blinky 37, 69

running 80

blockchain technology 235

reference link 235

Bluetooth Low Energy (BLE) 20, 27, 58

board farm

replacing, with virtual farms 196, 197

BOOT 73

branch cache

enabling 73

build system 39

Bullseye 223

C

centralized web 234, 235

central processing unit (CPU) 4, 30, 47

CI flows, examples 198

CI pipeline, running 206, 207

GitHub webhook, creating 202, 203

in-house board farm setup 200

Jenkins pipeline, creating 204-206

simple test scripts 198, 199

virtual farm, with AVH 208

C library main function 73

cloud computing 49

cloud connectors 38

cloud containers 169

cloud development 187

cloud virtual machines 187, 188

fundamentals 168

virtual desktop, in VM 188-190

cloud environments 63, 64

cloud leveraging, tips

Amazon Machine Instances (AMIs), saving 218

Amazon Machine Instances (AMIs), sharing 218

cloud connector services 219, 220

free tiers, trying 218

remote access tools, investigating 219

cloud service providers (CSPs) 21, 36

cloud software

custom Gitpod image, creating 182

debugging 182

executing 182

cloud virtual machines 187, 188

CMake

URL 126

CMSIS_5

reference link 28

CMSIS-CORE 28

CMSIS-DSP 29, 30

CMSIS-NN 30, 31

activation functions 31

basic math functions 31

convolution functions 31

fully connected layer functions 31

pooling functions 31

softmax functions 31

SVDF layer functions 31

CMSIS-Packs 227

CMSIS tools 227, 228

reference link 228

code coverage

basics 220, 221

implementing 223

tests, implementing 223

types 221-223

code translation 47

coding cloud 169

development container (dev container) 170

development container (dev container), services 171

Gitpod, initializing 171-174

VS Code, using via github.dev 169, 170

workspace image 175

command-line interface (CLI) 61

Common Microcontroller Software Interface Standard (CMSIS) 123

compilers 54

Arm Compiler for Embedded 54

Arm Compiler for Embedded FuSa 55

exploring 54

GNU Arm Embedded Toolchain 55

complex math functions 29

Configuration and Control Register (CCR) 74

containers 175

building 177, 178

storing 177, 178

Continuous Delivery (CD) 208

continuous integration (CI) 60 193

best practice 194

board farm, replacing with virtual farms 196, 197

challenges 194-196

convolutional NNs (CNNs) 31

convolution functions 31

Coprocessor Access Control Register (CPACR) 73

Cortex-M

SDKs 36, 37

Cortex-M0 6

Cortex-M0+

using, for Raspberry Pi Pico 85

Cortex-M0+ development boards 20

Cortex-M0 development boards 20

Cortex-M3 development boards 20

Cortex-M4 5

Cortex-M4 development boards 20

Cortex-M7 5

Cortex-M7 development boards 20

Cortex-M23 9

Cortex-M23 development boards 20

Cortex-M33 5

using, for NXP LPC55S69-EVK 79, 80

Cortex-M33 development boards 20

Cortex-M35P processor 14

Cortex-M55 5

used, for Arm Virtual Hardware 70

vectorization 228

Cortex-M85 6

vectorization 228

Cortex Microcontroller Software Interface Standard (CMSIS) 28, 29, 56

reference link 28

Cortex-M Microcontroller Prototyping System (MPS) 48

Cortex-M optimization 116

algorithm implementation 117

compiler 117

compiler flags 117

processor performance 116

source code 117

Cortex-M processors

selecting, based on performance and power 7

Cortex-M processors, selection for project requirement

cost 15, 16

DSP performance 10, 11

ML performance 11, 12

power consumption 8, 9

safety 14, 15

safety, features 14

security 12, 13

Cortex-M processors, use cases

industrial flow sensor 4

IoT sensor 5

medical wearable 4

ML 5-7

selecting 4

Cortex-M Security Extension (CMSE) 151

reference link 151

Cortex-M System Design Kit 77

CppUTest 223

cycle count

DWT 102-104

measuring 99

System Tick Timer 100-102

D

DAP firmware

reference link 186

Data Tightly Coupled Memory (DTCM) 76

Data Watchpoint and Trace (DWT) 102-104

counters 102

decentralized IoT network 235

dev containers

integrating, with VS Code 180-182

running 179, 180

development boards 46

selecting 18

development boards, factors

performance 18, 19

peripherals 19, 20

power 19

development container (dev container) 170

services 171

usage 171

development environments 58, 59

cloud environments 63, 64

interactive development, versus automated development 59, 60

local environments 61, 62

virtual environments 62, 63

development platforms 46

evaluating, metrics 52, 53

examining 46

hardware-centric development platforms 50

software-centric development platforms 46

Dhrystone 8

Dhrystone Million Instructions per Second (DMIPS) 10

Digital Signal Processing (DSP) 4, 27, 227

reference link 227

digital-to-analog converters (DACs) 20

Direct Media Interface (DMI) 53

distance functions 30

distributed IoT network 235

Docker 62

Dockerfile

creating 176, 177

Docker Hub

URL 178

Docker installation

reference link 175

dot product 97-99

performance, measuring 105

performance, measuring with Arm Virtual Hardware 114

performance, measuring with NXP LPC55S69-EVK 109-113

performance, measuring with Raspberry Pi Pico 105, 106

dot product, with Arm Virtual Hardware

performance, measuring results 115

dot product, with NXP LPC55S69-EVK

performance, measuring results 113, 114

dot product, with Raspberry Pi Pico

performance, measuring results 106-109

DSP libraries 29

DSP performance 10, 11

Dual-Redundant Core Lockstep (DCLS) 14

dynamic power consumption 8

Dynamic RAM (DRAM) 18

E

Eclipse Embedded C/C++ Development Tools (Eclipse Embedded CDT) 57

electronic design automation (EDA) 51

Embedded Tools extension 58

emulation 51

end-user license agreement (EULA) 41

Error Correction Code (ECC) 14

Ethos-U55

reference link 7

Ethos-U55 driver

reference link 130

Extension Processing Unit (EPU) 73

F

fast Fourier transform (FFTs) 227

fast math functions 29

fault detection (FD) 14

field-programmable gate array (FPGA) 48

filtering functions 29

audio processing 29

image processing 29

video processing 29

finite impulse response (FIR) 29, 227

Fixed Virtual Platform (FVP) 71, 124

floating-point unit (FPU) 4

Fourier transform (FFT) functions 30

FPGA prototypes 51

FPU support

enabling 73

fully connected layer functions 31

future trends impact, on Cortex-M developers

5G technology 229, 230

centralized web 234

decentralization, of information 234

decentralized IoT network 235, 236

environmental sustainability 232

Internet of Everything 231

renewable energy challenges 233

ultra-low power solution 233

Web 3.0 235

G

general-purpose I/O (GPIO) pins 20

GitHub Actions 208-211

workflow 208, 209

GitHub Codespaces 171

Gitpod 171

debugging 183, 184

initializing 171-174

running 183, 184

GNU Arm Embedded Toolchain 55

components 55

download link 55

GNU Compiler Collection (GCC) 55, 126

GNU’s Not Unix (GNU) 55

Google Cloud Platform (GCP) 58

GoogleTest 223

graphical user interface (GUI) 38, 55, 125

H

HardFault 73

hardware attacks 143

hardware-centric development platforms 50, 51

hardware description language (HDL) 51

hardware device

selecting 146

hello world 37, 69 70

running 71

hello world application

building 149-153

obtaining 149-153

secure function, calling from non-secure state 155-158

security states, switching 153, 154

hexadecimal (hex) 134

host code development 49

I

IAR Embedded Workbench for Arm 57

reference link 57

image classification example, machine learning 226

reference link 226

image classification, ML use cases

build 131

environment setup 130, 131

Ethos-U55 in practice 130

run 131, 132

Imperas 49

URL 49

Initial State

URL 220

Input/Output (I/O) functions 76

input/output (I/O) interfaces 47

input/output (I/O) pins 19

instruction barrier (ISB) 74

Instruction Tightly Coupled Memory (ITCM) 75

integrated development environment (IDE) 27, 40, 168

Arduino IDE 57

Arm Development Studio 57

IAR Embedded Workbench for Arm 57

Keil MDK 56

navigating 55, 56

Visual Studio Code (VS Code) 58

integration tests 197

interactive development

versus automated development 59-61

Internal Trusted Storage (ITS) 159

International Electrotechnical Commission (IEC) 14

internet of things (IoT) 50, 122

interpolation functions 30

inter-process communication (IPC) 161

I/O mechanisms 76-79

IoT Security Specifications and Implementations

reference link 142, 146

IoT Security Threat Models and Security Model

reference link 142

J

Jenkins 200

installing 201

publishing 201, 202

Jfrog Connect tool 219

K

Keil Microcontroller Development Kit (Keil MDK) 54-56

reference link 56

Keil RTX5

reference link 27

Keil Studio Cloud 185, 186

L

language binding 37

libraries

exploring 27, 28

light-emitting diode (LED) 37

Link Time Optimization (LTO) 117

Linux 61

liquid-crystal display (LCD) 48, 128

local environments 61, 62

logic simulation 51

longevity, of software development 61

Long-Term Evolution (LTE) modems 21

lower-level considerations 39

Low-Level Virtual Machine (LLVM) 54

LPCXpresso55S69 EVK 80

M

Mac 61

machine learning (ML), examples

image classification 226

speech recognition 226

machine learning (ML) 4, 35

frameworks 30

libraries 30

vibration 35

vision 36

voice 36

matrix functions 29

Matter

URL 220

Mbed OS

reference link 27

Mbed TLS

reference link 38

MDK-Community 80

MDK (Microcontroller Development Kit) 227

megahertz (MHz) 8

Memory Built-In Self-Test (MBIST) 14

memory map overview for Corstone™ SSE-300

reference link 162

memory protection unit (MPU) 4, 28

Message Queueing Telemetry Transport (MQTT) 219

metrics, for evaluating development platforms

abstraction 53

accuracy 53

automated testing 53

ease of use 52

performance (speed) 52

synchronization 53

time to create 53

visibility and debugging 53

microcontroller development boards 16, 17

suppliers 17, 18

microcontroller unit (MCU) 42, 58

Micro-ROS project 226

references 226

micro-speech application

reference link 134

micro speech, ML use cases

application overview 135

build 137, 138

environment setup 135

ML models, running on microcontrollers 133, 134

run 138, 139

microwatt (uW) 8

middleware 38

exploring 27, 28

million instructions per second (MIPS) 48

ML application life cycle 120

ML frameworks and libraries

Common Microcontroller Software Interface Standard (CMSIS) 123

investigating 122

TensorFlow Lite for Microcontrollers (TFlite-micro) 122

TinyML 123

ML on edge devices, use cases 5

vibration and motion 5

vision applications 6

voice and sound 5

ML performance 11, 12

ML use cases

anomaly detection 124

exploring 123

image classification 129

micro speech 133

model evaluation phase 121

model integration phase 122

model training phase 120

motor control functions 30

M-Profile Vector Extension (MVE) 6

multi-architecture support

building 178, 179

multi-core Pico 224

reference link 224

multilingual blinky, Raspberry Pi Pico

reference link 225

multipass 62

multiply-accumulates (MACs) 127

multi-project workspace view 150

M Vector Extensions (MVE) 136

MVE support

enabling 73

N

NarrowBand-IoT (NB-IoT) antenna 21

near-field communication (NFC) 20

Nested Vector Interrupt Controller (NVIC) 29

neural network (NN) 6, 30, 121

neural processing unit (NPU) 7, 126

ngrok package

reference link 201

node size 8

NoMachine tool 219

non-secure hello world

versus secure hello world 148, 149

Non-Secure Processing Environment (NSPE) 158

non-secure state

secure function, calling from 155-158

NXP 42

NXP LPC55S69-EVK

Cortex-M33, using 79, 80

using 109-113

NXP LPC55S69-EVK, with Cortex-M33

Blinky, running 80

I/O mechanisms 82-84

memory mapping 82

startup code 81

O

Open-CMSIS-CDI project 228

reference link 229

Open-CMSIS-Pack 227, 228

open source software (OSS) 36, 49

Open Virtual Platforms (OVP) 49

URL 49

operating system (OS) 26

Oracle Cloud Infrastructure (OCI) 63

order of magnitude (OOM) 12

P

Pack 227

Parasoft 223

peripherals, development boards factors

availability 22

Cortex-M0 and Cortex-M0+ 20

Cortex-M3 20

Cortex-M4 20

Cortex-M7 20

Cortex-M23 and Cortex-M33 20

selection 22

size 22

software 21

support community 21

temperature range 22

Pigweed 226

reference link 227

Platform Security Architecture (PSA) 13, 32, 141

breaking down 141, 142

parts 142

stages 32, 142

Platform Security Architecture (PSA), stages

analyze 142-145

architect 142, 145

certify 142-148

implement 142, 146

Platform Threat Model and Security

reference link 143

pooling functions 31

proportional integral derivative (PID) 30

Protected Storage (PS) 159

PSA, 10 security goals 142-148

PSA certification levels 146-148

hardware attacks 147

security principles 147

software attacks 147

PSA Certified Products

reference link 146, 147

PSA Certified Program Overview - digital whitepaper

reference link 142

PSA Product Certifying

reference link 148

PSA Root of Trust (PSA-RoT) 147

PSA Storage API 1.0

reference link 159

pull 178

pulse width modulation (PWM) 20

push 178

PyPi community

reference link 130

Q

quaternion functions 30

Quick Emulator (QEMU) 49

URL 49

R

r15 register 153

radio frequency (RF) 20

random-access memory (RAM) 134

Raspberry Pi Pico 41, 224

Cortex-M0+, using 85

examples 224

micro-ROS 225

multi-core Pico 224

multilingual blinky 225

USB microphone 225

using 105, 106

Raspberry Pi Pico, with Cortex-M0+

Blinky, running 85, 86

hello world, running 85, 86

I/O mechanisms 90, 91

startup code 93

tips, debugging 94, 95

UARTs, using for I/O mechanisms 94

working with 87-89

Raspberry Pi Pico with Cortex-M0+, I/O mechanisms

program, loading with debugger 91, 92

read-only memory (ROM) 19

real-time operating system (RTOS) 21, 48, 136

overview 26, 27

Rectified Linear Unit (ReLU) 31

Remote.It tool 219

Renode 49

URL 49

replicability, of software development 60

reset handler 73

Robot Operating System (ROS) 225

URL 225

root mean square (RMS) 30

Root of Trust (RoT) 33, 146

RoT service connection test

analyzing 163-165

RT-Thread

reference link 27

S

safe software

implementing 33

Safety Integrity Levels (SILs) 14

scalar 10

SDKs, lower-level considerations

debugging tools 40

host platform support 40

IDE 40

long-term support 41

SDKs, installing 41

software examples 39

software reuse 39

secure boot execution 158

secure function

calling, from non-secure state 155-158

secure function ID (SID) 163

secure hardware, PSA

creating 146

secure hello world

versus non-secure hello world 148, 149

Secure Partition Manager (SPM) 158

Secure Processing Environment (SPE) 158

Secure Sockets Layer (SSL) 38

secure software 32

Platform Security Architecture (PSA) 32

Trusted firmware for Cortex-M (TF-M) 33

secure software, PSA

creating 146

secure system, PSA

creating 146

Security Attribution Unit (SAU) 74, 149

security states

switching 153, 154

simplicity, of software development 60

Singular Value Decomposition Filter (SVDF) 31, 136

Singular Value Decomposition (SVD) 121

SoC, selecting guide

reference link 146

softmax functions 31

software

selecting 146

software attacks 143

software-centric development platforms 46

cloud computing 49

development boards 46

host code development 49

remote access, to physical IoT boards 50

virtual IoT board 50

virtual platform 47, 48

software development kit (SDK) 21, 36

build system 39

cloud connectors 38

development tools 38

for Cortex-M 36, 37

installing 41

language bindings 37

lower-level considerations 39

middleware 38

NXP 42

purpose 37

Raspberry Pi Pico 41

security and encryption 38

ST 42

software stacks, use cases

example 34

industrial flow sensor 34

IoT sensor 35

medical wearable 34

ML 35

Software Test Libraries (STLs) 14

speech recognition example, machine learning 226

reference link 226

ST 42

static power consumption 8

static random-access memory (SRAM) 18, 32

statistical functions 30

supervised learning (SL) 30, 121

support functions 30

Support Vector Machine (SVM) 30, 121

systems on chip (SoC) 57

selecting 146

system tests 197

System Tick Timer (SysTick) 29, 100-102

registers 100

System Time Tick (SysTick) 29, 82

T

technology 8

technology products design

reference link 236

TensorFlow Lite for Microcontrollers (TFlite-micro) 122

reference link 31

TF-M build instructions

reference link 160

TF-M code 159

TF-M, component

secure boot 158

secure core 158

secure services 159

TF-M Cryptographic Secure (TF-M Crypto) 159

TF-M Initial Attestation Service 159

TF-M, new platform adding

reference link 165

TF-M platforms

reference link 165

TF-M services

reference link 159

TF-M test suite

building 159-161

obtaining 159-161

RoT service connection test, analyzing 163-165

running, on Corstone-300 FVP 162

threat modeling 142, 143

three-dimensional (3D) space 30

tightly coupled memory (TCM) 5

TinyML 123

tips, for Cortex-M software developer

cloud 218

code 224

code bases 226

code coverage 220

examples 224

machine learning examples 226

official Arm projects 228

Raspberry Pi Pico examples 224

tools 226

tips, for Cortex-M software resources 226

transform functions 30

Transport Layer Security (TLS) 38

Trusted firmware for Cortex-M (TF-M) 33

download link 33

Trusted Firmware-M (TF-M) 20, 32, 142, 158, 159

TrustZone 4

U

unit tests 196

Universal Asynchronous Receiver-Transmitters (UARTs) 77

using, for I/O mechanisms 94

Universal Serial Bus (USB) 20, 27

unsupervised learning (SL) 121

USB microphone, Raspberry Pi Pico 225

reference link 225

V

VectorCAST 223

vectorization

on Cortex-M55 and Cortex-M85 228

VirtualBox 62

virtual desktop

in VM 188-190

virtual environments 62, 63

virtual farms

used, for replacing board farm 196, 197

virtual IoT boards 50

virtual machine (VM) 41, 50, 139

Virtual Network Computing (VNC) 125, 188

virtual platform 47

technologies, listing 48

types 48

virtual private network (VPN) 50

Virtual Streaming Interface (VSI) 138

Visual Studio Code (VS Code) 40, 58, 168

extensions 58

reference link 181

used, for integrating dev containers 180-182

using, via github.dev 169, 170

W

Web 3.0 235

Windows 61

workspace image 175

Z

Zephyr

reference link 27

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset