最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)

FLASH

FLASH 的PDF資料

暫且沒有下載
其他型號

FLASH的供應(yīng)商:
聯(lián)系人:詹小姐
電話:0755-83797351
聯(lián)系人:朱先生/李小姐
電話:0755-83325286/0755-83326422
聯(lián)系人:王先生
電話:13510086379
聯(lián)系人:朱先生/周艷麗
電話:0755-83266687/0755-83265028
>>更多供應(yīng)商

基于智能手機協(xié)議棧的虛擬Flash設(shè)備實現(xiàn)方法

查看最近90天中添加的最新產(chǎn)品 最新電子元器件資料免費下載 派睿電子TI有獎問答 - 送3D汽車鼠標(biāo) IR推出采用焊前金屬的汽車級絕緣柵雙極晶體管 全球電子連接器生產(chǎn)商—samtec 最新斷路器保護套

     摘  要:一種基于智能手機協(xié)議棧的虛擬flash設(shè)備方法, 簡稱VPSFD ( V irtua l Protoco l StackFlash D ev ice)。該方法的實現(xiàn)是在物理Flash設(shè)備上劃分一塊獨立區(qū)間, 將其模擬為一個物理設(shè)備, 并以一套專用接口封裝對其訪問。獨立于其他物理Flash訪問接口, 除了VPSFD 設(shè)備其他接口不能訪問。該方案通過智能手機和無線協(xié)議棧相結(jié)合, 實現(xiàn)了高效、便捷的網(wǎng)絡(luò)優(yōu)化。

  1  引  言

  近幾年來, 隨著通信芯片越來越完善和成熟, 高性能多媒體芯片的極速發(fā)展, 多個芯片搭配起來完成通信和多媒體功能的應(yīng)用越來越廣泛。目前, 在國內(nèi)外手機軟件應(yīng)用與開發(fā)領(lǐng)域中能將協(xié)議棧部分獨立移植出來的產(chǎn)品很少, 國內(nèi)外只有少數(shù)幾家擁有GSM /GPRS協(xié)議棧的公司才有可能做到。一般情況下, 客戶需將手機軟件交由協(xié)議棧提供公司來對相應(yīng)協(xié)議棧進行移植, 或者客戶自己在開發(fā)手機軟件的時候就必須針對某個特定協(xié)議棧來進行。

  2  VPSFD設(shè)備實現(xiàn)

  文中的VPSFD是研究中命名的一種虛擬設(shè)備,全名Virtual Protocol Stack Flash Device, VPSFD是專為智能手機協(xié)議棧開發(fā)的Flash 訪問抽象層。

  VPSFD設(shè)備的實現(xiàn)是在物理F lash設(shè)備上劃分一塊獨立區(qū)間, 將其模擬為一個物理設(shè)備, 并以一套專用接口封裝對其訪問。VPSFD 以FMM ( FlashM emoryManagement)為基礎(chǔ), 所以自然提供掉電保護, 壞塊處理, 臟快回收等保護功能。VPSFD 所管理的FLASH 區(qū)塊, 一定要獨立于其他物理Flash 訪問接口; 除了VPSFD 設(shè)備其他接口不能訪問, 就好像Flash設(shè)備上的這個區(qū)間不存在。VPSFD 結(jié)構(gòu)圖如圖1所示。

VPSFD結(jié)構(gòu)圖

圖1  VPSFD結(jié)構(gòu)圖

  2. 1  VPSFD物理層描述

  VPSFD設(shè)備分成三部分, 其中Sw ap A rea用于數(shù)據(jù)交換, 不能存儲信息。Data A rea 存儲用戶數(shù)據(jù)。但是在第一個Data A rea的首部有部分區(qū)域獨立劃分出來(H ead A rea), 存儲設(shè)備信息和壞塊表。

  壞塊表中1B it表示一個扇區(qū)的狀態(tài), 1正常, 0壞塊。Head A rea區(qū)域以Sect為單位, Sect數(shù)量由num_id_sect指定。

  Data A rea區(qū)域存儲數(shù)據(jù)以Sector為單位, 每個sector包括首部4By te 附加信息和512By te 有效數(shù)據(jù)。因此每個Data A rea 包含[ D ataA reaS ize / ( 4 +512) ]個扇區(qū)( SectPerB lk)。VPSFD 設(shè)備用于存放數(shù)據(jù)的扇區(qū)共有num sect= SectPerB lk* DataAreaNum - num _ id _ sec;t 可以存儲信息numsect*512By te。

  VPSFD設(shè)備接口中要求輸入的地址參數(shù)是指邏輯上相對于VPSFD設(shè)備基址VPSFD_BASE _ADDRESS( 0x007D0000)的偏移量; VPSFD的設(shè)備基址是所依附的物理F lash的真實物理地址。例如輸入地址參數(shù)0x100, 實際上是指物理地址的0x007D0100. 但是由于VPSFD在FMM上封裝, 所以FMM 又會對這個地址進行變換, 具體變換請參考FMM 的說明文檔。這樣一來物理地址0x007D0100也被當(dāng)作邏輯地址重新?lián)Q算了。至于對物理地址0x007D0100的讀寫操作到底處理的是哪個地址的數(shù)據(jù)VPSFD 并不關(guān)心, 具體靠FMM 保證。這樣得出的結(jié)論就是不能繞過VPSFD 設(shè)備接口來直接調(diào)用底層驅(qū)動, 或硬件指令直接讀取0x007D0100。對于智能手機協(xié)議棧程序這一點要引起重視。

  2. 2  VPSFD設(shè)備驅(qū)動接口

  VPSFD程序流程: VPSFD 設(shè)備以Sector為單位讀取數(shù)據(jù), 數(shù)據(jù)修改遵循 讀取! 修改! 寫回?的過程。先讀取扇區(qū)數(shù)據(jù)到內(nèi)存, 對內(nèi)存數(shù)據(jù)進行修改,然后寫回VPSFD 設(shè)備。

  設(shè)備操作:

  BOOLEAN VPSFD_FLASH _In it( vo id) / /初始化VPSFD設(shè)備, 成功返回TRUE; 失敗FLASH;

  vo id VPSFD_FLASH _C lose( vo id) / /關(guān)閉VPSFD設(shè)備。

  vo id VPSFD _FLASH _GetD ev iceInfo ( uint32*sector_size_ptr, uint16* sector_num _ptr) / /查詢設(shè)備信息; 返回sector_size_ptr扇區(qū)大小, VPSFD 設(shè)備固定FMM _SECTOR_SIZE; sector_num _ptr實際上可以用于存儲用戶數(shù)據(jù)的扇區(qū)數(shù)。所以VPSFD設(shè)備可以存儲的數(shù)據(jù)的理論大小為M idsize= ( secto r_size_ptr* sector_num _ptr); 因此VPSFD的有效邏輯地址范圍為[ 0, M idsize)的閉開區(qū)間。

  扇區(qū)操作:

  u int16 VPSFD _FLASH _A ddrToSector( uint32 addr) / /根據(jù)地址, 確定該地址所在的扇區(qū), 并返回扇區(qū)號。注意這個扇區(qū)號是邏輯扇區(qū)號, 并不是實際物理扇區(qū)號, 不能直接與Flash 物理地址對應(yīng)。輸入addr, 邏輯地址必須在[ 0, M idsize)閉開區(qū)間返回邏輯扇區(qū)號, 若addr越界返回0xFFFFu int32 VPSFD_FLASH _SectorToAddr( uint16 uSector_No) / /返回邏輯扇區(qū)號對應(yīng)的邏輯扇區(qū)的起始地址; 輸入uSector_No, 邏輯扇區(qū)號, 返回對應(yīng)的邏輯扇區(qū)的起始地址地址操作:

  u int32 VPSFD _ FLASH _ IsEmptySpace ( u int32u lStart_Addr, u int32 u lEnd_Addr) / /確認(rèn)所指定的邏輯地址之間的物理空間是否沒有使用過。輸入ulStart_Addr; u lEnd_Addr, 邏輯地址必須滿足合法, 且StartAddr< = EndAddr。返回TRUE, 空間未使用,[ StartAddr, EndAddr]的閉區(qū)間中沒有任何扇區(qū)被使用。FALSE, 空間已使用, [ StartAddr, EndAddr]的閉區(qū)間中至少一個扇區(qū)被使用。目前實現(xiàn)當(dāng)?shù)刂凡缓戏〞r也返回FALSE, 這樣容易出現(xiàn)誤操作。這個問題建議修改接口返回值不要為BOOL型, 并增加地址錯誤的返回碼。

  讀寫操作:

  u int16 VPSFD _FLASH _ReadWord( u int32 dwA d??dr) ;

  vo id VPSFD _FLASH _ReadWo rdByCount ( u int 32dwAddr, uin t16* pBuffer, u int32 dwCount) ;

  BOOLEAN VPSFD _FLASH _R ead ( uint32 dwA ddr, u int8* pBu,f uint32 dwRead_Len);

  BOOLEAN VPSFD _FLASH _W riteW ord ( u int32 dwAddr, uin t16 wData) ;

  BOOLEAN VPSFD_FLASH _W rite( uint32 dwA ddr, const uint8* pBuffer, u int32 dwLen);

  BOOLEAN VPSFD_FLASH _Copy ( uint32 dwDes tAddr, uint32 dwSrcAddr, u int32 dwLen);

  讀寫接口又細(xì)分為三部分, 讀接口, 寫接口, 復(fù)制接口。由于它們的接口定義接近, 而且實現(xiàn)上也都以其中的VPSFD _FLASH _Read和VPSFD _FLASH_W rite為基礎(chǔ), 在其上簡單封裝, 對照程序即可理解。所以這里只介紹以上兩個接口。

  對整體手機軟件來說, 在編譯后, 系統(tǒng)的代碼量比原來手機軟件有所增加, 對系統(tǒng)的F lash要求提高了一些。但是在整個系統(tǒng)維護和移植上有了很大的優(yōu)勢, 便于用戶用此手機軟件設(shè)計去增加獨特的功能和定制特有的風(fēng)格, 而不用考慮底層協(xié)議棧的實現(xiàn)細(xì)節(jié), 大大節(jié)省了系統(tǒng)的開發(fā)成本。

  3  結(jié)束語

  討論了智能手機協(xié)議棧虛擬F lash設(shè)備的研究與實現(xiàn), 提出了一個有效的實現(xiàn)方法, 綜合考慮了手機軟件系統(tǒng)的可配置性, 開發(fā)成本和系統(tǒng)性能, 研究和實現(xiàn)的軟件系統(tǒng)架構(gòu)具有較高的通用性。



  來源:LIDY
收藏此頁】【關(guān)閉】【返回】【打印】【推薦
分享: QQ空間 人人網(wǎng) 開心網(wǎng) 騰訊微博 新浪微博 搜狐微博 網(wǎng)易微博
本頁面信息由維庫用戶提供,如有侵犯您的知識產(chǎn)權(quán),請致電本站,本站核實后將迅速刪除!

熱門詞條:高可靠充電逆變器檢波二極管ARP協(xié)議柔性線路板火花機高穩(wěn)定度激光光源數(shù)字電容隔離器礦用隔爆型真空饋電開關(guān)水位傳感器超線程技術(shù)更多>>
相關(guān)文章
  • 更多"FLASH"相關(guān)文章
  • 關(guān)于我們 | 服務(wù)項目 | 付款方式 | 聯(lián)系我們 | 友情鏈接 | 投訴 建議 合作 | 網(wǎng)站地圖 | 加入收藏 | 公司庫
    © 2025 維庫電子市場網(wǎng)(www.udpf.com.cn) 版權(quán)所有 經(jīng)營許可證編號:浙B2-20050339 版權(quán)聲明
    二十一年專注打造優(yōu)質(zhì)電子元器件采購網(wǎng)、IC交易平臺。