上节谈到本人使用MDK的5.38版本,编译官方提供的SDK工程会报一堆的错误,然后手动安装了ARM Compiler 5,并添加至Keil工具中,仍然报秘钥文件失效的问题。今天在公司电脑上验证了一下,全程编译体验没有碰到任何问题,下面来分享一下。
同样将官方的“APM32F4xx_SDK_v1.3”文件夹解压出来(最好是没有中文字符的路径下),然后进入“APM32F4xx_SDK_v1.3\Middlewares\FreeRTOS”路径下,双击“FreeRTOSv202012.00-LTS.exe”,装载FreeRTOS官方系统包。然后进入“APM32F4xx_SDK_v1.3\Examples\RTOS\FreeRTOS\Project\MDK”路径下,使用Keil打开当前的工程,然后修改宏定义,SDK中默认是mini型开发板。
然后在main.c中,将MINI型号改成TINY型号,官方已经完善好了接口函数,直接使用即可。
公司电脑使用的MDK版本是V5.34,信息如下图所示。
而且装载了两个版本的编译器,SDK工程默认采用Arm Compiler 5。
然后就直接编译工程,没有任何问题,直接下载到开发板并重启。
预览工程目录下readme文本文件,里面介绍了硬件的基本连接要求,这里我们需要使用杜邦线将UART1与UART2的收发接口串联在一起。
USART1_TX(PA9) ----> USART2_RX(PA3)
USART1_RX(PA10)----> USART2_TX(PA2)
现象就是,LED2闪烁,独立存在于一个线程;LED3的亮灭与UART1与UART2的连接状况有关,如果UART1与UART2收发构成一个闭合回路,则此时LED3是常亮状态,如果中间断开了某一根线,则串口只能单向传输,此时LED3为闪烁状态。效果展示,跟帖回复。
官方APM32F4xx_SDK_v1.3根目录下的chm文件介绍的很是详细,在SDK中的工程示例基本上在这个文件都能找到,该文件整合了诸多源码框架,非常不错。
|