新聞中心

EEPW首頁 > EDA/PCB > 設計應用 > 通信領域采用FPGA芯片嵌入式系統(tǒng)分析方案

通信領域采用FPGA芯片嵌入式系統(tǒng)分析方案

作者: 時間:2012-07-02 來源:網(wǎng)絡 收藏

2.5 配置文件的讀取和發(fā)送

根據(jù)上述SD卡存儲格式的說明,可以對存儲在其中的配置數(shù)據(jù)進行讀取并發(fā)送出去。在本中,數(shù)據(jù)的讀取和發(fā)送是同時進行的。

在對SD卡進行讀取時,首先需要讀取主引導記錄(MBR),獲得邏輯扇區(qū)的位置,然后根據(jù)該位置讀取BIOS參數(shù)數(shù)據(jù)塊(BPB),得到文件分配表(FAT)的位置以及扇區(qū)大 小等參數(shù)。在讀取文件分配表之前,需要先讀取根文件夾來獲得文件的起始位置,然后再 通過文件分配表獲得后續(xù)數(shù)據(jù)的位置。

得到文件的起始簇號之后,在文件分配表中讀取對應該起始簇的字節(jié),獲得文件存儲的下一個簇的簇號,這樣可以連續(xù)的進行讀取。在讀取一個簇后,即將整簇的數(shù)據(jù)發(fā)送出去。如果發(fā)現(xiàn)文件分配表中某一簇對應的數(shù)值是0xFFFF,則說明是文件最后一個簇,這時該簇的數(shù)據(jù)可以不足一個整簇,需要對其中的數(shù)據(jù)進行取舍,以保證發(fā)送數(shù)據(jù)的正確性。

對配置文件讀取和發(fā)送的函數(shù)偽碼如下所示。

ReadSD_FAT16(){

讀取物理第0 扇區(qū)內(nèi)容,即MBR,獲取邏輯0 扇區(qū)的位置;

讀取邏輯0 扇區(qū)的內(nèi)容,獲取每扇區(qū)字節(jié)數(shù),每簇扇區(qū)數(shù),F(xiàn)AT 表占據(jù)的扇區(qū)數(shù)等參數(shù);

讀取根文件夾的內(nèi)容,根據(jù)配置文件的文件名獲取其起始簇號和文件長度;

將當前簇設置為起始簇;

While(1){

讀取FAT 中對應當前簇的內(nèi)容,獲得下一個簇的簇號;

FAT 表中對應當前簇的內(nèi)容為0xFFFF 時,即說明當前簇是最后一個簇,計算該簇內(nèi)的有效數(shù)據(jù),并進行發(fā)送;

讀取當前簇內(nèi)容,進行發(fā)送;

當前簇指向下一個簇;

3 結(jié)束語

在當前使用領域日趨廣泛的情況下,對現(xiàn)有的液晶拼接屏幕含有產(chǎn)品進行升級更新成為了一項比較繁瑣的工作,特別是在產(chǎn)品數(shù)量較多的情況下。本提出了采用SD卡存儲配置數(shù)據(jù)的配置,使用了目前系統(tǒng)中常見的ARM 微處理器和SD卡,不僅降低了成本,而且利用了現(xiàn)有資源,節(jié)省了電路板布線布局的空間。最重要的是使升級 過程更加簡潔,在進行調(diào)試時也可以靈活使用。本文只給出了對Virtex 進行配置的情況,該方案也可以適用于液晶拼接屏幕Spartan 系列FPGA。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 4 下一頁

評論


相關推薦

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

關閉