飞思卡尔K60入门
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
山东大学 Kinetis培训
K60内部资源介绍
山东大学 Kinetis培训
K60内部资源介绍
K60(K60N512VLL100)
封装 可用IO FLASH RAM LQFP100(14mm*14mm) 70 512kbyte 128kbyte
非易失存储
CPU类型 CPU最大速度 完整并行IO
无
ARM Cortex-M4 100M PTC0-15,PTD0-7
成于Eclipse,也败于 Eclipse,需要运行在 java虚拟机之上,软 件体积庞大,对PC机 硬件要求高。 不支持生成启动代 码,需要自己建立 开发模板,上手较 难。 编译速度较慢,效 率一般。
缺 点
山东大学 Kinetis培训
Kinetis调试工具
目前Kinetis的调试工具主要有飞思卡尔自己的 OSBDM及USBDM、P&E Multilink、J-Link和 ulink等等,其中JLink(目前发展到V8版本)以其 支持范围广、价格便宜、速度快等优势得到广泛 应用。
山东大学 Kinetis培训
Kinetis开发环境
CodeWarrior10.2 山东大学 Kinetis培训
Kinetis开发环境
IAR 6.3 山东大学 Kinetis培训
Kinetis开发环境
山东大学 Kinetis培训
开发环境对比
Codewarrior
优 点
IAR
Keil MDK
1、基于Eclipse开发 1、界面简洁,操作 1、界面简洁而且 平台,编辑界面交互 方面; 友好,上手简单; 功能强大; 2、老牌编译器厂商, 2、被ARM收购, 2、采用GCC编译器 自家的IAR编译器的 编译器对ARM内核 和GDB调试器; 编译效率较高; 支持相对较好; 3、对飞思卡尔的 3、第三方插件支持 3、可以向导化生 MCU支持较好。 丰富; 成启动代码,方面 4、可以向导化生成 4、支持在线实时仿 开发。 启动代码,上手简单。 真。
ARMv7根据应用分类:
• 应用处理器(Cortex-A系列) Aplication Processor • 实时控制器(Cortex-R系列) Real-time Processor • 微控制器(Cortex-M系列) Micro Controller 山东大学 Kinetis培训
最快频率、最高性能、合理功耗 即
山东大学 智能车工作室
By jicheng0622 http://blog.chinaaet.com/jihceng0622
ARM Cortex-M4学习与实践
——基于飞思卡尔Kinetis系列
山东大学智能车工作室 纪成 2013年3月
山东大学 Kinetis培训
内容安排
1
2 3 4 5 6
飞思卡尔Kinetis功能特性 K60开发生态系统介绍 IAR+Jlink开发K60方法 K60代码框架分析 K60外设资源在智能车中的应用 K60学习资源整理
山东大学 Kinetis培训
K60内部资源介绍
K60(K60N512VLL100)
UART SPI I2C 4个(UART0~UART3) 3个(SPI0~SPI2) 2个(I2C0~I2C1)
Input Capture输入捕捉
PWM
Flex Timer模块,有硬件16bit计数器,至少8通道
Flex Timer模块,16bit计数器 FTM0——8通道 FTM1——2通道 FTM2——2通道 1个(SDHC0) 所有IO都可触发中断(PTA~PTE) 56个源,16通道
J-Link
P&E Multilink
OSBDM
山东大学 Kinetis培训
Kinetis调试工具
山东大学智能车工作室根据开源资料,自行设计了OSBDM调试器和 USBDM调试器,其中OSBDM由飞思卡尔官方开源,目前由P&E公司维护, USBDM由网友pgo开源和维护。 经过二次设计和完善,目前山大设计的OSBDM分别支持CW、IAR和 Keil MDK三种开发环境,而且支持飞思卡尔几乎全系列MCU,包括: Freescale HCS12/HCS12(X)/HCS08(已测试MC9S12DG128、MC9S08JM60) Freescale Coldfire V1,V2,V3,V4(已测试MCF52259) Freescale DSC全系列(已测试MC56F8366) Freescale PowerPC架构的Qorivva系列(已测试MPC5604B) Freescale Cortex-M4核的Kinetis系列(已测试K10、K60)
清零RAM中初始化为 0的.BSS段
初始化锁相环PLL
跳转到main函数
山东大学 Kinetis培训
内存映射.map文件分析
山东大学 Kinetis培训
五、K60外设资源在智能车 中的应用
山东大学 Kinetis培训
K60外设资源在智能车中的应用
K60高精度高速的AD,可以有效的采集传感器模拟参数; K60的每个IO都可以设置为中断触发源,为智能车硬件设 计提供更大的灵活性; K60的FTM模块可以提供PWM通道,控制智能车的舵机和 电机; K60的PIT模块实现周期性中断,提供时间基准,或者与 LPTMR模块的脉冲累加功能实现速度测量; K60使用ARM Cortex-M4的核,具有1.25DMIPS/MHz的运 算能力,另外还有单时钟周期乘法累加(MAC)单元,优 化的单指令多数据(SIMD)指令、饱和运算指令等,使 更加复杂的处理算法的实现成为可能。
山东大学 Kinetis培训
K60启动代码分析
RestHandler
清零通用寄存器组
跳转到Kinetis_Start_C
关闭看门狗
把以ram_function声明 的函数拷贝到RAM中
复制初始化数据 段.data到RAM
修改中断向量表地址 为RAM中的地址
如果从ROM启动, 则复制中断向量表 到RAM中
山东大学 Kinetis培训
K60上电启动顺序
(6)单片机/RESET引脚释放,但是系统复位状态继续保持, 一直到上面的Flash控制器初始化完毕(如果Flash控制器提前 初始化好,则/RESET引脚释放后立即从POR状态苏醒); (7)Kinetis从复位状态唤醒之后,开始设置堆栈(stack), 程序计数器(PC)和连接寄存器(LR),即从中断向量表地 址0读取内容给堆栈指针,地址4读取内容给PC指针,LR寄存 器设置为0xFFFF_FFFF。 (8)上面三个寄存器设置好了之后,单片机就开始从PC指针 指向的地址开始执行代码了,即进入启动代码阶段,最后才转 到main开始执行。
模拟比较器
开发环境
3通道
CW10.1、IAR、MDK
山东大学 Kinetis培训
软件应用
调试工具
开发环境
二、K60开发生态系统
其 他 支 持
山东大学 Kinetis培训
Kinetis开发环境
支持Kinetis开发的IDE(集成开发环境)目 前主要包括CodeWarrior10.1及以上版本, IAR6.1及以上版本和Keil MDK(即Keil for ARM)等。
安全外设。飞思卡尔公司以及其他大量的ARM第三方应用商提
供对Kinetis 微控制器的应用支持。
山东大学 Kinetis培训
飞思卡尔Kinetis家族
山东大学 Kinetis培训
飞思卡尔Kinetis K系列
增加以太网,硬件 加密,温度检测和 DRAM控制器 增加图形液 晶驱动
增加USB 功能
增加模拟测量引 擎,以太网和硬 件加密
实时响应、合理性能、较低功耗
一般性能、最低成本、极低功耗
ARM Cortex-M4特性
ARM Cortex-M4处理器是在M3的基础上强化了运算能力,采用一个 扩展的单时钟周期乘法累加(MAC)单元,优化的单指令多数据(SIMD )指令,饱和运算指令和一个可选的单精度浮点单元(FPU),源于 Cortex-M4系列一些创新性的技术,包括: RISC处理器内核,高性能32位CPU、具有确定性的运算、低延迟3阶段 管道,可达1.25DMIPS/MHz; Thumb-2指令集,16/32位指令的最佳混合,提供最佳代码密度; 低功耗模式,支持多种状态低功耗模式; 嵌套矢量中断控制器(NVIC),低延迟、低抖动中断响应、支持以纯C 编写中断服务例程,能出色的完成中断处理; 广泛的工具和RTOS支持,广泛的第三方工具支持、Cortex微控制器软 件接口标准(CMSIS)最大限度缩短开发周期和难度; CoreSight调试和跟踪,JTAG和2针串行线调试(SWD)连接、支持多 处理器、支持实时跟踪。
山东大学 Kinetis培训
飞思卡尔Kinetis家族
Kinetis系列是由飞思卡尔推出的业界第一款基于ARM
Cortex-M4内核的混合信号微控制器,采用飞思卡尔创新的 90nm薄膜存储器(TFS)闪存技术,具有独特的Flex存储器
(可配置的内嵌 EEPROM)。
Kinetis 微控制器系列融合了最新的低功耗革新技术,具有 高性能、高精度的混合信号能力,宽广的互连性,人机接口和
增加段式液 晶的驱动
增加USB 功能 山东大学 Kinetis培训
Kinetis 命名规则
字段
Q K## A M FFF R T
说明
质量状态 Kinetis系列号 内核属性 K20
取值
M=正式发布芯片;P=工程测试芯片 D=Cortex-M4 w/DSP;F= Cortex-M4 w/DSP和FPU
山东大学 Kinetis培训
一、飞思卡尔Kinetis功能特性
1、ARM发展史 2、ARMv7处理器分类 3、ARM Cortex-M4特性 4、飞思卡尔Kinetis家族介绍 5、K60内部资源介绍
山东大学 Kinetis培训
ARM发展史
ARM架构发展历程
山东大学 Kinetis培训
ARMv7处理器分类
Flash存储类型 N=仅包含程序Flash;X=包含程序Flash和FlexMemory 程序Flash大小 32 = 32 KB;64 = 64 KB;128 = 128 KB;256 = 256 KB; 512 = 512 KB;1M0 = 1 MB 硅材料版本 温度范围 空=主要使用的版本;Z=初始版本;A=主要使用版本的 更新 V = –40到105摄氏度;C = –40到85摄氏度
四、K60代码框架分析
山东大学 Kinetis培训
K60上电启动顺序
(1)上电起初,单片机的电压调节器会把整个系统置于POR(上 电复位)状态的上电阶段,一直到工作电压达到了可以让单片机 正常工作的电压阈值之后才释放这个上电阶段,进入复位阶段; (2)在复位保持期间,由单片机内部的模式控制复位逻辑统筹支 配整个复位阶段的执行顺序; (3)首先MCG模块使能,并默认为FEI时钟模式; (4)相应模块的时钟使能,包括Coreclock,Systemclock, Flashclock,busclock等这些不需要门控(clock gate,M4的特色) 控制的时钟; (5)Flash控制器从复位状态释放(注意这时外部RESET脚仍然保 持低电平),并且执行一系列的初始化操作(因为要为接下来的 代码执行做准备了);
山东大学 Kinetis培训
பைடு நூலகம்60外设资源
GPIO模块 A/D模块 PWM模块 PIT模块
山东大学 Kinetis培训
Kinetis开发板
山东大学 Kinetis培训
三、IAR+Jlink开发K60方法
山东大学 Kinetis培训
IAR+Jlink开发K60方法
1、IAR代码模板结构分析 2、IAR模板移植 3、IAR项目工程设置技巧 4、Jlink调试技巧
山东大学 Kinetis培训
SD卡控制器 外部中断 DMA控制器 山东大学 Kinetis培训
K60内部资源介绍
K60(K60N512VLL100)
ADC通道数 ADC精度 ADC最大速度 ADC特殊功能 DAC 4组差分输入,24个单端 差分模式可编程16位,13位,11位和9位精度 单端模式可编程为16位,12位,10位和8位精度 361ksps/16bit, 818ksps/<=13bit 可编程增益的放大器(PGA) 硬件平均功能(Hardware Average Function) 12bit/1通道