Number of hours
- Lectures 0
- Projects 0
- Tutorials 2.0
- Internship 0
- Laboratory works 18.0
ECTS
ECTS 1.5
Goal(s)
Have understood:
- the architecture of a microprocessor system: CPU/memory/peripherals/shared bus communication/memory layout,
- the role of the components of the external architecture of a CPU, i.e. exposed to the programmer: PC/SP/General purpose registers,
- what are the instruction set and addressing modes of a CPU,
- what is the execution stack and its usages,
- the development flow transforming a C code to a machine code,
- the different techniques for taking events into account in a microprocessor system (polling/interruption).
Be able to:
- program in C, at low level, a microprocessor system: information manipulation at bit granularity, interacting with a peripheral,
- use a development tool for programming and debugging a program at low-level by observing :
- registers of the CPU and its peripherals,
- the memory,
- the step-by-step execution of a C or assembly code.
The different concepts discussed in this course are applied to a Texas Instrument MSP430 microcontroller.
Contact Sylvain HUET, Dominique HOUZETContent(s)
Session 1
- Presentation of the architecture of a microprocessor system
- Introduction to the IAR Embedded Workbench development environment
- Interacting with a GPIO device in C
Session 2
Interacting with an external peripheral (DAC) connected to the MSP430 microcontroller by an SPI bus:
- writing functions to send a data to be converted to analog (requires the use of a GPIO peripheral and the USI peripheral),
- generation of different analog waveforms (square, sawtooth, sine).
Sessions 3 and 4
- C compilation flow
- External architecture of the CPU
- Instruction set and addressing modes
Session 5
- Execution stack
- Study of low-level function implementation mechanisms (calling/returning/passing parameters and return values)
- Recursive function calls
Session 6
Study and comparison of mechanisms for handling events in a microprocessor-based system (polling/interruption).
Prerequisites
Basics of digital electronic
C programming
- Continuous assessment
- 2 hours written exam (all documents and calculator authorized)
Contrôle continue : CC
Examen écrit Session1 : DS1
Examen écrit Session 2 : DS2
N1 = Note finale session 1
N2 = Note finale session 2
N1 = 20% CC + 80% DS1
N2 = 20% CC + 80% DS2
Modalités de examens écrits session 1 et session 2 :
Examens écrits de 2 heures
Tous documents et calculatrice autorisés.
- User Guide, MSP430x2xx family, Texas Instruments