点击上方“飞思卡尔MCU”关注哦!目录1 如何获取技术资料与支持
2 如何选择产品、申请样片及购买少量芯片和开发工具
3 飞思卡尔单片机的开发环境、 开发工具和生态系统
4 如何阅读飞思卡尔的技术文档
5 飞思卡尔单片机硬件设计指南
6 飞思卡尔单片机软件开发指南
3 飞思卡尔单片机的开发环境、开发工具和生态系统3.1概述在根据需求完成选型之后,用户应开始了解相关的开发环境、开发工具和生态系统,评估飞思卡尔提供的工具和资源是否能够满足用户的开发需要。本章节将会介绍集成开发环境(IDE)、评估板(EVM)、调试器(Debugger)、参考代码与设计(Sample code with documents & Existing Reference Design)以及生态系统(ecosystem)。希望本章节的内容能让用户快速准确地找到相关资源来完成评估与开发。3.2集成开发环境(IDE)集成开发环境就是针对可编程器件的集编辑、编译和调试功能于一体的开发调试工具。以Kinetis系列MCU为例,一般通用的IDE均可支持,例如IAR、Keil等。另外飞思卡尔也有自己的IDE,分别是KDS(Kinetis Development Studio)和CodeWarrior,本节将会主要介绍这两个工具及内嵌在这两个IDE中的代码生成工具“处理器专家”(Processor Expert)。3.2.1 KDS (Kinetis Design Studio)KDS是飞思卡尔在2014年刚刚推出的专门用于支持Kinetis系列MCU的一款集成开发环境软件,能够提供代码编辑到调试的完整功能。[size=1em]KDS特点—支持目前Kinetis全系列的产品,并将不断更新对新产品的支持;
—开源免费,且不受软件代码大小的限制(提醒:Keil、IAR等IDE均需要收费);
—支持在32/64位的Windows 7/8的操作系统上运行;
—使用Elipse界面风格,并且支持其他可下载的插件,如Processor Expert;
—支持SEGGER J-Link/P&E USB Multilink Universal /CMSIS-DAP/OpenSDA等调试接口;
—专门为Kinetis系列MCU开发,因此具有内核编译器小、响应速度快的优势。
3.2.1.1 KDS软件下载与安装目前KDS的最新版本是V2.0.0,以下描述均以该版本为例。软件与相关说明文档的下载路径及链接如下:
软件/文档:中文首页→软件和工具→软件中心→IDE-调试、编译与构建工具→微控制器→Kinetis Design Studio→下载/文档
在Windows系统上安装KDS很简单,只需双击KDS-v2.0.0.exe,根据向导即可完成。另外,飞思卡尔还提供了一个工具,叫做Kinetis软件开发套件(KSDK),它可以嵌入KDS中使用,为用户提供丰富的外设驱动代码、协议栈代码、中间件代码和示例代码。关于KSDK的详细介绍,请参见飞思卡尔单片机软件开发指南章节中的的内容。
在完成KDS的安装后,如果需要在KDS中嵌入KSDK,则还要下载和安装KSDK软件包,软件与文档的下载路径如下:
软件/文档:中文首页→软件和工具→软件中心→中间件→用于Kinetis MCU的软件开发套件→下载/文档
在下载安装KSDK后,要嵌入KDS中使用要完成以下步骤:
1、启动KDS并在“Help”选项中选择“Intall New Software”,如图 46所示。
图 46在KDS中安装KSDK步骤一2、在“Available Software”的窗口中,点击“Add”并找到KSDK安装目录中的.zip文件,点击“OK”。图 47在KDS中安装KSDK步骤二3、找到文件位置后,在“the Processor Expert Software category”的项目下显示有“Eclipse Update for KSDK”;在勾选框内打勾,并点击“Next”并完成安装。图 48在KDS中安装KSDK步骤三另外,如果需要在KDS中使用Processor Expert,还需要安装一个更新补丁。该补丁名为Processor Expert for KDS 1.1-Updata 1,下载路径与KSDK相同,安装方法也与安装KSDK相同,可参照上述步骤进行操作。
3.2.1.2 在KDS中新建工程与导入已有工程在KDS中新建一个工程可参考以下步骤:
1、在打开KDS后,选择新建工程“File”→“New”→“Kinetis Design Studio Project”。
2、输入工程名,并在选择工程的存储位置后,点击“Next”。
3、选择需要评估的芯片型,点击“Next”。图 49在KDS中新建工程步骤二图 50在KDS中新建工程步骤三
[size=1em]4、在“Rapid Application Development” 中,可以在新建工程中加入Process Expert和KSDK(Kinetis SDK)来简化底层驱动代码的编写工作,如图 51所示。Processor Expert已包含在KDS中,但加入KSDK需要按照KDS软件下载与安装中的步骤手动安装。图 51在KDS中新建工程步骤四5、在完成上述配置后,点击“Finish”可以看到如图 52所示的“Project Explorer”界面。图 52在KDS中新建工程步骤五6、在工程中,可以通过右击项目名选择“New”→“Source File”来新建文件,也可以通过拖拽功能将已有的源文件、头文件和目录等加入到工程中。
导入已有工程可参考以下步骤:
(1)在打开KDS后,选择“File” → “Import”
(2)在“Import”页中,选择“Existing Projects into Workspace”并点击“Next”。
(3)在“Import Projects”页中,选择“Select root directory”并点击“Browse”来选择已有工程的目标文件夹,选好后点击“OK”。
(4)在“Projects”框中会列举出目标文件夹中所有的工程,在需要导入的工程前的选项框内打勾,并点击“Finish”,如图53所示。图 53在KDS中导入已有工程3.2.1.3 编译与调试在开始编译程序之前,需要预先配置好工程的一些编译参数。右击要编译的Project并选择“Properties”,在“Proporties for example”页中可以看到工程的所有参数,如图 54所示。点击展开“C/C++Build”后在Settings中可以看到跟编译有关的参数,默认的参数一般无需修改,如需修改,请参照说明文档。图 54在KDS中配置编译参数在点击编译图标后,在相应的工程文件中看到编译生成的.elf文件,如图 55所示。图 55编译后生成的可下载文件在开始下载之前,需要先配置相关调试参数,如选择调试接口等。右击需要调试的工程并选择“Debug As”→“Debug Configurations”进入“Debug”配置页面,如图 56所示。也可以通过点击调试按键右侧的向下箭头来进入“Debug”配置页面。在“Main”选项卡中,需保证“C/C++ Application”一栏中所选的.elf文件为需要调试的工程对应产生的编译文件。对于“Debugger”和“Startup”两栏,根据调试器的不同,需要进行不同的配置,如图 56所示。图 56在KDS中调试配置图 57在KDS中进行调试配置完成后,将目标板与PC机通过USB线和相关调试器连接起来,依次点击“Apply”和“Debug”两个按键进入“Debug Perspective”,如图 57所示,可以程序已暂停在main()函数的初始处。这样就可以实际调试程序了。
表 1列出了工具条中各按键的主要作用。表 1在KDS中调试按键功能3.2.1.4 下载在程序调试完成后,需要将调试好的程序下载到FLASH中。
点击下载按钮,进入“Flash Configurations” 界面。配置可参考编译与调试中的要求相同。在完成配置后,依次选择 “Apply” 和 “Flash”,等待程序下载完成后,重新上电或手动复位后程序开始运行。
3.2.2 CodeWarrior集成开发环境CodeWarrior(简写为CW)原是Metroworks公司的产品,后来该公司被飞思卡尔收购,因此CW也就成为了飞思卡尔自己的IDE系统,目前已在业内使用多年。从10.0版本以后,CW开始使用Eclipse界面,能够支持不同架构的芯片,包括ColdFire、ColdFire+、DSC、Kinetis、PowerPC、Qorivva、RS08、S08和S12Z等。
目前针对飞思卡尔单片机的CW的最新版本是CodeWarrior for Microcontrollers v10.6。另外根据客户的用途和需求不同分为评估版、基础版、标准版和专业版,其中评估版是免费的,其支持代码和数据大小也是有限制的。以Kinetis系列MCU为例,K系列的限制为128 KB,E/L/M/V系列的限制为64 KB,如超出限制,则需要申请更高级的版本。
另外需要提醒的是,对于v10.6以后的版本,CodeWarrior不会再支持其后发布的Kinetis系列的产品,因此对于使用Kinetis新产品的用户,需要将软件平台逐步转移到其他IDE上,由于CodeWarrior与KDS所建立的工程兼容,因此推荐使用KDS完成IDE平台的切换。
CodeWarrior软件的安装包和相关文档的下载路径为:
软件/文档:飞思卡尔中文首页→软件和工具→软件中心→IDE-调试、编译与构建工具→微控制器→CodeWarrior for MCUs→下载/文档
[size=1em]在支持的调试接口、新建工程与导入工程、调试与编译等方面,CodeWarrior与KDS基本相同,此处就不作介绍,具体细节可以参照相关说明文档。
3.2.3 处理器专家(Processor Expert )PE(Process Expert)是一款支持Kinetis、ColdFire等多种不同内核的MCU的快速应用开发软件。该软件以图形化界面的方式快速配置MCU的内核及外设,生成相应的初始化及应用代码,省去手动编写底层驱动代码的繁复工作,从而大大提高了软件工程师的工作效率。其生成的代码可以支持KDS、CodeWarrior、IAR和Keil等多种IDE;另外,PE还以嵌入到基于Eclipse架构的IDE中,例如在KDS和CodeWarrior,可以直接使用嵌入的PE功能,PE所产生的代码将自动放置在相关工程下,然后在此基础上修改主程序就可以进行编译和调试。
KDS和CodeWarrior这两种IDE安装后都带有内置的PE,无需再额外安装。因此其安装过程就不再介绍。
3.2.3.1 在KDS或CW10.6中新建基于PE的工程下面以Kinetis K22为例,创建一个使用PE的KDS工程。使用KDS和CW的操作方法完全相同,下面以KDS为例说明操作的具体步骤:
1、首先,在KDS的选项栏中,点击“File”栏并选择“New”→“Bareboard Project”来创建一个新的工程。
2、出现工程向导界面如图 58,输入工程名并点击“Next”。
图 58工程设置向导3、选择芯片类型,此处选择“Kinetis K Series”→“K2x Family”→“K22”。点击 “Next”
4、在“Language and Build Tool Options”页中,选择C语言并 点击“Next”。
5、在“Rapid Appliation Developmen”页中,在“Rapid Appliation Developmen”组中,选中“Processor Expert”并点击 “Finish” 。至此一个包含PE功能的工程已建好,下面开始添加元件来配置所需的外设。
6、在“Component Library”中,找到相应组件(如FTM)并右击选择“Add to project”选项。
7、点击打开添加的组件,其具体配置显示在“Component Inspector”中。
8、根据所需要求进行以下配置初始化等参数。
9、在配置完成后,点击图标产生相应代码10、所产生的代码存放在 “Generated _ Code”文件夹中。可以看到FTM的相关初始化代码已自动完成,点击功能键即可编译运行。
图 59在KDS中使用Processor Expert生成代码3.2.3.2 使用独立的PE创建工程如果希望使用独立的Processor Expert生成驱动代码,并用于IAR、Keil等第三方开发工具中,则需要安装独立的PE软件。当前最新版本是V10.4。另外,对于使用一些最新器件的开发,如K22F,KV31等,还需安装相应的补丁包。
软件及补丁包的下载地址及链接如下:
软件:飞思卡尔中文首页→软件和工具→软件中心→嵌入式组件→Processor Expert软件→下载
如需在PE软件中使用KSDK,也需要安装KSDK的插件,步骤可参考KDS软件中安装KSDK的方法。另外,对于生成适用于第三方软件 的工程,在新建工程时,需要勾选相应的编译器,以便生成对应的链接器文件等,如图 60所示。
图 60在PE下建立适用于IAR开发环境的工程3.3调试与烧写工具Debugger&Programmer调试工具是开发工具链中的重要一环,方便耐用的开发工具对用户非常重要。接下来就介绍三种常用的调试工具。3.3.1 OpenSDAOpenSDA是飞思卡尔自主开发的一种调试平台。在该平台中烧写不同的调试固件,可以使其兼容不同的调试工具(如实现PEMicro Segger的JLink接口等)。下面介绍如何在FRDM-K22F板上使用OpenSDA来实现Jlink调试。
1、在Segger的官网上下载用于OpenSDA的固件库。下载地址为:www.segger.com/opensda.html。
2、如果FRDM-K22板通过USB线连接到PC机上,请将其拔下。
3、按住SW1键,然后用USB线连接PC机与板上的SDA USB接口。
4、松开 SW1键,可见板上一个LED灯在有规律地闪烁,且在PC机上能看到一个移动存储设备,其盘符为BOOTLOADER,表示目标板进入了bootloader模式,如图 61所示。
图 61OpenSDA处于BOOTLOADER模式下的显示5、将1中所下载的压缩包Jlink_OpenSDA_V2_1.zip解压缩,得到Jlink_OpenSDA_V2_1.bin文件。
6、将上述.bin文件复制粘贴到BOOTLOADER设备中并拔下USB线。
7、重新插上该USB线,在设备管理器中可见到如图 62所示的设备,表示固件烧写成功。
图 62固件下载成功后设备管理器中显示这样在IDE中就可以选择以Jlink调试下载程序了。另外OpenSDA还带有虚拟串口调试功能,串口格式如下:
波特率:115200 bps;1位起始位;8位数据位;无校验位;1位停止位。
在KDS中关于使用OpenSDA设置如图 63所示。
图 63在KDS中使用Jlink调试配置3.3.2 JLinkJlink是SEGGER公司为支持仿真ARM 内核芯片推出的JTAG仿真器,支持Cortex M0/M1/M3/M4等内核芯片,并与KDS、CodeWarrior、IAR 和keil等多种开发环境无缝连接,使用方便。
Jlink驱动的下载地址如下:www.segger.com/jlink-software.html,该驱动软件不仅提供了程序下载功能,另外J-Flash软件还可以不需要IDE软件独立地擦除与烧写程序,以及实现查看芯片的ID、RAM/FLASH大小、解锁芯片等功能。图 64JLink的标准20芯接口3.3.3 MultilinkP&E推出的USB Multilink Universal(FX)是一款高速一体化开发接口(USB Multilink Universal FX比USB Multilink Universal下载速度更快),它支持Kinetis、DSC等多种MCU。因此其包含多种调试接口以匹配不同种类的MCU,图 65为支持Kinetis系列相关的三种调试接口。图 65Multilink用于Kinetis系列调试的的3种接口在使用时,其连接顺序如下:1、确保目标板断电,并断开USB Multilink Universal与外部的连接。
2、打开Multilink的塑料外壳,选择合适的接口将其与目标板的调试接口连接起来。
3、将Multilink与PC机通过USB线相连。此时蓝灯亮。
4、将目标板上电,此时黄灯亮。
在断开连接时,请先将目标板断电。使用时请遵守连接顺序,否则可能到损坏调试器。
3.4量产烧录工具量产烧录工具多用于大规模烧写可编程控制器的场合,具有离线烧写,速度快,操作简单方便等优点。在大规模量产时,可用来节省人工成本并提高生产效率。下面给出四种烧录厂商及工具。
PEmicro:PEmicro针对不同的型号有两种烧录工具,分别为cyclone pro和cyclone max。其中 cyclone max支持Kinetis全系列的MCU型号。除了作为烧录工具,cyclone max还可以作为在线调试工具。
如需购买,请登陆以下网址:
www.freescale.com/zh-Hans/webapp ... mp;fromSearch=false
或者登陆PEmicro的官网:www.pemicro.com。
上海祥佑(MICETEK):Web: www.micetek.com.cn;TEL:021-32020061/62-8044
南京西尔特(XELTEK):Web:www.xeltek-cn.com;TEL:025-68161233
深圳鹏远电通(Eagle Comm):Web:www.mcuisp.com;TEL:13926556116
如果在使用上述烧录工具遇到问题时,可与烧录器厂家或技术支持联系。
3.5引导加载程序Bootloaderbootloader是一种面向用户应用程序的引导代码,可以在没有烧写器的情况下烧录用户程序,也可以用于在线更新程序,因此得到了广泛的实际应用。bootloader主要包含两部分功能,即利用外设接口(如UART/SPI/IIC/USB等)接收上位机发来的程序,以及将接收到的程序利用MCU内置的FLASH编程模块进行烧写。这两部分功能与MCU内部的外设及FLASH的配置密切相关,[size=1em]因此,飞思卡尔提供了三种实现bootloader的方式,用户可以直接使用或很方便地进行移植。在飞思卡尔官方网站的主页搜索栏中输入“Kinetis bootloader” 或 “Kinetis引导加载程序”,可以搜索到相关的资料,如图 66所示。图 66搜索Kinetis bootloader点击上图中的“Kinetis引导加载程序”,可以进入Kinetis bootloader的主页。在此页面的下方,可以看到飞思卡尔支持三种不同的bootloader实现方式的芯片列表,如图 67所示。图 67支持不同bootloader实现方式的Kinetis芯片列表3.5.1 预烧写在ROM中的bootloader图 68预烧写在ROM中的bootloader飞思卡尔某些型号的MCU中内置了专用的ROM来存放bootloader。对于某一型号的MCU是否带有ROM型的bootloader,可以从相对应的参考手册(RM)中是否有Kinetis ROM bootloader这一章节来确定,或者在数据手册(datasheet)的内存(memory)介绍中查找。另外,对于MCU复位后是先执行ROM中的bootloader还是直接执行用户的应用程序,是由内置FLASH中FOPT寄存器(偏移地址为0x40D)决定的。具体配置选择请参看参考手册(RM)中的Reset and Boot章节中的描述。关于使用哪一种外设接口来接收外部程序,接口功能复用在哪些引脚上等问题,都可以在参考手册(RM)的Kinetis ROM bootloader章节中找到具体的配置方法。
目前支持ROM型bootloader的Kinetis系列MCU包括KL03,KL27和KL43等。其中KL03的ROM bootloader包含SPI/UART/IIC三种接收方式,KL27和KL43还增加了USB的方式。
3.5.2 预烧写在FLASH中一次性bootloader图 69预烧写在FLASH中一次性的bootloader这种类型的bootloader在芯片出厂前预写在FLASH中,因此可以像ROM型bootloader一样直接使用。但与ROM型不同的是,上电后bootloader会从FLASH搬移到RAM 中运行,再将FLASH整片擦除并烧写用户程序,因此这种bootloader是一次性的。其优点是不需要片内ROM且方便量产烧写,缺点是无法支持以后的程序更新。
目前支持预烧写在FLASH中一次性bootloader的Kinetis系列MCU包括K22、K24和KV3x等。类似于FLASH型的bootloader的使用细节,也可在对应参考手册(RM)中的Kinetis Flashloader章节中找到。
3.5.3 开放源码的bootloader图 70提供开放源码可修改的bootloader这类bootloader的工作方式与前两种稍有不同,也是最常用的一种。这种方式将FLASH空间分为两个部分,一部分用于存储bootloader代码;另一部分用于存储用户应用程序代码。可以理解为FLASH中存储了两套完整的程序,在上电初始化时,首先执行bootloader程序,待其执行结束后再跳转到应用程序执行。由于应用代码的基址不再为0x0000,在切换过程中需要修改SCB_VTOR,来实现中断向量表的重映射。对于这种bootloader的细节描述,可参照应用笔记的说明。
对于希望定制自己的bootloader的开发者而言,这种提供开放源码的方式似乎更为合适。在Kinetis Bootloader页面的“下载”栏中,可以下载到针对K64的bootloader软件包,目前可支持K63和K64两种型号。用户可以根据MCU型号的不同,修改对应的外设驱动与FLASH烧写命令程序来实现移植。Kinetis bootloader的下载地址如下:
www.freescale.com/zh-Hans/webapp/sps/ site/prod_summary.jsp?code=KBOOT& fpsp=1&tab=Design_Tools_Tab
另外,上述三种方式bootloader在使用时,外部输入命令的格式是一致的。在Kinetis bootloader的下载包\bin\win文件夹中,有一个可执行文件blhost,可以在PC主机上使用命令行的方式完成上位机传送应用代码的功能。
对于目前芯片内部还没有嵌入bootloader的MCU,如Kinetis E系列、K60/K64、8位/16位MCU,32位ColdFire等,都可以在官网对应的下载页面内找到对应的通用型bootloader代码及说明文档。以KE02为例,在其主页上可以找到应用笔记AN4775,如图 71所示。
图 71KE02_IIC_bootloader文档及代码这部分通用型bootloader的上位机,可以参照文档AN2295(中文名为:开发人员的串行引导加载程序)及软件AN2295SW。AN2295的文档中不仅介绍了通用型bootloader针对不同MCU的工作原理及特性,还介绍了运用AN2295SW将bootloader的S19文件与主应用程序的S19文件合成一个S19文件的方法:这种做法简化了首次下载的过程。图 72通用型bootloader说明文档及上位机软件下载3.5评估板(EVB)为了缩短用户评估所选芯片以及提供硬件设计参考,飞思卡尔提供了大量的评估板,大部分评估板不仅包含了MCU的最小系统、引出的通用IO口、提供JTAG调试接口、提供板载调试器OpenSDA,还针对不同应用的芯片配置了USB口,触摸滑条和液晶显示等功能电路和接口。另外,这些外设的驱动程序在官网上也都一应俱全。针对Kinetis系列的评估,评估板按结构分为两种,分别是FRDM板和Tower板(塔式系统板)。一般来说FRDM板相对便宜,功能简单,而Tower板功能更加丰富,如图 73所示。图 73FRDM板与Tower板如何根据所选的MCU型号找到最适合用于评估的EVM板是评估的第一步。下面以K22为例,用两种方法来找到所需的评估板。
1、首先找到介绍K22的官网主页,路径为“产品”→“Kinetis ARM@ MCU”→“K系列”→“K2x USB MCU”→“K22_120MHz”。在该主页的右栏中间可以看到“推荐软件和工具”,其中可以看到针对K22有FRDM-K22F和TWR-K22F120M两种评估板。
图 74搜索合适的评估板的方式一2、在飞思卡尔的中文首页中,在“软件和工具”一栏中选择硬件开发工具。在该页面中,可以找到针对Kinetis系列的评估,有塔式系统模块化开发平台和飞思卡尔Freedom开发平台。这里选择塔式系统模块开发平台。在该页中,选择“展开MCU与处理器模块”→“Kinetis MCU模块”,如图 75所示。可见所有的Tower板都已列举出,在其中总可以找到跟您所选用的型号相同或相近的评估板。图 75搜索合适的评估板的方式二下面就以FRDM-K22F和TWR–K22F120M为例,介绍如何使用评估板。
3.6.1 Freedom开发平台(FRDM板)飞思卡尔Freedom开发平台是一种小型化、低功率和高性价比的评估和开发系统,十分适合针对Kinetis MCU系列器件进行快速应用原型设计和制作演示。
关于FRDM-K22F的原理图/软件包和说明文档的下载路径如下:
下载/文档路径:中文首页→产品→Kinetis ARM@MCU→K系列→K2x USB MCU→K22_120→推荐软件与工具(FRDM-K22)→下载/文档
K22的FRDM板上基本硬件单元包括:
电源电路:板上K22F的输入5V电源可由直流插座J23或用SDA的USB口提供,输入的5V电源经过LDO输出3.3V供给板上主MCU及其他外设。在测量MCU功耗时,可将R62和R63两电阻取下,将J15线引出即可测量供给MCU的电流值以便测量功耗。
JTAG调试电路:板上引出了SWD的调试接口,只需通过拿掉J10和J13的跳线来断开OpenSDA与主MCU的连接即可。J11的封装为标准的10脚封装(脚间距0.05’)。
晶振电路 :MCU上电后初始化为使用内部时钟源,可以通过修改软件选择外部时钟源,所支持的外部主晶振的频率范围为32-40 KHz以及3-32 MHz。该板上的晶振频率为8 MHz。另外板上的32.768 KHz的晶振用于给RTC提供时钟源。
复位电路:板上按键SW2给主芯片提供复位信号,同时SW2也与OpenSDA连接,长按SW2也可使OpenSDA进入booloader模式。
3.6.2 塔式系统模块化开发平台(Tower板)飞思卡尔塔式系统是一个为8位、16位和32位微控制器设计的模块化开发平台,基于该平台,研发人员可通过开速原型技术进行样机研制。通过这个平台,用户可以采用搭积木的方式将各种功能板组合在一起,实现用户需要的各种功能。它为设计者提供了基本的模块单元,以满足微控制器进一步开发的需要。
关于TWR-K22F120M的原理图/软件包和说明文档的下载路径如下:
下载/文档路径:中文首页→产品→Kinetis ARM@MCU→K系列→K2x USB MCU→K22_120→推荐软件与工具(TWR-K22F12M)→下载/文档3.6.3 如何申请EVB关于如何得到相关的评估板,有两种方法。1、直接联系代理商,向其索要评估板。代理商的具体联系方法请参见通过FAE得到技术支持小节的介绍。
2、在飞思卡尔网上订购,如图 76所示。
图 76获取评估板的方式3.6.4 按产品分类的开发板及相关资料列表及链接表2Kinetis系列主要芯片3.7Kinetis 软件开发套件Kinetis SDK是针对于Kinetis系列MCU所做的软件开发套件,又称为KSDK。它由强大的外设驱动代码库,协议栈库与示例代码库等部分组成,能够简化和加快对于Kinetis系列MCU的应用开发。另外,Kinetis SDK是免费的工具,而且所有的硬件抽象和外设驱动软件均开放完整源代码。目前最新版本为1.1.0,支持KL03、KL43、K02、K22、K24、K63、K64和KV3x这八种型号的MCU,随后会不断更新完善,直至能覆盖支持所有的Kinetis系列MCU。3.7.1 KSDK的下载与安装以下是Kinetis SDK的下载路径及相关文档路径。
下载/文档 路径:中文首页→软件和工具→软件中心→软件开发套件→用于Kinetis MCU的软件开发套件→下载/文档
下载安装包后,只需根据向导即可完成安装。安装结束后,在安装路径中可看到如下文件夹,这些就是Kinetis SDK的主要内容,如图 77所示。
图 77KSDK的完整文件开始使用SDK之前,还需要完成以下两个步骤:
1、在KDS中安装于SDK有关的eclipse插件。这一部分内容已在KDS软件下载与安装中有介绍,这里不再重复。
2、设置环境变量。右击“我的电脑”,依次点击“属性”→“高级系统设置”→“环境变量”可以看到如何添加新的环境变量,并按图 78方式相应设置。
图 78设置环境变量3.7.2 KSDK的结构介绍Kinetis SDK的结构如图 79所示,它包含了由底层头文件到硬件抽象和外设驱动软件、以及用户应用的完整功能。由图中不同模块的放置位置,可以看出模块之间调用与被调用的关系。下面对各个模块逐一进行介绍。图 79KSDK的总体结构1、CMSIS Core Header Files/SOC Header, IP Extension Header Files/CMSIS DSP[size=1em]这一层是芯片主要寄存器的地址定义,包含了与CMSIS兼容的内核定义头文件和DSP运算库。此外,还有针对不同型号芯片的外设定义头文件。所在位置路径为:“安装目录”→“platform”→“CMSIS”。
2、Hardware Abstraction Layer
[size=1em]这一模块称为硬件抽象层,简称HAL,主要负责基础模式的设置,可以理解为对底层寄存器的设置,省去了手工配置寄存器的麻烦。针对每个外设IP,都有相应的HAL文件与之对应。同时每个HAL文件也只负责与该外设IP的配置。因此,HAL层具有一定底层驱动的抽象意义,但所完成的功能相对简单。所在位置路径为:“安装目录” → “platform”→“drivers”。[size=1em]
3、System Services
系统服务模块主要涉及一些常见的系统功能,包括中断管理、时钟管理、功耗管理和定时器管理。这一模块常与HAL配合使用,提供给上层的OSA和Peripheral Drivers模块以完成更多的功能。所在位置路径为:“安装目录”→“platform”→“system”
4、Peripheral Drivers
这一模块称为外设驱动层,简称PD。PD所完成的功能比HAL更加丰富,主要通过调用HAL和System Svevices来实现,通常PD可能调用一个以上的HAL模块。它们两者是不同的,以UART模块举例来说,UART的HAL模块只是完成了字节形式的收发功能,而其PD模块则能支持基于中断的数据流传送,或将DMA与UART配合使用。目前PD模块支持了多数的典型用法,但也没有列举完全,如UART的PD模块不支持智能卡等,这些应用会在以后更新中陆续加入。所在位置路径为:“安装目录” → “platform”→“drivers”。
5、OSA
OSA的全称为Operating System Abstraction,操作系统抽象层。OSA用于设置SDK在一些操作系统上运行,对于不同的操作系统,在OSA层上进行了统一的封装,比如MQX和FreeRTOS信号量的使用存在很大差异,但利用OSA提供的函数,可以完全屏蔽不同操作系统的差异,当然也支持裸板模式。目前的版本包含了操作系统Kernel的大多数服务的抽象,这些操作系统包括MQX、FreeRTOS、μC/OS-II、μC/OS-III。所在位置路径为:“安装目录” →“platform”→“osa”。
6、Stacks and Middleware
这一层包含了一些软件堆栈与协议等,如USB协议栈、TCP/IP协议栈和文件系统等。
7、Board Configration
针对不同的EVM板,都有相应的SDK例程与之对应。这一模块用于配置不同EVM上的管脚复用、外设时钟给定等来实现兼容。“安装目录”→“boards”。
另外,KSDK提供了许多完整例程,可以基于EVM板运行,帮助用户学习KSDK的结构与功能,所在位置路径为:“安装目录”→“demos”。关于如何移植KSDK来完成用户应用的开发,请参考飞思卡尔单片机软件开发指南的介绍。
3.8如何获取参考代码和参考设计在开发应用软件时,用户不仅可能需要针对底层单个外设的驱动,还需要比较复杂功能的软件实现,甚至是一个产品或应用的整体方案。飞思卡尔有许多资源能够帮助用户在不同的开发状态下顺利完成项目。3.8.1 例程代码(Sample Code)例程代码对于MCU软件开发上手十分重要。下面给出四种找到相关代码例程的方法:
1、Kinetis SDK(适合于已涵盖型号的MCU):如上述介绍,KSDK是一种功能强大的软件开发套件,但目前还没有覆盖所有的型号。对于已经涵盖的型号,除了通过前面介绍的路径直接找到外,也可从所涵盖型号的主页下的“软件与工具”选项页中找到。
2、[size=1em]Sample Code Package(SC,适合于尚未被SDK包含的MCU):对于目前还没有被SDK涵盖的MCU型号,会由包含了针对某个型号的几乎所有模块驱动库的例程代码来支持。相比较SDK而言,SC的结构简单,更易于上手,但功能较弱。另外其一般被放置在对应型号的Tower板的主页中,以K64为例,路径如下:下载路径:“K64主页”→“软件和工具”→“硬件开发工具-评估/开发板与系统”→“TWR-K64F120M”→“下载”→“软件开发工具”。
图 80在对应MCU下的sample Code3、IDE安装路径下的Sample Code(适合于安装CodeWarrior等IDE的用户):对于安装了CodeWarriord的用户,在其安装目录下也能找到针对不同系列的许多Sample Code。对于Kinetis的K系列为例,其路径如下:“CodeWarrior的安装根目录”→“MCU”→“CodeWarrior_Examples”→“Kinetis_Examples”图 81CodeWarrior安装目录下的Sample Code4、代码片段等:同样在某个型号MCU的主页中的软件开发工具中也有相应的实现某个具体功能的代码片段、引导代码等可供参考。例如:图 82代码片段3.8.2 应用笔记对于比较复杂功能的软件实现,例如如何在Sigma-Delta ADC上实现FFT、如何使用DMA和GPIO来模拟PWM等,有关实现的功能原理与实现步骤都会以应用笔记的形式记录下来,而且一部分应用笔记还带有示例程序。
要准确快速地找到相关应用笔记,首先应该在所选芯片的文档中查找,对于带有例程的应用笔记,也会有图标显示。
图 83搜索应用笔记的方式一另外,使用文档搜索功能,能够更全面地查找到已有的AN。下面以K22为例给出搜索所有相关AN的步骤。
1、点击首页上的搜索按键。
图 84搜索应用笔记的方式二步骤12、点击左边栏中的“文档”。
3、在“过滤方式”中,依次选择Kinetis_MCU、K2x_USB_MCU。文档类型中选择“应用说明”。
图 85搜索应用笔记的方式二步骤2、33.8.3 参考设计参考设计通常是针对某个应用的完整解决方案,包括硬件设计、软件代码和原理说明等。
3.8.3.1 如何搜索参考设计使用“软件和工具”中的高级搜索功能能够帮助您找到最合适的参考设计。下面介绍如何搜索与Kinetis 的K系列相关的DRM(Design Reference Manual)。
1、点击飞思卡尔官网主页上的“软件和工具”。在中间一栏的下方找到该功能“高级搜索”。
2、在软件和工具一栏中选择“参考设计”。
3、在支持的器件中递进式地选择“微控制器”→“Kinetis MCU”→“K系列”。
4、在应用领域中选择 “工业”,如图 86所示。
图 86CodeWarrior安装目录下的Sample Code在选择“提交”后,就能看到应用K系列MCU在工业领域中的参考设计。搜索到的结果如图 87所示。图 87参考设计的搜索结果注:由于飞思卡尔网站上的中文搜索功能不是很完善,建议用户使用英文进行搜索。
3.8.3.2 按应用分类的参考设计列表飞思卡尔在消费电子、工业、健康医疗、电机控制、智能能源等领域都具有较为完善的参考设计和解决方案,包括相关的应用文档和开发环境。可以到飞思卡尔官网下载相关资料,了解更多信息。3.9飞思卡尔单片机的生态系统(Ecosystem)飞思卡尔积极与嵌入式企业合作,为方便MCU的开发与应用,建立了工具链、操作系统、中间件等不同合作联盟,此外在汽车、通信、工业与消费电子等领域企业合作,为客户提供了强大完善的生态体系。图 88飞思卡尔单片机的生态系统上述不同企业根据其擅长领域的不同,为飞思卡尔提供了诸多支持,有的提供了基于CAN和TCP/IP的协议栈,有的提供了适用于物联网的WiFi技术,还有的提供了车载信息娱乐系统的解决方案。这些技术领先的企业对于飞思卡尔产品广泛深入的支持使得这个生态系统愈发丰富和强大,也使得用户的产品开发更加得心应手。
用户可以在飞思卡尔网站上查询到相关合作伙伴和生态合作系统的信息,如图 89所示,点击“支持服务与网络社区”→“支持资源”→“Freescale Connect合作伙伴计划”,就出现了搜索页面。
图 89搜索飞思卡尔和合作伙伴和生态系统
|