<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于嵌入式操作系統的控制系統平臺設計

基于嵌入式操作系統的控制系統平臺設計

作者: 時(shí)間:2010-11-15 來(lái)源:網(wǎng)絡(luò ) 收藏

  3.2.1數據結構設計

  實(shí)時(shí)數據庫與其他一般數據庫一樣,包含一組對象及其結構,由于目前對實(shí)時(shí)數據庫還沒(méi)有提出統一的數據模型,所以不同廠(chǎng)家開(kāi)發(fā)的數據庫的數據結構都有很大差別。本系統的實(shí)時(shí)數據庫,一個(gè)基本的數據對象為“數據”,一個(gè)數據包含若干信息,如數據名稱(chēng)、數據類(lèi)型、數據位置、數據長(cháng)度等。

  考慮到數據的存取效率,程序運行一開(kāi)始,我們將在內存區開(kāi)辟一段緩沖區,緩沖區中只存放數據,如果緩沖區大小不夠,即緩沖區的數據較多,可以自動(dòng)擴展緩沖區大小。實(shí)時(shí)數據存放在緩沖區時(shí),我們采取這種思想:如果不是bit型數據,由于數據長(cháng)度都是字節的整數倍,存入緩沖區中以字節來(lái)進(jìn)行存儲,該數據的長(cháng)度length是以字節來(lái)計算。如果是bit型數據,存入緩沖區中,該數據的長(cháng)度length是以位來(lái)計算,接著(zhù)再存儲一個(gè)實(shí)時(shí)數據,若為非bit型數據,則從下一個(gè)字節開(kāi)始存放,即原來(lái)的bit型數據占用一個(gè)字節,若為bit型數據,根據此數據的長(cháng)度來(lái)判斷其存放位置,這里又分兩種情況,如果這兩個(gè)bit型數據的長(cháng)度沒(méi)有超過(guò)8位,則緊接著(zhù)前一個(gè)bit型數據后存儲這個(gè)bit型數據,如果兩個(gè)bit型數據的長(cháng)度超過(guò)8位,則從下一個(gè)字節開(kāi)始存放,即原來(lái)的bit型數據占用一個(gè)字節。

  3.2.2數據存取設計

  為了存取方便,我們將所有的實(shí)時(shí)數據組成一個(gè)鏈表,鏈表的節點(diǎn)類(lèi)型為上述的rtdb_data_t結構。當向實(shí)時(shí)緩沖區中加入一條數據時(shí),就自動(dòng)會(huì )計算出數據存儲位置、長(cháng)度等信息,并在實(shí)時(shí)數據庫鏈表中加上一個(gè)節點(diǎn)。這樣,取實(shí)時(shí)數據就非常靈活和方便,如果知道實(shí)時(shí)數據的名稱(chēng),則可以遍歷鏈表得到數據,如果知道數據的存儲位置和長(cháng)度,則可以利用實(shí)時(shí)數據庫提供的接口直接從緩沖區中獲得數據,而不必遍歷鏈表,因為遍歷鏈表需要花費一些時(shí)間,這在實(shí)時(shí)性要求較高的本系統中不太適合,所以本系統常常采用后一種方法存取數據。實(shí)時(shí)數據庫鏈表結構如圖3所示。


  圖3實(shí)時(shí)數據庫鏈表結構

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: I/O數據 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>