成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

處理器與bootflash間的連接裝置及實現(xiàn)方法

文檔序號:6460989閱讀:313來源:國知局
專利名稱:處理器與boot flash間的連接裝置及實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種具有不同字節(jié)序的處理器與BOOT FLASH (啟動 閃存)間的連接裝置及其實現(xiàn)方法。
背景技術(shù)
在嵌入式系統(tǒng)設(shè)計領(lǐng)域,無論硬件設(shè)計還是軟件設(shè)計,字節(jié)序是一 個必須考慮的問題。所謂字節(jié)序,就是字節(jié)的順序,是大于一個字節(jié)類 型的數(shù)據(jù)在存儲器中的存取順序,有大端字節(jié)序(bigendian)與小端字 節(jié)序(little endian)兩者方式。大端字節(jié)序是在具有字節(jié)單位地址的存儲器中存儲兩個字節(jié)以上數(shù) 據(jù)時字節(jié)排列順序的方式,此時,從大端部MSB的字節(jié)開始按照存儲 器的地址升序存儲。字節(jié)序是字節(jié)的排列順序,而不是比特的排列順序, 字節(jié)內(nèi)的比特排列順序不變。圖1表示大端字節(jié)序的說明圖。如圖所示,以大端字節(jié)序?qū)?字節(jié) 數(shù)據(jù)"0X12345678"存儲在地址為0X1000-0X1003位置情況下,按照 地址號碼的升序,依次存儲"12" 、 "34" 、 "56" 、 "78"。即從 MSB( Most Significant Bit )側(cè)開始的字節(jié)按照地址升序存儲在存儲器中。圖2表示32位數(shù)據(jù)總線情況下大端字節(jié)序的CPU (處理器)與存 爿賭器連4妄的一^:結(jié)構(gòu)。如圖所示,CPU的數(shù)據(jù)總線D[31: 24]、 D[23: 16]、 D[15: 8]、 D[7: 0]分別連4妻到存儲器的D[7: 0]、 D[15: 8]、 D[23: 16]、 D[31: 24]上。小端字節(jié)序是指從小端部LSB(Least Significant Bit)的字節(jié)開始按 照存儲器的地址升序存儲的方式。圖3表示小端字節(jié)序的說明圖。如圖所示,以小端字節(jié)序?qū)?字節(jié) 數(shù)據(jù)"0X12345678"存儲在地址為0X1000-0X1003位置情況下,按照 地址號碼的升序,依次存儲"78" 、 "56" 、 "34" 、 "12"。圖4表示32位數(shù)據(jù)總線情況下小端字節(jié)序CPU與存儲器連接的一 般結(jié)構(gòu)。如圖所示,CPU的數(shù)據(jù)總線D[7: 0]、 D[15: 8]、 D[23: 16]、 D[31: 24]分別連接到存儲器的D[7: 0〗、D[15: 8]、 D[23: 16]、 D[31: 24]上。這樣,大端字節(jié)序、小端字節(jié)序?qū)?個字節(jié)以上的數(shù)據(jù)存儲在存儲 器中字節(jié)列的次序順序相反。由于存在這種差異,目前多使用兩種方式 一個是軟件方式,通過對字節(jié)序反轉(zhuǎn)處理來適應(yīng)字節(jié)序變化; 一個是硬 件方式,數(shù)據(jù)線接線上的反接等手段來適應(yīng)字節(jié)序的變化。但是當(dāng)存儲 器采用BOOT FLASH時,無法通過軟件方式來改變字節(jié)序,這樣給硬 件設(shè)計帶來很大風(fēng)險。申請?zhí)枮?00410030047.9的中國專利公開了 一種字節(jié)序不同的處理 器間共享數(shù)據(jù)的數(shù)據(jù)共享裝置和處理器,此發(fā)明的實現(xiàn)主要基于對處理 器的凝:據(jù)地址的變換,雖然可用于解決存儲器是BOOT FLASH時無法 通過軟件方式改變字節(jié)序的問題,但是需要對處理器進(jìn)行較大的改進(jìn), 耗費較大的成本,不利于實現(xiàn)。發(fā)明內(nèi)容本發(fā)明所要解決的技術(shù)問題是提供一種不同字節(jié)序的處理器與BOOT FLASH間的連接裝置及其實現(xiàn)方法,使得處理器簡單靈活地選 擇與BOOT FLASH之間的字節(jié)序接口方式。為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的 一種處理器與BOOT FLASH間的連接裝置,該裝置包括總線邏 輯處理單元、控制單元、成功啟動寄存器;所述成功啟動寄存器,用于存儲BOOT FLASH的啟動標(biāo)識; 所述控制單元,用于監(jiān)測所述啟動標(biāo)識,據(jù)此判斷BOOT FLASH 是否成功啟動,若啟動成功,則向總線邏輯處理單元發(fā)送直接傳遞總線 信號的控制信號;若啟動失敗,則向總線邏輯處理單元發(fā)送對總線中的 數(shù)據(jù)總線信號進(jìn)行按字節(jié)序反轉(zhuǎn)處理后再進(jìn)行傳遞的控制信號;所述總線邏輯處理單元,采用默認(rèn)的連接方式與所述處理器相連,連,根據(jù)所述控制信號對處理器和BOOT FLASH間的總線信號進(jìn)行處 理和傳遞。其中,所述控制單元還用于在對所述數(shù)據(jù)總線進(jìn)行按字節(jié)序反轉(zhuǎn)處 理后,向所述處理器發(fā)送復(fù)位信號,提示該處理器進(jìn)行復(fù)位。 一種如上所述連接裝置的實現(xiàn)方法,包括以下步驟 (1 )本裝置的總線邏輯處理單元采用默認(rèn)的連接方式與處理器的FLASH相連,將處理器的總線信號直接傳遞給BOOT FLASH,不作任 何處理;(2 )本裝置的控制單元根據(jù)成功啟動寄存器中的啟動標(biāo)識判斷BOOT FLASH是否成功啟動,若啟動成功,則所述總線邏輯處理單元 繼續(xù)在處理器和BOOT FLASH之間直接傳遞總線信號,不作任何處理; 若啟動失敗,則總線邏輯處理單元先將處理器的總線中的數(shù)據(jù)總線信號 按照字節(jié)序反轉(zhuǎn),再進(jìn)行總線信號的傳遞。其中,所述步驟(2)中還包括在將所述數(shù)據(jù)總線信號按照字節(jié) 序反轉(zhuǎn)后,向所述處理器發(fā)送復(fù)位信號,提示該處理器進(jìn)行復(fù)位。其中,所述步驟(1)中默認(rèn)的連接方式為大端連接方式或者小端 連接方式。其中,所述處理器的字節(jié)序為大端字節(jié)序或者小端字節(jié)序。 本發(fā)明具有以下有益效果不管采用何種字節(jié)序的CPU, CPU和BOOT FLASH與本發(fā)明的連 接裝置都可以采用固定的硬件連接方式,在CPU與BOOT FLASH的字 節(jié)序不一致時,連接裝置可對數(shù)據(jù)總線信號進(jìn)行按照字節(jié)序反轉(zhuǎn)處理, 因而可實現(xiàn)不同字節(jié)序CPU與BOOT FLASH間字節(jié)序連接方式的動態(tài) 選擇,且方法簡便,成本較低。


圖1是大端字節(jié)序的說明圖; 圖2是小端字節(jié)序的說明圖;圖3是現(xiàn)有技術(shù)中大端字節(jié)序的CPU與存儲器的連接示意圖; 圖4是現(xiàn)有技術(shù)中小端字節(jié)序的CPU與存儲器的連接示意圖; 圖5是應(yīng)用了本發(fā)明連接裝置的CPU與BOOT FLASH的連接示意圖;圖6是本發(fā)明連接裝置的實現(xiàn)方法流程圖。
具體實施方式
下面將結(jié)合附圖及具體實施例對本發(fā)明作進(jìn)一步詳細(xì)的描述請參閱圖5,該圖為應(yīng)用了本發(fā)明連接裝置的CPU與存儲器的連接 示意圖,其中的連接裝置為可編程邏輯器件,是ROM類型的PLD器件; 存儲器是BOOT FLASH,業(yè)界BOOT FLASH通常采樣8位或者16位 數(shù)據(jù)總線寬度的NOR FLASH,由于8位數(shù)據(jù)總線的情況不存在字節(jié)序 的問題,所以本發(fā)明只需考慮16位數(shù)據(jù)總線寬度的情況;CPU可以使 大端字節(jié)序,也可以是小端字節(jié)序。在應(yīng)用過程中,連接裝置與CPU和存儲器的總線接口分別固定連 接,其中連接裝置與CPU的數(shù)據(jù)總線采用默認(rèn)的連接方式(大端連接 方式或者小端連接方式)。連接裝置包括以下幾部分總線邏輯處理單元、控制單元、成功啟 動寄存器。成功啟動寄存器,用于存儲存儲器的啟動標(biāo)識,其默認(rèn)值為0;若 存儲器成功啟動,則將啟動標(biāo)識更改為非0數(shù)據(jù);若存儲器啟動失敗, 則不對該啟動標(biāo)識進(jìn)行:操作??刂茊卧?,用于監(jiān)測啟動標(biāo)識,據(jù)此判斷存儲器是否成功啟動,若 啟動成功,則向總線邏輯處理單元發(fā)送直接傳遞總線信號的控制信號; 若啟動失敗,則向總線邏輯處理單元發(fā)送對總線中的數(shù)據(jù)總線信號進(jìn)行 按字節(jié)序反轉(zhuǎn)處理后再進(jìn)行傳遞的控制信號;還用于控制CPU的復(fù)位??偩€邏輯處理單元,用于根據(jù)控制單元的控制信號在CPU和存儲器之間進(jìn)行總線信號的處理和傳遞。請參閱圖6,該圖為本實施例中連接裝置的實現(xiàn)方法,包括以下步驟601 、總線邏輯處理單元與CPU采用默認(rèn)的大端連接方式進(jìn)行連接, 對輸入的數(shù)據(jù)信號不做任何處理,直接送到存儲器。602、 如果存儲器中的代碼能夠正常運行,就會向成功啟動寄存器 寫入非0數(shù)據(jù);若不能正常運行,則不進(jìn)行操作,保持啟動標(biāo)識的默認(rèn) 值不變。此過程中,控制單元不斷地檢測成功啟動寄存器,若#僉測到非 0數(shù)據(jù),表明CPU與存儲器連接采用的字節(jié)序與存儲器中的代碼的編譯 字節(jié)序一致,均為大端字節(jié)序,則總線邏輯處理單元直接傳遞總線信號, 不作任何處理;否則,表明CPU為小端字節(jié)序,繼續(xù)下一步。603、 總線邏輯處理單元將CPU的數(shù)據(jù)信號按照字節(jié)序反轉(zhuǎn)。604、 控制單元在短暫延時后向CPU發(fā)出復(fù)位信號,然后取消復(fù)位, 再次開始啟動過程,CPU重新通過總線邏輯處理單元傳遞總線信號。由上可知,在硬件連接和啟動程序均正確的情況下,經(jīng)過兩次啟動遞。下面,分別以大端字節(jié)序CPU和小端字節(jié)序CPU的BOOT FLASH 的啟動過程為例進(jìn)行描述,BOOT FLASH側(cè)采用大端連接方式 大端字節(jié)序CPU:i、由于默認(rèn)情況采用大端連接方式,連接裝置對數(shù)據(jù)信號不做任 何處理,與BOOT FLASH直4妻相連,即DjN
與DJ3UT
直接連接。上電后,大端字節(jié)序CPU讀取并運行BOOT FLASH中的代碼, 并向B中的成功啟動寄存器success—reg寫入非0數(shù)據(jù)。ii、連接裝置不斷地檢測成功啟動寄存器success—reg,當(dāng)纟企測到非 0數(shù)據(jù)時,表明CPU與BOOT FLASH連接采用的字節(jié)序與BOOT FLASH中的代碼的編譯字節(jié)序一致。此時,連接裝置對CPU的復(fù)位信 號不會送出,BOOT FLASH啟動成功。小端字節(jié)序CPU:I、開始過程與大端字節(jié)序CPU的過程i相同,如果連接裝置檢 測成功啟動寄存器success一reg的數(shù)據(jù)一直為0,認(rèn)定此次啟動失敗。II 、連接裝置對輸入的數(shù)據(jù)信號按照字節(jié)序反轉(zhuǎn),短暫延時后向 CPU發(fā)出復(fù)位信號,然后取消復(fù)位。m、再次開始啟動過程。經(jīng)過二次啟動后,小端字節(jié)序CPU和BOOTFLASH就能夠進(jìn)行正常的數(shù)據(jù)傳遞。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡 在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng) 包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種處理器與BOOT FLASH間的連接裝置,其特征在于,該裝置包括總線邏輯處理單元、控制單元、成功啟動寄存器;所述成功啟動寄存器,用于存儲BOOT FLASH的啟動標(biāo)識;所述控制單元,用于監(jiān)測所述啟動標(biāo)識,據(jù)此判斷BOOT FLASH是否成功啟動,若啟動成功,則向總線邏輯處理單元發(fā)送直接傳遞總線信號的控制信號;若啟動失敗,則向總線邏輯處理單元發(fā)送對總線中的數(shù)據(jù)總線信號進(jìn)行按字節(jié)序反轉(zhuǎn)處理后再進(jìn)行傳遞的控制信號;所述總線邏輯處理單元,采用默認(rèn)的連接方式與所述處理器相連,并根據(jù)BOOT FLASH的字節(jié)序采用相應(yīng)的連接方式與BOOTFLASH相連,根據(jù)所述控制信號對處理器和BOOT FLASH間的總線信號進(jìn)行處理和傳遞。
2、 如權(quán)利要求1所述的不同字節(jié)序的處理器與BOOT FLASH間 的連接裝置,其特征在于,所述控制單元還用于在對所述數(shù)據(jù)總線進(jìn) 行按字節(jié)序反轉(zhuǎn)處理后,向所述處理器發(fā)送復(fù)位信號,提示該處理器 進(jìn)行復(fù)位。
3、 一種如權(quán)利要求1所述連接裝置的實現(xiàn)方法,其特征在于, 包括以下步驟(1 )本裝置的總線邏輯處理單元采用默認(rèn)的連接方式與處理器 的總線相連,并根據(jù)BOOT FLASH的字節(jié)序采用相應(yīng)的連接方式與 BOOT FLASH相連,將處理器的總線信號直接傳遞給BOOT FLASH, 不作任何處理;(2 )本裝置的控制單元根據(jù)成功啟動寄存器中的啟動標(biāo)識判斷BOOT FLASH是否成功啟動,若啟動成功,則所述總線邏輯處理單 元繼續(xù)在處理器和BOOT FLASH之間直接傳遞總線信號,不作任何 處理;若啟動失敗,則總線邏輯處理單元先將處理器的總線中的^:據(jù) 總線信號按照字節(jié)序反轉(zhuǎn),再進(jìn)行總線信號的傳遞。
4、 如權(quán)利要求3所述的連接裝置的實現(xiàn)方法,其特征在于,所 述步驟(2)中還包括在將所述數(shù)據(jù)總線信號按照字節(jié)序反轉(zhuǎn)后, 向所述處理器發(fā)送復(fù)位信號,提示該處理器進(jìn)行復(fù)位。
5、 如權(quán)利要求3或4所述的連接裝置的實現(xiàn)方法,其特征在于, 所述步驟(1 )中默認(rèn)的連接方式為大端連接方式或者小端連接方式。
6、 如權(quán)利要求3或4所述的連接裝置的實現(xiàn)方法,其特征在于, 所述處理器的字節(jié)序為大端字節(jié)序或者小端字節(jié)序。
全文摘要
本發(fā)明公開了一種處理器與BOOT FLASH間的連接裝置及實現(xiàn)方法,連接裝置包括總線邏輯處理單元、控制單元、成功啟動寄存器;成功啟動寄存器,用于存儲BOOT FLASH的啟動標(biāo)識;控制單元,用于監(jiān)測啟動標(biāo)識,判斷BOOT FLASH是否成功啟動,若成功,則向總線邏輯處理單元發(fā)送直接傳遞總線信號的控制信號;若失敗,則向總線邏輯處理單元發(fā)送對總線中的數(shù)據(jù)總線信號進(jìn)行按字節(jié)序反轉(zhuǎn)處理后再進(jìn)行傳遞的控制信號;總線邏輯處理單元,采用默認(rèn)的連接方式與處理器相連,根據(jù)BOOT FLASH的字節(jié)序采用相應(yīng)的連接方式與其相連。本發(fā)明實現(xiàn)了不同字節(jié)序CPU與BOOT FLASH間字節(jié)序連接方式的動態(tài)選擇,且方法簡便,成本較低。
文檔編號G06F13/16GK101324868SQ20081006846
公開日2008年12月17日 申請日期2008年7月11日 優(yōu)先權(quán)日2008年7月11日
發(fā)明者王鳳彬 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1