怎么看keil5是不是mdk版

怎么看keil5是不是mdk版

从Proteus 8.7版本开始,Labcenter Electronics公司在CPU仿真中加入了Cortex-M3内核的支持。对于STM32F103系列单片机的大部分基础功能,新版本Proteus都可以进行仿真实现。经过多次调试,终于在8.7版本的Proteus中实现了RTOS的移植。下面记录下了详细的移植过程。

项目使用的CPU型号是STM32F103R6。在RTOS移植之前,项目已经实现了GPIO控制、SPI接口模拟、数码管显示以及串口通信等功能。电路连接如图1所示,其中的LED灯模拟GPIO输出功能,APA102真彩RGB灯模拟SPI接口,串口通信使用Proteus自带的终端测试,使用的是USART1,数码管驱动使用的是74HC595,应用了USART2的同步功能。按键功能使用了74ls148芯片来实现。

图1:硬件电路

STM32F103的开发环境使用的是Keil MDK5,资源库是STM32F10x_AN2824_FW_V4.0.0官方库。RTOS移植前的代码已经实现了stm32的GPIO控制、EXTI中断、定时器中断、spi接口、串口等功能。RTOS移植前的项目代码结构如图2所示。

图2:代码结构

打开FreeRTOSSource文件夹,这里包含了需要移植的大部分代码。需要移植的源文件有:include里面的所有文件,portable里面两个源文件一个头文件,以及图4中标红的list.c、queue.c、task.c。由于项目没有使用任务间消息传递、动态增删任务等功能,所以Source根目录下的其他源文件不需要移植,如有需要自行添加。

图4:Source文件夹

FreeRTOSv10.1.1FreeRTOSSourceportable文件夹中包含了编译器相关的接口和内存管理代码。由于本项目使用的是MDK5,所以只保留Keil跟RVDS两个文件夹中的代码,并将RVDS中的源文件复制到Keil中。Portable中需要添加到项目中的两个源文件及一个头文件分别是MemMang文件夹中的heap_3.c以及portableKeilARM_CM3中的portmacro.h和port.c。

复制一个FreeRTOSConfig.h头文件到FreeRTOSSourceinclude目录中。这样,freeRTOS文件夹中就包含了移植所需要的所有源文件,然后将freeRTOS文件夹复制到项目目录中。移植完毕后,项目目录结构如图6所示。


怎么看keil5是不是mdk版