Professional Documents
Culture Documents
1 ARM Architecture
2 Cortex
3 STM32
4 Nucleo64 Boards
7 Take Home
Source: NVIDIA
ARM History BBC Micro
1980s
Acorn Computer built the BBC Micro microcomputer
series for the BBC Computer Literacy project.
BBC Micro used the 6502 microprocessor.
Late 1983
Steve Furber and Sophie Wilson – two Acorn
engineers – visited and observed chip
designers in America
In 18 months, and 6 man-years of effort, they
produced the ARM1 (Acorn RISC Machine 1)
Utilized as coprocessor in BBC Micro
Fabricated by VLSI Technology with roughly
24,800 transistors using a 3,000nm (3µm)
process. Designed to run at 1 W, the chip
averaged under 100 mW typical power.
Compare that with 2020 Apple M1 with 8 cores,
7- or 8-cores GPU, 16-core Neural Engine with
16 billion transistors using a 5nm process.
Power dissipation 10 W.
The ARM1 was essentially a prototype, and
was quickly followed by the ARM2 The prototype ARM1 as a BBC Micro coprocessor (Wikipedia)
1990
ARM Ltd founded
Jointly owned by Acorn, Apple and (NXP now)
ARM is now acronym for Advanced RISC
Machines
Objective: to supply new CPU for Apple
Personal Digital Assistant (PDA)
1993
Apple Newton
Used ARM610 which implements Armv3 ISA
Technologically innovative, but expensive and
early problems with handwriting recognition
which limited its sales and subsequent
cancellation
Eventually led Apple to create multi-touch
devices, iPhone and iPad
Poor Newton sales led to the beginning of IP
business model was uncommon at the time
Apple Newton MessagePad
https://www.anandtech.com/show/7112/the-arm-diaries-part-1-how-arms-business-model-works
ARM Ecosystem Oppo Mobile Phones
https://stratechery.com/2020/nvidias-integration-dreams/
Late 1990s
Digital Equipment Corportation (DEC) developed StrongARM which
implements the ARM v4 architecture.
StrongARM targeted for the upper-end of low-power embedded market
1997
DEC agreed to sell StrongARM to Intel as part of a lawsuit settlement .
Intel used the StrongARM to replace their ailing line of RISC processors,
the i860 and i960.
2002
A new StrongARM core, the XScale, was introduced by Intel
2006 DEC StrongARM SA-110
microprocessor
Intel sells the XScale PXA business to Marvell Technology Group
Marvell holds a full architecture license for ARM
Intel still holds an ARM architectural license even after the sale of XScale
Architecture ARMv7E-M
Bus Interface 3x AMBA AHB-Lite
ISA Thumb-2
Pipeline 3-stage + branch speculation
DSP Single cycle 16/32-bit MAC
Single cycle dual 16-bit MAC
8/16-bit SIMD arithmetic
Hardware divide (2-12 cycles)
HLL Support Designed to be programmed fully in
C
Floating-point Single precision IEEE 754
Interrupt Handling Nested Vectored Interrupt Controller
Non-maskable Interrupt (NMI)
+ 1 to 240 physical interrupts
8 to 256 priority levels
Cortex-M4 Extra Features
Nucleo-144
Discovery board Extended Arduino pinout
Most comprehensive: includes LCD, Leverages low-cost Arduino shields
microphone, audio DAC& motion sensor So models lack crystal so the µC runs off
Older design internal 8 MHz RC
License prohibits use in commercial products PLL can be be used to run faster
Crystal installed so it can run at max speed Many µC versions use the same layout
STM32 Boards
Blue Pill
Nucleo-32
Not made by ST
Arduino Nano size
Cheapest
Nucleo-64 Can be plugged into
Arduino Nano size
Arduino Uno pinout breadboards
Debugger/programmer is
Additional I/O thru Morpho Lacks crystal (except
not included
connectors STM32Lxxx)
One of many third-party
Some models lack crystal
STM32 boards
Many µC versions available
Nucleo-F446RE Overview
https://randomnerdtutorials.com/25-arduino-shields/
Nucleo-F411RE Morpho Connectivity
Embedded Software Development
How is Embedded Programming Different?
You don’t have to know any of these when programming for PC or mobiles
The toolchain is a set of tools to generate binaries from the source code.
Compiler: Translates human readable code into assembly
language or opcodes for a particular processor.
Produces an object file. C/C++ Assembly
Easy to setup
OK for simple tasks
Low CPU utilization
Low hardware requirements
’Bare metal’
ICSP is required to program and test the code on the actual microcontroller.
STM32 supports 2 protocols:
Joint Test Action Group (JTAG)
Serial Wire Debug (SWD)
Nucleo64 boards come with ST-link
STM32
PC USB ICSP JTAG/SWD
MCU
https://www.youtube.com/watch?v=hyZS2p1tW-g
[2] T.O.M.A.S – Technically Oriented Microcontroller Application Services, “STM32Cube MX HAL MOOC
presentation 16:9.” v0.03, Available
https://www.mikrocontroller.net/attachment/319720/STM32Cube-MX-HAL-MOOC-presentation-16-9.pdf , 2018.
[3] STMicroelectronics, Description of STM32F4 HAL and low-layer drivers, UM1725 ed., 2020.
Available https://www.st.com/resource/en/user_manual/
dm00105879-description-of-stm32f4-hal-and-ll-drivers-stmicroelectronics.pdf .