Skip to content

Microprocessors (05_XCMIP)

  • Coefficient : 4
  • Hourly Volume: 70.5h (including 45h supervised)
    CTD : 27h supervised (and 4.5h unsupervised)
    Labo : 18h supervised (and 3h unsupervised)
    Out-of-schedule personal work : 18h

AATs Lists

Description

  1. Basic operation of microprocessor systems — Digital coding of information; — operating principle of microprocessors, Von Neuman/Harvard architecture, addressing modes.
  2. Programming of microprocessors: case of Cortex-M4 — Family of ARM Cortex-M processors; — instruction game; — implementation of a cross-development platform (assembler/C): compilation, link editing, debugging.
  3. Access to peripherals.

Learning Outcomes AAv (AAv)

  • AAv1 [heures: 36, D1, D2, D3, D4] : The student of the microprocessors course, at the end of the semester, will first be able to develop the model of an elementary microprocessor, in vhdl language, then a program , in the assembly language of this microprocessor, the overall architecture of which will have been previously explained and provided in the form of a set of interconnected functional blocks, each to be modeled in VHDL, and with which an assembly instruction simulator is associated, provided and explained, then will verify, by simulation of the architecture for certain relevant execution cycles of the developed assembly program, that the contents of the registers and the memory conform to the expected values.

  • AAv2 [heures: 30, D1, D2, D3, D4] : The student of the microprocessors course, at the end of the semester, will be able to compose and test a program, written in ARM assembly language alone or mixing assembly language and C language , using development tools, for the compilation and visualization of registers and memory contents, respecting the AAPCS standard, in order to execute a calculation or character string processing program on an STM32 microcontroller.

  • AAv3 [heures: 33, D1, D2, D3, D4] : The student of the microprocessors course, at the end of the semester, will be able to interact an STM32 microcontroller with LEDs, push buttons and a request signal. interruption external to the microcontroller by implementing the GPIO peripheral of the microcontroller, first by direct use of its registers then by use of a GPIO management API to be developed in C language, with the exception of the initialization function provided, in order to control LEDs, retrieve the state of push buttons and interrupt the current program to execute the interrupt service routine associated with the external request.

Key Words

Microprocessor, memory, instruction set, ARM, machine language, assembler, C language, loop, test, stack, function, cross-development, object code, simulator, debugger.

Prerequisites

Boolean algebra, combinatorial and sequential logic circuits.

Resources

  1. Resources :
    • hardware/software: NUCLEO-STM32F411 boards, gcc development chain
    • moodle: course handouts/TD/TP, ARM and ST manufacturer documentation
  2. Books:
    • The Designer’s Guide to the Cortex-M Processor Family de Trevor Martin (2016)
    • The Definitive Guide to ARM R CortexR-M3 and CortexR-M4 Processors de Joseph Yiu (2013)