ColdFire单片机在 Clinux上的应用
coldfire系列处理器介绍
飞思卡尔32位处理器分为powerpc系列、coldfire系列以及dragonball系列等。coldfire系列是重要的组成部分之一,它可以应用于工业控制、仪器仪表、民用产品、网络产品等领域。coldfire系列具有很好的性价比,它的价格从2美金到20美金不等。coldfire系列处理器拥有许多开发工具并为使用者提供了一些现成的解决方案,这使得使用者能够快速地开发出自己的应用产品。
coldfire处理器有v2核和v4核之分,52系列为v2核架构,54系列为v4架构。下面以v2核为例介绍其性能:
v2核拥有变长的risc指令集;有2个独立的流水线;用3个长字的fifo缓冲区将流水线彼此分离;32位的内部地址总线支持4gb的线性地址空间;32位数据总线;16个用户可用的32位通用寄存器;它支持高级语言结构的优化等许多性能。
mcf527x系列主要有mcf5270到mcf5275处理器,它主要适用于远程监控、数据安全加密设备、以太网集线器、家用路由器等产品。其主要特点是: v2 coldfire内核,在166mhz时钟频率下可具有159mips的处理能力;32 32位的增强型乘法累计单元以及硬件的除法器;具有8kb或16kb字节的可配置指令/数据高速缓存;具有丰富的外设接口;封装形式分为196管脚的bga和256管脚的bga封装。
mcf523x系列产品主要有mcf5232、mcf5235等,它的最大特点是增加了增强型的时序处理单元(etpu)。该功能特别适用于网络通信安全的产品。它也是其v2 coldfire内核结构。
mcf547x系列和mcf548x系列产品的主要特点是使用第四代增强型coldfire内核(v4e)。它们特别适用于工具自动化、流程控制、机器人、医疗仪器等。
除了上述处理器外,飞思卡尔coldfire系列还包括最早得到使用的mcf5272处理器,集成了以太网媒体接入控制器(mac)和网络应用软件的mcf5282处理器,以及集成外设和增强型乘法累加器的mcf5249处理器等。
clinux应用程序开发
目前所使用的coldfire编程环境主要有两种,下面以mcf5249开发板为例,介绍 clinux的运行与运用。
clinux应用程序开发
1. 建立宿主机开发环境
开发时使用宿主机上的交叉编译、汇编及链接工具形成可执行的二进制代码,然后把可执行文件下载到目标机上运行。
clinux的硬件开发环境主要有宿主机和目标板。宿主机建议安装redhat9.0版,目标板可选用mcf5249、5282、5272等。宿主机和目标板之间的连接可以采用并口线、串口线或者直连的网线。
2. 开发模式
首先在宿主机(pc机)上调试通过后,再移植到目标板上。这种方式下可以使用gdb调试工具。移植主要涉及到函数库问题以及改动makefile以适应不同的目标板。通常采用直接在目标板上进行开发的模式。将宿主机和目标板通过串口线相连,在宿主机上运行minicom作为目标板的显示终端,挂载宿主机硬盘,直接在目标板上调试应用。
直接在目标板上调试应用程序的方法有以下三种:
(1)打印串口。这是嵌入式系统最常用的调试手段,简单而实用、有效。
(2)使用log记录文件。
(3)gdb调试。
clinux驱动程序开发
clinux驱动程序开发从应用开发概念层次上看可分为上、中、下三层,最下层为硬件,中间层为嵌入式操作系统、最上层为应用程序。硬件层和嵌入式操作系统之间依靠驱动程序来连接,而嵌入式操作系统与应用程序之间通过调用来实现。
linux下,驱动程序是靠设备驱动程序来实现的,linux将不同的设备分归为三类:字符设备、块设备和网络设备。字符设备中常见的有串口、显示器、打印机等;块设备中常见的有硬盘、磁盘、光盘等;网络设备一般为各种网络接口。
clinux应用实例
基于 clinux的qspi数据采集
串行外围接口(spi)是飞思卡尔公司提出的同步串行外设接口,它允许cpu与各种外围接口器件以串行方式进行通信、交换信息。qspi模块提供队列传输性能的串行外围接口。
从 qspi结构上看,qspi模块有7个信号引脚,其中4个是片选信号。它有80个字节的qspi ram。它的控制逻辑与内部总线相连。队列控制区与地址寄存器相连。4个外围设备片选信号用于选择哪一个外部器件与qspi通信。片选信号只作简单的片选,但可通过外部4~16译码器来控制多达15个端口。
对于32位coldfire处理器可以采用三种方式控制qspi(以mcf5249为例),它们分别是:
1、裸机方式,即不需要 clinux的支持,直接mcf5249的qspi寄存器进行设置。
2、在 clinux中直接设置qspi寄存器,以用户应用程序的方式控制qspi操作。
3、以 clinux驱动形式加入qspi控制程序,同时为用户提供qspi接口。用户通过所提供的接口对qspi进行设置控制。
本文的数据采集方案是第3种方法。
基于 clinux的usb数据存储
基于 clinux的usb数据存储结构如图1所示,其中mcf5249开发板作为usb host端,u盘作为存储介质,可以实现数据灵活的存储与移动。

clinux中的usb驱动主要模块为:

评论