<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ColdFire單片機在 Clinux上的應(yīng)用

          ColdFire單片機在 Clinux上的應(yīng)用

          ——
          作者:飛思卡爾半導(dǎo)體 時間:2007-01-26 來源:《世界電子元器件》 收藏

          coldfire系列處理器介紹

          飛思卡爾32位處理器分為powerpc系列、coldfire系列以及dragonball系列等。coldfire系列是重要的組成部分之一,它可以應(yīng)用于工業(yè)控制、儀器儀表、民用產(chǎn)品、網(wǎng)絡(luò)產(chǎn)品等領(lǐng)域。coldfire系列具有很好的性價比,它的價格從2美金到20美金不等。coldfire系列處理器擁有許多開發(fā)工具并為使用者提供了一些現(xiàn)成的解決方案,這使得使用者能夠快速地開發(fā)出自己的應(yīng)用產(chǎn)品。

          本文引用地址:http://www.ex-cimer.com/article/20916.htm

          coldfire處理器有v2核和v4核之分,52系列為v2核架構(gòu),54系列為v4架構(gòu)。下面以v2核為例介紹其性能:

          v2核擁有變長的risc指令集;有2個獨立的流水線;用3個長字的fifo緩沖區(qū)將流水線彼此分離;32位的內(nèi)部地址總線支持4gb的線性地址空間;32位數(shù)據(jù)總線;16個用戶可用的32位通用寄存器;它支持高級語言結(jié)構(gòu)的優(yōu)化等許多性能。

          mcf527x系列主要有mcf5270到mcf5275處理器,它主要適用于遠程監(jiān)控、數(shù)據(jù)安全加密設(shè)備、以太網(wǎng)集線器、家用路由器等產(chǎn)品。其主要特點是: v2 coldfire內(nèi)核,在166mhz時鐘頻率下可具有159mips的處理能力;32 32位的增強型乘法累計單元以及硬件的除法器;具有8kb或16kb字節(jié)的可配置指令/數(shù)據(jù)高速緩存;具有豐富的外設(shè)接口;封裝形式分為196管腳的bga和256管腳的bga封裝。

          mcf523x系列產(chǎn)品主要有mcf5232、mcf5235等,它的最大特點是增加了增強型的時序處理單元(etpu)。該功能特別適用于網(wǎng)絡(luò)通信安全的產(chǎn)品。它也是其v2 coldfire內(nèi)核結(jié)構(gòu)。

          mcf547x系列和mcf548x系列產(chǎn)品的主要特點是使用第四代增強型coldfire內(nèi)核(v4e)。它們特別適用于工具自動化、流程控制、機器人、醫(yī)療儀器等。

          除了上述處理器外,飛思卡爾coldfire系列還包括最早得到使用的mcf5272處理器,集成了以太網(wǎng)媒體接入控制器(mac)和網(wǎng)絡(luò)應(yīng)用軟件的mcf5282處理器,以及集成外設(shè)和增強型乘法累加器的mcf5249處理器等。


          clinux應(yīng)用程序開發(fā)

          目前所使用的coldfire編程環(huán)境主要有兩種,下面以mcf5249開發(fā)板為例,介紹 clinux的運行與運用。

          clinux應(yīng)用程序開發(fā)

          1. 建立宿主機開發(fā)環(huán)境

          開發(fā)時使用宿主機上的交叉編譯、匯編及鏈接工具形成可執(zhí)行的二進制代碼,然后把可執(zhí)行文件下載到目標(biāo)機上運行。

          clinux的硬件開發(fā)環(huán)境主要有宿主機和目標(biāo)板。宿主機建議安裝redhat9.0版,目標(biāo)板可選用mcf5249、5282、5272等。宿主機和目標(biāo)板之間的連接可以采用并口線、串口線或者直連的網(wǎng)線。

          2. 開發(fā)模式

          首先在宿主機(pc機)上調(diào)試通過后,再移植到目標(biāo)板上。這種方式下可以使用gdb調(diào)試工具。移植主要涉及到函數(shù)庫問題以及改動makefile以適應(yīng)不同的目標(biāo)板。通常采用直接在目標(biāo)板上進行開發(fā)的模式。將宿主機和目標(biāo)板通過串口線相連,在宿主機上運行minicom作為目標(biāo)板的顯示終端,掛載宿主機硬盤,直接在目標(biāo)板上調(diào)試應(yīng)用。
          直接在目標(biāo)板上調(diào)試應(yīng)用程序的方法有以下三種:

          (1)打印串口。這是嵌入式系統(tǒng)最常用的調(diào)試手段,簡單而實用、有效。

          (2)使用log記錄文件。

          (3)gdb調(diào)試。

          clinux驅(qū)動程序開發(fā)

          clinux驅(qū)動程序開發(fā)從應(yīng)用開發(fā)概念層次上看可分為上、中、下三層,最下層為硬件,中間層為嵌入式操作系統(tǒng)、最上層為應(yīng)用程序。硬件層和嵌入式操作系統(tǒng)之間依靠驅(qū)動程序來連接,而嵌入式操作系統(tǒng)與應(yīng)用程序之間通過調(diào)用來實現(xiàn)。

          linux下,驅(qū)動程序是靠設(shè)備驅(qū)動程序來實現(xiàn)的,linux將不同的設(shè)備分歸為三類:字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備。字符設(shè)備中常見的有串口、顯示器、打印機等;塊設(shè)備中常見的有硬盤、磁盤、光盤等;網(wǎng)絡(luò)設(shè)備一般為各種網(wǎng)絡(luò)接口。


          clinux應(yīng)用實例

          基于 clinux的qspi數(shù)據(jù)采集

          串行外圍接口(spi)是飛思卡爾公司提出的同步串行外設(shè)接口,它允許cpu與各種外圍接口器件以串行方式進行通信、交換信息。qspi模塊提供隊列傳輸性能的串行外圍接口。

          從 qspi結(jié)構(gòu)上看,qspi模塊有7個信號引腳,其中4個是片選信號。它有80個字節(jié)的qspi ram。它的控制邏輯與內(nèi)部總線相連。隊列控制區(qū)與地址寄存器相連。4個外圍設(shè)備片選信號用于選擇哪一個外部器件與qspi通信。片選信號只作簡單的片選,但可通過外部4~16譯碼器來控制多達15個端口。

          對于32位coldfire處理器可以采用三種方式控制qspi(以mcf5249為例),它們分別是:

          1、裸機方式,即不需要 clinux的支持,直接mcf5249的qspi寄存器進行設(shè)置。

          2、在 clinux中直接設(shè)置qspi寄存器,以用戶應(yīng)用程序的方式控制qspi操作。

          3、以 clinux驅(qū)動形式加入qspi控制程序,同時為用戶提供qspi接口。用戶通過所提供的接口對qspi進行設(shè)置控制。
          本文的數(shù)據(jù)采集方案是第3種方法。

          基于 clinux的usb數(shù)據(jù)存儲

          基于 clinux的usb數(shù)據(jù)存儲結(jié)構(gòu)如圖1所示,其中mcf5249開發(fā)板作為usb host端,u盤作為存儲介質(zhì),可以實現(xiàn)數(shù)據(jù)靈活的存儲與移動。

          clinux中的usb驅(qū)動主要模塊為:



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();