听说STM32H7必须要用cubemx图形化HAL编程,要学一种新软件代码又不简洁,而另外一种基于MDKARM的RTM开发模式下各中依赖开发环境的源与PACK也不是很习惯,换了电脑换了开发平台可能因为丢失了头文件或者库编译不通过,或者版本不兼容痛苦。我觉得对于我这种传统STM32过来的老人习惯了直接全部工程中包含源代码比较合适。只好从代码中提取核心的API做了一个纯源码的工程包。
工程主要还是传统STM32一样,包含CMSIS头文件,启动S文件,系统初始化文件,CPU相关文件,驱动API相关的BSP包文件等。其余都是网上最新找到的库,API,初始化,头文件,其中主要还是一个个人应用入口的MAIN.C文件:
int main(void)
{
int i=0;
/* This project template calls firstly CPU_CACHE_Enable() function in order enable the CPU Cache.
These functions are provided as template implementation that User may integrate in his application.
*/
/* Configure the MPU attributes */
MPU_Config();
/* Enable the CPU Cache */
CPU_CACHE_Enable();
/* STM32H7xx HAL library initialization:
- Configure the Systick to generate an interrupt each 1 msec
- Set NVIC Group Priority to 4
- Low Level Initialization
*/
HAL_Init();
/* Configure the system clock to 520 MHz */
SystemClock_Config();
/* Add your application code here */
GPIO_LED_Init();
UART3_init();
printf("NUCLEO-H723ZG Build by yuanxihua@21cn.com on ("__DATE__" - "__TIME__ ")\n\r");
/* Infinite loop */
while (1)
{
GPIO_LED_Test();
printf("NUCLEO-H723ZG run %d \n\r",i++);
}
}
直接上源代码:TEV8AE_code-20220308B.rar
离线
用MDK5的RTE架构,其实只需添加一个CMSIS Core组件即可,其他乱七八糟一大坨可以无视
离线