micro:bit Architecture Flashcards
(54 cards)
What 4 components create an executable file?
The preprocessor, compiler, assembler and linker
What does the compiler do?
It transforms C commands into assembly code
What does the assembler do?
Translates assembly code to machine code
What is the collective name for the preprocessor, compiler, and assembler?
The compiler
What does the linker do?
Combine several object files together that are dependent on one another due to calling function from other files, libraries, header files etc.
What are the sections of an object file?
Text section = machine code
Data section = global constants
Relocation information = information about what to modify when linking
What happens when the address of a function in unknown?
A placeholder is inserted until the location is known
When are placeholders resolved?
During generation of an executable file
What does the linker do?
It resolves unknown addresses by using the relocation information stored in the main program and the symbol table which is stored in the not main program
Describe the linking process
- Object files include references to each other’s code and/or data
- The linker uses relocation records to fill in all addresses
- The linker combines information from the symbol table and relocation records
- Assembling to machine code remove all labels form the code
Describe static linking of libraries
The library and program are linking by the linker at runtime meaning that the binding between the program and the library is fixed, this also means that if the library is changed you will need to re-link it. Takes up more disk space
Describe dynamic linking of libraries
The program and library it references are not combined in the linker. The linker simply places information into the executable and tells the loader the location of shared objects where required code can be found and the references are found during runtime. Two programs can share libraries in memory and you don’t need to re-assemble the whole program
Define microcontroller
A compact integrated circuit equipped with one or more central processing units and memory
Define embedded system
An electronic product that compromises a microcontroller or multiple microcontrollers executing software instructions stored on a memory module to perform an essential function
Micro USB
Streams data to a from the micro:bit and provides power
JST connector
Provides power when connected to a 3V battery (2 x 1.5V batteries)
ARM Cortex-M4F Processor
Interface that handles USB connection, used for flashing code and data to/from connected devices
ARM Cortex-M4 32-bit processor
Contains memory, radio capabilities, and has an integrated temperature sensor
BLE antenna
Used for Bluetooth and radio
Difference between Bluetooth and Radio capabilities in a micro:bit
Bluetooth allows the micro:bit to talk with central devices only whereas radio allows micro:bit devices to talk to each other so the peripheral can talk to devices other than central devices
Motion sensor
Accelerometer and magnetometer, contains the footprint for two sensors (LSM & FXOS) but only one is placed
Edge connector
20 pins/strips and 5 rings for connection with external components using crocodile clips or banana plugs
Regulator
Steps down to 3.3V
Xtal (Crystal)
Electronic crystal oscillator that provides the clock signal