文档详情

K60硬件入门K60硬件入门.pdf

发布:2017-12-16约9.93千字共15页下载文档
文本预览下载声明
Introduction: 作为一个工科生,见到不懂的专业名词,一定不能犯怵。互联网是个 魔窟,百度哥是近乎无所不知的存在,有问题就找他!不要指望笔者 来解释什么是总线,什么是RAM,这些名词释义百度上讲得很细致, 自己看吧!以下的介绍都是假设各位看官有比较好的电路和编程基础 而做的,如有疑问欢迎交流。 KJYQQ:544280548 Email:kongjiyao2010@163.com Overview: K60 是飞思卡尔公司推出的以 ARM-CORTEX-M4 为内核的 32 位 MCU。所谓32 位指的是微处理器的字长,也就是数据总线和地址总线 的位数,这意味着K60 有着相当强大的存储容量和数据吞吐能力。如 果把XS128 比作公交车,那么K60 就是一款豪华跑车,但是跑车也会 抛锚,巴士未必不能狂奔,最终的关键还是驾驭车辆的人。 开发一款芯片,有几样东西是必备的:IDE(程序编译器)、程序 烧写器、最小系统板、英文原版数据手册和示例程序。关于IDE,目 前主流的编译器是 IAR,CW 实在是太卡了,也有人用 Keil4,推荐使 用大众化产品,有问题方便交流。下载器有JTAG 和JLINK 两种,二 者各有优劣,JTAG 烧写程序比较稳定,但不具有在线的Watch(监视 变量)功能,只能断点调试,烧写flash 后必须重新上电才能复位, 而且没有解锁功能(当然如果需要解锁那么你的片子很可能已经玩完 了);JLINK 固件易被冲掉(我用的次数不多从未遇到这种情况),但 具有在线Watch 功能,烧写flash 后可以通过外部按键复位,可以解 锁芯片(用过,但尝试了N 次都没成功,估计是片子焊坏了……)。个 人感觉两种下载器差别不大,推荐使用JLINK 用于调试程序JTAG 用 于固化程序。最近新出一种BootLoader 下载方式,据说使用的是串 口,貌似非常方便,有兴趣的可以尝试一下。关于最小系统板,淘宝 上一搜就有,龙邱、蓝宙、野火、拉普兰德,各种牌子大同小异 (质 量差不多,价格都很贵!),笔者不会给任何一家商铺打广告,各位看 官如有需要可以自己去选购。当然,如果资金充足,建议购买大块的 开发板,外围电路比较完备,无需自己搭建,更加方便学习。接下来 是数据手册,这是开发芯片必备神器,一定要坚持看英文的(除非有 官方发布的完整中文版,很可惜没有!),几乎所有的硬件问题都可 以从手册中找到答案。不要盲目地购买以介绍芯片为内容的技术书 籍,这类书其实就是把厂家的数据手册翻译了一下,质量普遍较差, 我个人不建议购买!最后是示例程序,官方发布的驱动库实在是不敢 恭维,但网上有很多成熟的代码包,比如野火、拉普兰德推出的K60 驱动库,内容很全,代码质量也很高,可以直接拿来用,但编程的灵 活性会受到一定影响。我个人建议是先研究示例程序,寻找关键环节, 最后建立自己的驱动库,这样做有利于设计电路板时灵活配置引脚, 同时硬件操作有很强的时序性,谁先谁后是很有讲究的,使用自己的 驱动库,消除黑箱效应,方便寻找硬件驱动程序的Bug。 所谓的关键环节指的初始化程序中负责控制模块功能开启/关闭 和设置模块重要功能属性的代码。听起来比较拗口,举些例子说明一 下。模块功能的开启/关闭,比如我在程序中设置一个每1ms 计时一 次的时钟,初始化完毕后,我首先令其失效(Disable),因为我需要一 个从外部输入的触发信号来作为开始计时的标志,只有当该信号出 现,对应的定时器模块才使能(Enable),与之比较类似的还有中断使 能/关闭和模块时钟使能/关闭的设置。重要功能属性设置,以PWM 为 例,我们关心的指标主要有周期、占空比、初始极性、有效极性,以 此为目标寻找对应的代码,这样当程序中需要实时修改PWM 属性时, 单独调用对应的语句即可。研究例程序时一定要把手册用起来,关键 语句中涉及的寄存器操作一定要仔细翻看手册,哪一位该怎么设置, 先后顺序,置位还是清零,不能有一点马虎!在这给自己打个广告, 建议大家先研究我写的驱动库,代码量很小,常用功能都有(AD还不 是很完善)。大家在读代码的时候一定要注意看注释,寻找关键环节, 对照手册,这样有的放矢可以缩短学习时间。最后再提示一下,手册 中有两块内容经常被使用,一个是259 页的管脚功能表,另一个是264 页的引脚分布图。 GPIO (General purpose input/output) : K60 引脚众多,几乎每个引脚都有复用功能。芯片上电复位之后, 大多数引脚处于Disable 的状态,必须进行
显示全部
相似文档