这是一个基于STM32单片机的模板;
示例中的单片机是STM32H743IIT6,调试器使用JlinkOB;
其中的各个参数可以参考使用STM32CubeMX生成的基于makefile的模板,且后续仍然可以使用STM32CubeMX进行底层代码的构建;
如果需要进行调试,可以先启动J-Link GDB Server,然后使用VSCode进行调试或者直接使用命令行进行调试;
1 | # CMAKE_SYSTEM_NAME: 即你目标机target所在的操作系统名称,比如ARM或者Linux你就需要写"Linux"; |
使用方式:
1 | mkdir build |
使用VSCode进行调试的launch.json文件如下所示:
1 | { |
最后成功进行调试:
![]() |
|---|
![]() |
若要使用
printf或者sprintf函数,需要自己底层实现一些函数;
例如使用printf:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int _write(int fd, char *pBuffer, int size)
{
HAL_UART_Transmit(&huart1, (uint8_t *)pBuffer, size, 0xFFFF);
return size;
}
PUTCHAR_PROTOTYPE
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}

