999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SmartFusion和SPI的文件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)﹡

2013-09-25 02:14:14王銅柱蘇先海
通信技術(shù) 2013年8期
關(guān)鍵詞:嵌入式系統(tǒng)設(shè)計(jì)

王銅柱, 李 毅, 蘇先海

0 引言

隨著在FPGA中集成了軟核和硬核處理器后,F(xiàn)PGA的功能越來(lái)越強(qiáng)大,在單片F(xiàn)PGA上即可完成復(fù)雜系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn),而通過(guò)對(duì)FPGA進(jìn)行重新配置即可改變系統(tǒng)的功能,滿(mǎn)足用戶(hù)不同的需求,大大提高FPGA的利用率,但是丟電易失的特性使得其配置文件只能存放在非易失性存儲(chǔ)中,設(shè)計(jì)者需要考慮如何有效的管理與各種功能對(duì)應(yīng)的多個(gè)配置文件,因此移植 FatFs文件系統(tǒng)以達(dá)到對(duì)若干配置文件的管理,同時(shí)避免對(duì)存儲(chǔ)flash的直接訪(fǎng)問(wèn),避免誤操作,具有較高的實(shí)用價(jià)值。

1 FatFs文件系統(tǒng)

FatFs是專(zhuān)門(mén)針對(duì)小型嵌入式系統(tǒng)的通用 FAT文件系統(tǒng)模型。FatFs依據(jù)標(biāo)準(zhǔn)C規(guī)范編寫(xiě),完全和存儲(chǔ)介質(zhì)的讀寫(xiě) I/O分開(kāi),所以可以輕松移植到各種硬件平臺(tái)上,可以在其官方主頁(yè)[1]上下載其源代碼和使用說(shuō)明等信息,同時(shí)也提供了移植到PIC和ARM等低成本的微控制器上的示例程序。FatFs主要具有以下特性:①兼容FAT文件系統(tǒng);②不受應(yīng)用平臺(tái)限制,移植性好;③代碼空間和數(shù)據(jù)空間需求量小;④多樣的配置選項(xiàng):多種存儲(chǔ)媒介支持、長(zhǎng)文件名支持、RTOS支持等。

FatFs具有良好的層次結(jié)構(gòu)和方便的移植性,如圖1所示。FatFs共分3層。頂層的應(yīng)用層提供了一系列的應(yīng)用函數(shù),如f_open,f_close,f_read,f_write等,對(duì)使用者來(lái)說(shuō)屏蔽了FAT協(xié)議和FatFs內(nèi)部復(fù)雜的函數(shù),因而可以輕松完成相關(guān)文件操作。中間層FatFs實(shí)現(xiàn)了FAT文件讀/寫(xiě)協(xié)議,同時(shí)可以方便增加RTOS。底層是使用者需要處理的存儲(chǔ)介質(zhì)讀寫(xiě)I/O,如塊讀函數(shù)和塊寫(xiě)函數(shù)等。時(shí)鐘位如圖2所示。

圖1 FatFs的分層結(jié)構(gòu)

圖2 時(shí)鐘位

2 SmartFusion片上系統(tǒng)

SmartFusion芯片[2]集成了FPGA,Cortex-M3處理器,提供了豐富的外設(shè)資源,如圖 3所示。Cortex-M3是一款低功耗處理器,具有門(mén)數(shù)目少,中斷延遲短,調(diào)試成本低的特點(diǎn),是為要求有快速中斷響應(yīng)能力的深度嵌入式應(yīng)用而設(shè)計(jì)的,高性能,低功耗,易擴(kuò)展[3]。SPI控制器[4]以從模式與處理器通過(guò)APB總線(xiàn)連接,支持接入大存儲(chǔ)SPI flash和EEPROM器件,包含以Cortex-M3和以DMA兩種方式控制數(shù)據(jù)傳輸,本設(shè)計(jì)中選擇DMA方式進(jìn)行數(shù)據(jù)傳輸。

圖3 SmartFusion芯片架構(gòu)

3 FatFs文件系統(tǒng)的移植

FatFs移植的具體工作有兩步,即編寫(xiě)FatFs接口函數(shù)和FatFs里的配置函數(shù)。

3.1 FatFs接口需求

需要給出下列若干函數(shù)來(lái)控制對(duì)物理介質(zhì)的讀和寫(xiě),如表1所示。

表1 FatFs接口APIs

SmartFusion評(píng)估板上帶一片 Atmel SPI flash,AT25DF641-MWH-T,支持通用的塊擦除(4 Kbyte,32 Kbyte,64 Kbyte)和整片擦除[4]。

3.2 FatFs接口設(shè)計(jì)

存儲(chǔ)介質(zhì)初始化函數(shù)——DSTATUS disk_initialize (BYTE pdrv):本設(shè)計(jì)中就是spi flash的初始化及其解保護(hù)。pdrv是存儲(chǔ)介質(zhì)編號(hào),本設(shè)計(jì)只支持flash一個(gè)存儲(chǔ)介質(zhì),將pdrv設(shè)為0。

讀扇區(qū)函數(shù)——DRESULT disk_read (BYTE pdrv, BYTE *buff,DWORDsector,BYTE count):*buff為讀緩存,sector是起始扇區(qū)號(hào),count是需要讀的扇區(qū)數(shù)目。用spi flash函數(shù)API,以4Kb為單位進(jìn)行操作。讀取無(wú)誤返回0,錯(cuò)誤返回非0。

寫(xiě)扇區(qū)函數(shù)——DRESULT disk_write(BYTE pdrv,const BYTE *buff,DWORD sector,BYTE count):*buff為寫(xiě)緩存,sector是起始扇區(qū)號(hào),count是需要寫(xiě)的扇區(qū)數(shù)目。調(diào)用 spi flash函數(shù)API,以4Kb為單位進(jìn)行操作。寫(xiě)無(wú)誤返回0,錯(cuò)誤返回非0。

存儲(chǔ)介質(zhì)控制函數(shù)——DRESULT disk_ioctl(BYTE pdrv,BYTEcmd,void *buff):cmd是控制命令,*buff為存儲(chǔ)或接收數(shù)據(jù)緩存。本設(shè)計(jì)中只是簡(jiǎn)單的得到簇大小,簇?cái)?shù)量等信息。

實(shí)時(shí)時(shí)鐘函數(shù)——DWORD get_fattime ():直接調(diào)用SmartFusion芯片的RTC模塊,將得到一個(gè)32位無(wú)符號(hào)整數(shù),時(shí)鐘信號(hào)包含在這 32位中,如圖2所示。

3.3 FatFs配置

文件中ffconfig.h文件定義了所有相關(guān)的FatFs配置信息,通過(guò)FatFs的配置(如表2所示),可以根據(jù)需要對(duì)代碼進(jìn)行裁剪,以獲得最合適的代碼。

3.4 FatFs文件系統(tǒng)在SmartFusion芯片上的實(shí)現(xiàn)

如圖4所示,為帶有FatFs模塊的嵌入式系統(tǒng)的典型架構(gòu),需要在Application模塊中完成系統(tǒng)初始化,創(chuàng)建文件系統(tǒng)等工作,重寫(xiě)diskio.c文件中的若干函數(shù),在spi.c文件中完成對(duì)flash的若干操作。

表2 FatFs配置

圖4 帶有FatFs模塊的典型架構(gòu)

如圖5所示,系統(tǒng)相關(guān)初始化及創(chuàng)建文件系統(tǒng)流程,本設(shè)計(jì)將SPI配置為模式3,APB總線(xiàn)時(shí)鐘除以128,幀大小設(shè)置為8 bit[5]。

圖5 系統(tǒng)相關(guān)初始化及創(chuàng)建文件系統(tǒng)

采用DMA方式對(duì)flash進(jìn)行讀和寫(xiě)。創(chuàng)建文件系統(tǒng)時(shí),使用f_mount函數(shù)在FatFs模塊注冊(cè)一塊文件系統(tǒng)對(duì)象工作區(qū),使用f_getfree函數(shù)獲得空閑簇?cái)?shù)量,使用f_mkfs函數(shù)創(chuàng)建FAT文件系統(tǒng)。最后初始化并開(kāi)啟片上系統(tǒng)RTC,用于get_fattime函數(shù),以得到當(dāng)前時(shí)間。之后,便可以完成創(chuàng)建文件,重命名文件,復(fù)制文件等各種操作。整個(gè)操作通過(guò)串口進(jìn)行命令輸入,并打印出相關(guān)信息。最后成功創(chuàng)建了FAT12類(lèi)型文件系統(tǒng),簇大小4KB,整塊flash作為一個(gè)扇區(qū)。

4 結(jié)語(yǔ)

本研究以SmartFusion片上系統(tǒng)芯片為核心,以spi flash作為存儲(chǔ)媒介,移植了 FatFs,實(shí)現(xiàn)了用Cortex-M3微處理器對(duì)文件進(jìn)行讀寫(xiě)等功能。在數(shù)據(jù)量比較大的嵌入式系統(tǒng)中,嵌入 FatFs文件系統(tǒng)來(lái)管理數(shù)據(jù)會(huì)非常方便靈活,同時(shí)有利于降低成本,具有較為廣闊的應(yīng)用前景[6]。另外一方面,TFTP協(xié)議為小文件傳輸通信在嵌入式系統(tǒng)的應(yīng)用提供了一個(gè)可行方案,使用網(wǎng)口來(lái)將電腦中的文件發(fā)送至flash,可以遠(yuǎn)程對(duì)設(shè)備進(jìn)行升級(jí)[7]。

[1] ChaN.FatFs generic FAT file system module[EB/OL].(2013-01-23)[2013-05-11].http://elm-chan.org/fs w/ff/00index_e.html.

[2] Microsemi.SmartFusionCustomizable System-on-chip Datasheet[EB/OL].(2013-01-01)[2013-05-11].http://www.microsemi.com/fpga-soc/soc-fpga/smartfusion#documents.

[3] 孟惠霞,呂書(shū)勇.基于ARM的SD卡文件系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2009,42(07):135-136,150.

[4] Microsemi.SmartFusion microcontroller subsystem(MSS) user’s guide[EB/OL].(2012-09-01)[2013-05-11].http://www.microsemi.com/fpga-soc/soc-fpga/smar tfusion#documents.

[5] Microsemi.Accessing serial flash memory using SPI interface App Note[EB/OL].(2013-01-05)[2013-05-11].http://www.microsemi.com/fpga-soc/soc-fpga/smartfusion#documents.

[6] 董葉,陳小平.TFTP協(xié)議在LM3S6965上的移植和應(yīng)用[J].通信技術(shù),2011,44(08):89-90,105.

[7] 曾曉洋,吳敏,韓軍,等.信息安全芯片 SoC平臺(tái)及其應(yīng)用[J].信息安全與通信保密,2005(07):358-360.

猜你喜歡
嵌入式系統(tǒng)設(shè)計(jì)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無(wú)人機(jī)系統(tǒng)
ZC系列無(wú)人機(jī)遙感系統(tǒng)
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專(zhuān)
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺(jué)聯(lián)盟
主站蜘蛛池模板: 日韩av无码精品专区| 精品少妇人妻一区二区| 色欲不卡无码一区二区| 丁香综合在线| 日韩欧美国产另类| 久久动漫精品| 欧美一级夜夜爽www| 亚洲三级a| 在线免费无码视频| 亚洲日本韩在线观看| 精品免费在线视频| 精品视频第一页| 国产视频欧美| 国产原创自拍不卡第一页| 成人亚洲视频| 国产91导航| 色偷偷一区| 欧洲精品视频在线观看| 欧美成人h精品网站| 国产丝袜91| 欲色天天综合网| 欧美综合中文字幕久久| 成人福利在线视频| 亚洲浓毛av| 黄色一级视频欧美| 日本www在线视频| 亚洲日韩高清无码| 成年人久久黄色网站| 久久久久久午夜精品| 免费国产不卡午夜福在线观看| 国产不卡一级毛片视频| 四虎在线观看视频高清无码| 亚洲精品视频免费| 91免费国产在线观看尤物| 国产欧美日韩综合在线第一| 日韩毛片免费| 狠狠躁天天躁夜夜躁婷婷| 91美女视频在线| 国产欧美日韩另类| 亚洲动漫h| 亚洲无码在线午夜电影| 欧美成人一区午夜福利在线| 五月婷婷综合网| 国产男女免费视频| 亚洲清纯自偷自拍另类专区| 国产微拍精品| 麻豆精品在线视频| 亚卅精品无码久久毛片乌克兰| 精品亚洲欧美中文字幕在线看| 午夜精品久久久久久久无码软件| 人妻无码中文字幕第一区| 2048国产精品原创综合在线| 亚洲第一精品福利| 国产特一级毛片| 亚洲h视频在线| 无码国内精品人妻少妇蜜桃视频| 色网站免费在线观看| 蜜桃臀无码内射一区二区三区| 久久6免费视频| 一本大道在线一本久道| 最新国产高清在线| 中文字幕精品一区二区三区视频 | 国产免费久久精品99re不卡| 不卡无码网| 亚洲天堂精品视频| 久久九九热视频| 亚洲日韩第九十九页| 精品久久久久久成人AV| 永久免费无码日韩视频| 亚洲熟女偷拍| 亚洲va在线∨a天堂va欧美va| 幺女国产一级毛片| 欧美不卡视频在线| AV天堂资源福利在线观看| 一级毛片无毒不卡直接观看| 亚洲人成在线精品| 免费激情网站| AV熟女乱| 亚洲午夜综合网| 色哟哟国产精品一区二区| 日韩欧美中文在线| 国产性猛交XXXX免费看|