Informations générales
Number of hours
- Lectures 0
- Projects 0
- Tutorials 2.0
- Internship 0
- Laboratory works 18.0
- Written tests 0
ECTSECTS
2.0
Goal(s)
Understand:
- the structure of a microprocessor system: CPU/memory/peripherals/shared bus communication/memory map,
- the role of the components of a CPU's external architecture, as seen by the programmer: PC/SP/general-purpose registers,
- what a CPU's instruction sets and addressing modes are,
- what the execution stack is and its uses,
- the development flow for converting C code to machine code,
- the different techniques for handling events (polling/interrupts) in a microprocessor system.
Be able to:
*program a microprocessor system in low-level C: bit-level information manipulation, peripheral implementation,
*use a development tool for programming and debugging a low-level program by observing:
- CPU registers and peripherals,
- memory,
- step-by-step execution of C or assembly code.
The various concepts covered in this course are implemented on a Texas Instrument MSP430 microcontroller.
Contact Sylvain HUETContent(s)
Session 1
- Presentation of the architecture of a microprocessor system
- Getting started with the IAR Embedded Workbench development environment
- Implementation of a GPIO device in C
Session 2
Implementation of an external device (ADC) connected to the MSP430 microcontroller via an SPI bus:
- Writing functions to send data to be converted to analog (requires the use of GPIO and the USI device)
- Generation of different waveforms (square, sawtooth, sine)
Sessions 3 and 4
- C compilation flow
- External CPU architecture
- Instruction set and addressing modes
Session 5
- Execution stack
- Study of low-level function implementation mechanisms (call/return/passing parameters and return values)
- Recursive function calls
Session 6
Study and comparison of mechanisms (polling/interrupt) for handling events in a microprocessor system.
Prerequisites
Digital electronics
C programming
Test
CC1:
CRs submitted at the end of the sessions.
ET1 and ET2:
Exams, all documents and PHELMA calculators permitted.
Partie microprocesseur : N_µP= 20%CC+80%DS_µP