1/19
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
How is Software Connected to Hardware?
Interacts via control registers
Hardware modules (GPIO, ADC, Timers)
Configurations through registers
Registers made of flip-flops
Readable/writable by CPU
Control Register Definition
Set of flip-flops in hardware module
Inputs/outputs wired to other circuits
Writing configures behavior
Reading retrieves status or data
CPU Interaction with Control Registers - Two Methods
I/O Instructions Method
IN, OUTMemory Mapped I/O (MMIO) Method
I/O Instructions vs. MMIO - Address Space
I/O Instructions vs. MMIO - Access Convenience
I/O Instructions vs. MMIO - Cache Complications
AT90USB1286 Address Spaces
C Language von Neumann Assumption
AT90USB1286 Data Memory Map Structure
Hardware Module Configuration via I/O Registers
General Purpose Registers in Memory Map
PORTF, DDRF, PINF Registers
avr/io.h and Register Address Mapping
uint8_t Type for Register Access
Setting a Bit in C (Bitwise OR)
REGISTER |= _BV(BIT_NUMBER);DDRB |= _BV(PB7);Clearing a Bit in C (Bitwise AND with NOT)
REGISTER &= ~_BV(BIT_NUMBER);DDRB &= ~_BV(PB7);_BV() Macro
_BV(bit) = (1 << bit)Purpose of Bit Manipulation in Embedded C