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格式标准改写。
个人觉得很有用的东东!忘了在哪找的了!如有侵犯版权请告知修改
之前也是用的LPLD。。自己不会移植,特别是芯片不带z之后...时钟部分自己不会写。。。找时间看看苏大的,研究研究怎么写在说吧。。
一周热门 更多>