打印
[Kinetis]

从零入手Kinetis系统开发(二)

[复制链接]
791|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Vitality1|  楼主 | 2015-3-20 22:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

经过了上一篇的一阵啰嗦的准备,呵呵,该有的硬件和软件开发环境已经选择好了,下面该是我们大展身手的时候了。。。废话不多说了,首先想先以自己的理解分析介绍下飞思卡尔官方提供的k60最小系统的硬件电路和IAR例程的编程结构,这个很重要,先学学人家的在创新自己的(汗,不知不觉走上了中国制造思想的这条路,先模仿再超越,至于能不能超越???未知,呵呵)。

    说的这里我还想提一下,我在这里想分享的不仅仅是自己的开发过程和以后可能的一些代码(当然这部分很重要,想得到一些高手们的一些意见和交流),而是更重要的想分享给徘徊在初学者阶段的人学习一款新片子的完整流程也就是学习方法,授人以“渔”才是王道,呵呵,虽然这个流程我时至今日还在摸索完善,但是期望能给他们一些启发,因为身为一个搞电子的学生,都是从那一步走过来的,我深知其中的艰辛和渴望有人指点的迫切。至于这个流程,呵呵,随着本系列的深入,我相信会体会出来的~

    言归正传,首先介绍下FSL塔式结构的K60最小系统板子上的资源,上图:

   从图上我们可以看到,它几乎把K60的资源全部引出来了,原理图在附件:

   1、电源部分,USB供电,经过LDO转成3.3v,这里重点提一下,其实可以不用LDO而是采用K60自带的USB电压调节器,5v输入电压调节器输入端(VREGIN),输出(VOUT33)3.3v以供芯片工作,我上篇的板子就是这样用的,飞思卡尔显然也考虑到了,所以加了跳线选择;

   2、时钟部分,50MHz有源晶振,32768Hz实时时钟(RTC)。其中主时钟输入如果用到以太网模块的话需要引出,因为以太网的PHY和K60需要同相,很重要;至于RTC,供电VBAT则可以使用外部电源3.3v也可接纽扣电池,掉电保存;

   3、加速度传感器MMA7660,官方有个DEMO例程有个小应用用到它,还是挺好玩的,可以做些姿态感知;

   4、ADC,外接一个电位器,貌似这都快成为一个最小系统的(括弧:测试用的)的标配了,呵呵,用来测试AD模块的,官方例程有介绍;

   5、TSI,个人觉着FSL很好的一个资源,集成了电容触摸功能,在当下电容触摸红红火火的时候,这个飞思卡尔没有落下,挺好,呵呵;

   6、LED灯,这个也是标配了(想起了跑马灯,流水灯,呵呵,真怀念,哈哈),测试GPIO用;

   7、SD卡驱动,人家是正经的SD模式驱动,可不像俺以前搞的SPI模式(速度不是很快,还不稳,哎);

   8、infrared port,红外调制模块。


相关帖子

沙发
Vitality1|  楼主 | 2015-3-20 22:10 | 只看该作者

2、cpu文件组

   这个文件组涉及到了M4核文件arm_cm4,启动文件crt0.s、start.c、sysinit.c和向量表文件vectors.c。这几个文件都很重要,其中M4核文件包括了一些有关NVIC即中断模块的应用函数,例如使能和禁止IRQ中断,设置中断优先级等,至于启动部分都会统一在后面系列介绍,至于vectors文件则是缺省的向量表文件,这个以后用到中断设置的时候会用到,很重要。


使用特权

评论回复
板凳
Vitality1|  楼主 | 2015-3-20 22:10 | 只看该作者

3、drivers文件组

   这是驱动部分文件组,这个例程只写了三个部分的驱动,即多时钟产生器(MCG),异步串行通信(UART),看门狗(wdog)。这个文件组主要就是放置K60资源的驱动代码,这里只有三个,因为例程里只用到了这三个模块,可以直接调用其内部子函数。


使用特权

评论回复
地板
Vitality1|  楼主 | 2015-3-20 22:11 | 只看该作者

4、IAR文件组

   这个文件组为IAR环境的配置模式文件组,每个icf文件代表一种配置模式,其内部对K60内存映射做了相应的的分配,从每个文件名就可以看出其含义,具体区别和分析,将在下系列做详细的介绍。


使用特权

评论回复
5
Vitality1|  楼主 | 2015-3-20 22:11 | 只看该作者

5、platforms文件组

   这个是平台文件组,内部包括了跟相应平台相关的硬件配置定义。像这个例程,就包括了UART通信端口和波特率的定义和系统全局时钟的定义。

6、project文件组

   这个才是我们最喜欢的真正“main”文件组了,呵呵,把gpio_k60.c当成main.c就是了。我们在工程开发相关的文件可以放到这个文件组里,这个例程是实现K60的GPIO功能,所以添加了gpio_k60.c文件。另外isr.h文件则是编写中断服务程序需要用到的头文件了,里面定义了所需中断的中断向量和中断服务程序的声明。

7、output文件组

   这个文件组包括了整个工程编译链接后生成的文件,其中.map文件描述了K60最后的内存分配情况,在里面可以查看工程耗费的ROM容量和RAM容量还有一些变量函数等等的地址,还是挺有用的;out文件则是最后生成的文件,调试下载所需的文件。

   这篇主要对K60 Tower系统官方的的硬件和软件进行了简单的介绍,有了这个基础才能建立自己风格的硬件和软件环境。人家的毕竟是人家的,用着不舒服,只有自己消化吸收了用自己容易理解的风格建立一套有自己特色的开发系统才是正道


使用特权

评论回复
6
FSL_TICS_ZJJ| | 2015-4-10 14:43 | 只看该作者
非常感谢你关于Kinetis的经验分享 !

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

421

帖子

9

粉丝