GitHub

Notes /Cortex-M /HAL and MSP

HAL and MSP

HAL - Hardware Abstract Layer MSP - MCU Support package

HAL sets up SysTick, NVIC priority grouping, peripherals

§MCU

MSP sets up low level hardware configuration, board specific setup, clock enables for system blocks, and GPIO AF routing. This is where you enable UART/SPI/I2C. You have to look at the alternate functions table to figure out which pins you have to enable to make this work.

If you are enabling USART, you have to configure the instance with BaudeRate, CLKPolarity, CLKPhase, CLKLastBit, Mode, Parity, StopBit, and WordLength.