今天我们看看如果是KSDK和freeRTOS会擦出什么火花呢,没错,自NXP并购freescale后,在新推出的KSDK中将不在支持MQX,而是大力推freeRTOS,这个我们在之前提到过,今天我们就以KSDK2.0为例介绍下,KSDK集成进freeRTOS后,NXP已经给大家做好了很多工作,例程,你只需简单修改就可以轻松应用于自己的硬件系统,例如我们打开一个基于kinetis K64的uart例程如下所示:
可以看到board里面都是与我们的硬件和时钟相关的文件,pin_mux.c大家应该非常熟悉了,没错就是与硬件管脚相关的配置,我们可以修改这个文件以适应我们的系统,clock_config.c是与时钟配置有关的文件,doc里面是与本例程相关的说明,这个在之前版本的KSDK里面没有,driveres是一些驱动文件,freertos是freeRTOS源码文件,source是我们的例程源码,FreeRTOSConfig.h在上篇文章中,我们提到过,是非常重要的一个文件,是一些配置项,每一个工程都必须有这个文件,根据自己的实际应用需要修改配置。Startup是芯片的启动文件,这个跟之前KSDK里的一样。Output里面是我们的输出文件。
可以先编译下例程如下所示:
如果你对KSDK结构比较熟悉,那么这个例程很容易看懂,NXP已经帮你做了很多事情,KSDK里面的外设驱动可以直接用,只需简单的修改几个文件就可以轻松移植一个简单应用到你的系统,上手可以说是非常简单,建议大家简单的会移植后,分析下源码,为以后复杂应用打下基础,如果你是用NXP的kinetis芯片开发产品,建议直接用KSDK里面集成好的freeRTOS进行开发,省去一些时间,如果是用其他芯片,就像我们上节课讲的,先在源码包的例程里面找一个与你的芯片比较接近的在开始移植自己的BSP。FreeRTOS支持主流的很多种处理器,大家可以观察下源码包的例程。祝大家快速掌握freeRTOS移植,给你的嵌入式开发涨涨姿势。