1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
44
47
48
53
60
61
66
73
74
79
86
87
92
99
100
105
108
109
114
118
119
124
128
129
134
138
139
144
/* ... */
#include "stm32f4xx_it.h"
#include "stm32f4xx_hal.h"
#include "stm32f4xx_hal_dma2d.h"
#include "stm32f4xx_hal_ltdc.h"
#include <stdbool.h>
#include <cmsis_os.h>
6 includes
extern DMA2D_HandleTypeDef hdma2d;
extern LTDC_HandleTypeDef hltdc;
static volatile int overrunCnt;
/* ... */
void NMI_Handler(void)
{
}{ ... }
/* ... */
void HardFault_Handler(void)
{
while (1)
{
}while (1) { ... }
}{ ... }
/* ... */
void MemManage_Handler(void)
{
while (1)
{
}while (1) { ... }
}{ ... }
/* ... */
void BusFault_Handler(void)
{
while (1)
{
}while (1) { ... }
}{ ... }
/* ... */
void UsageFault_Handler(void)
{
while (1)
{
}while (1) { ... }
}{ ... }
/* ... */
void DebugMon_Handler(void)
{
}{ ... }
/* ... */
void SysTick_Handler(void)
{
osSystickHandler();
}{ ... }
/* ... */
void DMA2D_IRQHandler(void)
{
HAL_DMA2D_IRQHandler(&hdma2d);
}{ ... }
/* ... */
void LTDC_IRQHandler(void)
{
HAL_LTDC_IRQHandler(&hltdc);
}{ ... }
/* ... */
void LTDC_ER_IRQHandler(void)
{
if (LTDC->ISR & 2)
{
LTDC->ICR = 2;
overrunCnt++;
}if (LTDC->ISR & 2) { ... }
}{ ... }