【转帖】目前可用的飞思卡尔Kinetis底层固件库资源分析

2020-02-21 21:08发布

Kinetis系列微控制器是飞思卡尔公司于2010年下半年推出的基于ARM Cortex-M4内核的微控制器,是业内首款Cortex-M4内核芯片,不过遗憾的是FSL并没有像ST那样提供完善的开发固件包,因此一批第三方固件库就被搬上了舞台,为广大Kinetis开发者带来了福利。下面就将自己接触Kinetis一星期来整理的固件库资料做个总结:
PS1:以下四个固件库均是基于v1.1版本MKx0DZ10.h头文件的寄存器操作封装,此版本是FSL官方自建的头文件,与CMSIS格式标准有一定差别,开发中需注意。


  1. FSL官方例程包【KINETIS512_SC】
  KINETIS512_SC例程包主要是为FSL推出的塔式系统开发板服务的,其文件列表如下:
     <build>文件夹给出了Code Warrior和IAR下Linker的配置文件;
     <src>文件夹中<common>是FSL提供的通用库,常用的有queue、printf实现等
                         <cpu>是芯片启动相关文件,如cpu头文件、启动文件、系统初始化文件、中断向量表文件等
                         <drivers>是cpu底层驱动文件,也就是核心的固件库
                                 ----<adc16>  ,片内ADC驱动
                                 ----<enet>    ,片内以太网驱动
                                 ----<lptmr>   ,片内低功耗定时器驱动
                                 ----<mcg>    ,片内时钟管理驱动
                                 ----<pmc>    ,片内电源管理驱动
                                 ----<rtc>      ,片内实时时钟驱动
                                 ----<uart>    ,片内串口驱动
                                 ----<wdog>  ,片内看门狗驱动

总评:KINETIS512_SC包提供了Kinetis开发的基础外设初级驱动固件包,可满足入门学习。
                        

2. 苏州大学飞思卡尔嵌入式中心K60构件库【SD-FSL-K60-HwComponents】
    苏州大学飞思卡尔嵌入式中心作为飞思卡尔合作伙伴,承担了一部分飞思卡尔芯片推广工作,该中心推出了很多关于FSL芯片的教程、开发板,还研发出了FSL芯片的烧写器(已成功推向市场),当然也包括FSL芯片底层驱动开发。该中心推出的Kinetis开发的资源如下
     <嵌入式系统原理与实践--ARM Cortex-M4 Kinetis微控制器>教程,K60芯片教程,与SD-FSL-K60-HwComponents例程配套讲解;
     <SD-FSL-K60-HwComponents>文件夹是苏大提供的底层固件库
                                 ----<ADC>     ,片内ADC模数转换驱动
                                 ----<CAN>     ,片内控制器局域网驱动
                                 ----<CMP>     ,片内比较器模块驱动
                                 ----<DAC>     ,片内DAC数模转换驱动
                                 ----<ENTH>   ,片内以太网驱动
                                 ----<Flash>    ,片内Flash存储模块驱动
                                 ----<GPIO>    ,片内用户I/O口驱动
                                 ----<I2C>      ,片内I2C通信接口驱动
                                 ----<LPTMR> ,片内低功耗定时器驱动
                                 ----<PDB>     ,片内可编程延时模块驱动
                                 ----<PIT>      ,片内周期中断定时器驱动
                                 ----<RTC>     ,片内实时时钟驱动
                                 ----<SDHC>   ,片内SD存储卡驱动
                                 ----<SPI>      ,片内SPI通信接口驱动
                                 ----<CMT>     ,片内载波调制发射器驱动
                                 ----<FTM>     ,片内Flex定时器驱动
                                 ----<TSI>      ,片内触摸感应驱动
                                 ----<UART>   ,片内串口驱动
                                 ----<USB>     ,片内USB 2.0通信接口驱动
                                 ----<Wdog>  ,片内看门狗驱动
总评:SD-FSL-K60-HwComponents是基于KINETIS512_SC包的二次开发,其丰富了片内外设的初级驱动,可用作进阶学习。
链接:http://sumcu.suda.edu.cn/BingoV1 ... ardId=2&catId=#


3. 野火嵌入式工作室K60固件库【fire_Kinetis】
    野火嵌入式工作室推出的STM32系列开发板和独家教程,相信坛子里的人不会陌生,本人STM32启蒙老师就是野火,现在野火也在做Kinetis系列开发板和教程,同时也开源了板子源代码和教程,具体资源可去本坛<野火M3>分区里下载
     <三天入门Cortex-M4--Kinetis系列>教程,野火K60开发板配套教程,比较详细地介绍了野火K60固件库;
     <fire_Kinetis>文件夹是野火提供的底层固件库
         <build>文件夹给出了Code Warrior和IAR下Linker的配置文件;
         <src>文件夹中<common>是FSL提供的通用库,常用的有queue、printf实现等
                             <cpu>是经野火改写后芯片启动相关文件
                             <drivers>是野火修改和添加后的固件库
                                 ----<adc>      ,片内ADC模数转换驱动(野火改写与注释)
                                 ----<lptmr>   ,片内低功耗定时器驱动(野火改写与注释)
                                 ----<mcg>    ,片内时钟管理驱动(野火改写与注释)
                                 ----<pmc>    ,片内电源管理驱动(野火改写与注释)
                                 ----<rtc>      ,片内实时时钟驱动(野火改写与注释)
                                 ----<uart>    ,片内串口驱动(野火改写与注释)
                                 ----<wdog>  ,片内看门狗驱动(野火改写与注释)

                                 ----<dac>      ,片内DAC数模转换驱动(野火添加)
                                 ----<dma>     ,片内直接内存存取驱动(野火添加)
                                 ----<exti>      ,片内外部中断驱动(野火添加)
                                 ----<Flash>    ,片内Flash存储模块驱动(野火添加)
                                 ----<FTM>     ,片内Flex定时器驱动(野火添加)
                                 ----<gpio>     ,片内用户I/O口驱动(野火添加)
                                 ----<i2c>       ,片内I2C通信接口驱动(野火添加)
                                 ----<PIT>      ,片内周期中断定时器驱动(野火添加)
                                 ----<sdhc>    ,片内SD存储卡驱动(野火添加)
                                 ----<spi>       ,片内SPI通信接口驱动(野火添加)

                                 ----<AT24C02> 、<camera>、<delay>、<lcd>、<LED>、<NRF24L0>、<w25x16>,野火板上驱动
总评:fire_Kinetis也是基于KINETIS512_SC包的二次开发,其参考了其他固件库建立思想,也整合了其他固件库,是不可多得的学习资料。
链接:http://www.amobbs.com/thread-5461508-1-1.html


4. 拉普兰德K60固件库【LPLD_OSKinetis】
    拉普兰德电子公司致力于飞思卡尔微控制器产品的开发,先后推出一系列专门适用于智能车竞赛的微控制器开发板、传感器等产品。目前该公司携手飞思卡尔社区为第八届智能车大赛推出了K60核心板以及固件库
     <Cortex-M4自学笔记-基于Kinetis K60>教程,比较详细地介绍了LPLD K60固件库;
     <[LPLD Kinetis底层库V2]函数手册>教程,给出了LPLD K60固件库所有函数列表;
     <LPLD_OSKinetis>文件夹是LPLD提供的底层固件库
     <lib>文件夹中<common>是FSL提供的通用库,常用的有queue、printf实现等
     <cpu>是芯片启动相关文件,如cpu头文件、启动文件、系统初始化文件、中断向量表文件等
     <drivers>是FSL官方基础固件库
     <LPLD>是LPLD添加后的固件库
                                 ----<HAL_ADC>          ,片内ADC模数转换驱动
                                 ----<HAL_CAN>          ,片内控制器局域网驱动
                                 ----<HAL_DAC>          ,片内DAC数模转换驱动
                                 ----<HAL_ENET>        ,片内以太网驱动
                                 ----<HAL_FLASH>       ,片内Flash存储模块驱动
                                 ----<HAL_GPIO>         ,片内用户I/O口驱动
                                 ----<HAL_I2C>            ,片内I2C通信接口驱动
                                 ----<HAL_LPTMR>       ,片内低功耗定时器驱动
                                 ----<HAL_PDB>           ,片内可编程延时模块驱动
                                 ----<HAL_SPI>            ,片内SPI通信接口驱动
                                 ----<HAL_FTM>           ,片内Flex定时器驱动
                                 ----<HAL_UART>         ,片内串口驱动
                                 ----<HAL_eDMA>         ,片内直接内存存取驱动
                                 ----<HAL_USB_Device> ,片内USB 2.0通信接口驱动
总评:LPLD_OSKinetis也是基于KINETIS512_SC包的二次开发,给出了比较详细和规范的固件库,是很好的开源资料。
链接:http://www.lpld.cn/

5. 超核电子Kinetis例程包【CHK】
    超核电子是淘宝上比较早做Kinetis开发板的,其店主是中国石油大学的杨熙(网名Yandld),其给出的Kinetis例程是基于Keil MDK平台,且例程风格类似正点原子。现在已经更新,有了Keil,IAR和CW的平台版本。
     <Kinetis编程入门指南>开发板配套教程
     <HARDWARE>文件夹给出了硬件相关驱动
                                 ----<exti>    ,片内外部中断驱动
                                 ----<ftm>    ,片内Flex定时器驱动
                                 ----<pit>     ,片内周期中断定时器驱动
                                 ----<spi>     ,片内SPI通信接口驱动
                                 ----<tsi>      ,片内触摸感应驱动
     <SYSTEM>文件夹中系统基础驱动
                                 ----<sys>     ,片内时钟管理驱动
                                 ----<gpio>    ,片内用户I/O口驱动
                                 ----<uart>    ,片内串口驱动
                                 ----<wdog>  ,片内看门狗驱动
  总评:CHK固件包是Yandld原创库,是符合CMSIS标准的头文件封装的固件包,可满足入门学习。
  链接:http://www.tinychip.net
  PS1:该库是基于v1.2版本MKx0DZ10.h头文件的寄存器操作封装,此版本是FSL按照CMSIS格式标准改写。



个人觉得很有用的东东!忘了在哪找的了!如有侵犯版权请告知修改
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。