1/284
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
Why are embedded systems expected to be incredibly reliable? (2)
Often used in environments that are hard to access
Therefore have to be able to handle any issues by themselves
What are some examples of where we commonly see embedded systems? (4)
What is an important thing we need to consider when designing OS for embedded systems? (1)
What is baremetal programming in essence? (2)
What is baremetal programming used for? (1)
How do we ensure security of a system at the baremetal stage? (2)
What is an operating system used for? (5)
What is resource management and what are the different types? (4)
What is important to consider in realtime systems and scheduling them? (2)
In resource management, are the resources real or not and why? (3)
What are the two main types of interaction management? (2)
How is interaction management normally handled on embedded systems? (3)
When was C created and what was it originally used in? (3)
What was the motivation behind C? (3)
What properties did C have to have? (3)
What are some of the limitations of the core C language? (5)
What is dynamic memory management and why is it avoided in embedded systems? (3)
What is Rust? (4)
When is C typically used? (8)
Why is C used for systems where realtime behaviour is needed? (1)
Can C run on a system without RAM? (1)
What is the difference between unspecified, undefined and unexpected behaviours? (3)
Why does C have some unspecified behaviours? (2)
Why can we not assume that a new variable in C will have a value of 0? (3)
What are some special properties about 0 in C? (3)
Why is it good to try and write for loops in reverse? (3)
What is a microcontroller? (3)
What are hardware blocks used for? (5)
What is serial communication? (1)
What needs to be considered when a company designs a microcontroller? (2)
What are semiconductors made from and how? (2)
What is the tradeoff when it comes to die size? (4)
What is RISC and how does it affect transistor usage? (3)
Why did CISC fail and RISC take over? (3)
What does it mean that a microcontroller has off chip memory? (4)
What is the difference between Harvard and Von-Neumann architecture? (4)
What do we typically use for the program and data memory blocks on microcontrollers? (2)
What is the difference between SRAM and DRAM? (2)
What is SPI? (3)
What is PWM? (2)
What is UART? (4)
What is I2C and how does it compare to SPI? (4)
What does the watchdog hardware block do? (1)
What is the PIO hardware block used for? (3)
What are the features of the RP2350? (6)
What hardware blocks are there on the Pico2W module? (5)
What does it mean to overload a pin? (1)
What is the difference between compilation and cross-compilation? (2)
What are the advantages of interpreted languages over compiled languages? (2)
How do compilers provide good error messages? (2)
Where is cross-compilation needed? (2)
What are some advantages of Harvard over Von-Neumann architecture? (2)
Why is flash memory not used for everything? (2)
What are the different stages of the compiler build process going from IDE to running on the microcontroller(eg. gcc)? (5)
How does a compiler work and how does it optimise? (3)
What is the preprocessing stage of the compiler build process? (3)
What does the assembler do? (3)
What does the linker do? (4)
What do objcopy and avrdude do? (3)
Why should the build process be documented? (2)
What are some examples of configuration options? (4)
What is an elf file? (4)
"
0x008C corresponds to line 24 of main.c"").What can we do with an elf file? (3)
What are some of the sections in the .elf file? (4)
How do static and global variables differ if they are both loaded into RAM from flash at runtime? (2)
What are control registers? (4)
How does a CPU interact with control registers and write values to them? (2)
What are the advantages and disadvantages of memory-mapped IO for control registers? (3)
Why is it good to have fewer instructions? (4)
"
What is an operand? (4)
What are the different types of PROM? (3)
What is the difference between EEPROM and flash? (3)
How do we map address spaces across program and data memory? (3)
Why do we split up IO registers and extended IO registers in memory? (2)
What does the data memory map look like on typical microcontrollers? (5)
"
What are the different segments of a memory map used for? (4)
What is the minimum number of configuration bits needed for a pin? (2)
What is PORTF, DDRF, PINF and how do they work? (5)
What happens if we send a 1 to PORTF while DDRF lists the pin as an input? (1)
How does a pull up resistor work in the context of a button? (5)
What does _BV(x) do? (1)
How and why might you need to represent state with an LED? (4)
What are the two main basic ways to receive a signal from an IO? (3)
Why can most programs on a microcontroller never terminate? (2)
What does the typical program flow on a microcontroller look like? (3)
What is the DMA and what does it do? (4)
What needs to happen when an interrupt occurs? (2)
"What is needed for a ""precise interrupt""? (4)"
What happens when an interrupt arrives? (10)
What is PSW? (2)
How do we know what section of the code to jump to after an interrupt? (4)
What is the ISR? (2)
What are the two main rules for ISRs? (4)
What is latency and what affects it? (3)
Is the latency deterministic? (2)
What are the issues with latency being non-deteministic? (4)
What does maximum latency depend on? (4)
What is jitter and what causes it? (4)
Can the DMA freeze the CPU? (3)