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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于eCos系統(tǒng)的SPCE3200中SD卡驅(qū)動(dòng)程序的開發(fā)

          基于eCos系統(tǒng)的SPCE3200中SD卡驅(qū)動(dòng)程序的開發(fā)

          作者: 時(shí)間:2009-06-17 來源:網(wǎng)絡(luò) 收藏

           設(shè)備程序是介于硬件和嵌入式內(nèi)核之間的軟件接口,是一種底層的、專用于某一硬件的軟件組件。在[1]中,設(shè)備程序以包(Package)的形式存在,當(dāng)需要使用該設(shè)備時(shí),通過環(huán)境配置工具把該設(shè)備程序包加載到內(nèi)核中,編譯后生成一個(gè)庫文件,用戶使用時(shí),只需要打開該設(shè)備,直接調(diào)用接口API函數(shù)即可。設(shè)備驅(qū)動(dòng)程序的作用如圖1所示[2]。

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

           在eCos中一般把設(shè)備分為4類:字符設(shè)備、塊設(shè)備、網(wǎng)絡(luò)接口、其他設(shè)備。
            是凌陽公司推出的一款32位支持處理器,其內(nèi)部具有卡控制器,屬于塊設(shè)備類[3]。對(duì)內(nèi)部的卡控制器必須編寫驅(qū)動(dòng)程序,以便完成卡的讀寫操作。下面將介紹具體實(shí)現(xiàn)過程,這里規(guī)定使用“/dev/sd”作為其名稱。
          1 建立驅(qū)動(dòng)程序目錄結(jié)構(gòu)
            在編寫驅(qū)動(dòng)程序前,首先需要為驅(qū)動(dòng)建立其目錄結(jié)構(gòu)。eCos系統(tǒng)要求所有驅(qū)動(dòng)程序均保存在/packages/devs目錄下的對(duì)應(yīng)子目錄內(nèi),按照?qǐng)D2所示在eCos/ packages/devs/sd/Spce3200 目錄下分別建立名為“cdl”、“include”、“current”3個(gè)目錄,分別用于存放SD卡驅(qū)動(dòng)所需的cdl文件、驅(qū)動(dòng)程序頭文件和源程序文件。

          2 建立SD卡驅(qū)動(dòng)程序文件
            在cdl目錄內(nèi),首先創(chuàng)建一個(gè)叫做“sd_spce3200.cdl”的文件。然后,在src目錄內(nèi)建立一個(gè)名為“sd_spce3200.c”驅(qū)動(dòng)程序的源程序,并將名為“sd_card_driver_spce3200.c”的文件復(fù)制到src目錄內(nèi),該文件是凌陽科技提供的針對(duì)內(nèi)部SD卡控制器的基本操作程序。

          3 設(shè)計(jì)SD卡驅(qū)動(dòng)的CDL文件

            CDL(Component Definition Language)是eCos組件框架的一個(gè)關(guān)鍵部分。eCos中所有的包都必須具有至少一個(gè)CDL腳本對(duì)其進(jìn)行描述[4]。CDL腳本包含了該包中所有配置選項(xiàng)的詳細(xì)信息,并提供了如何對(duì)該包進(jìn)行編譯的信息[5]。這里,在CDL文件的模板框架中添加關(guān)于SD卡配置項(xiàng)的代碼如下:
            cdl_package CYGPKG_DEVS_SD_SPCE3200 {
            display 'SD driver for SPCE3200'
            include_dir cyg/io
            compile sd_card_driver_spce3200.c
            compile -library=libextras.a sd_spce3200.c
            description 'SD driver for SCORE SPCE3200'
            cdl_component CYGPKG_DEVS_SD_SPCE3200_OPTIONS {
            display'CompileOptions'
            flavor rnone
            no_define
            cdl_optionCYGDAT_DEVS_SD_SPCE3200_NAME{
            display 'Device name for theSDDriver'
            flavor data
            default_value{''/dev/sd''}
            description ' This option specifies the name of the sd-card device'
            }
            }
            }


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();