雙MicroBlaze軟核處理器的SOPC系統(tǒng)設(shè)計(二)
出處:電子愛好者博客 發(fā)布于:2013-04-24 10:23:38
相關(guān)資料:
雙MicroBlaze軟核處理器的SOPC系統(tǒng)設(shè)計(一)
1.3 軟件設(shè)計
1.3.1 存儲器映像
為了保證每個處理器在執(zhí)行軟件部分時不發(fā)生沖突,必須對其存儲器進行存儲器映像。圖2是存儲器映像圖。

圖2 處理器的存儲器映像圖
從圖2中可以看出,用戶可以靈活地為兩個ELF文件分配適當(dāng)大小的存儲器空間作為ELF文件的映射地址范圍。由于boot(引導(dǎo))存儲器不可以共享,所以ELF文件的boot部分(。vectors*)被映射到私有存儲器中,它可以實現(xiàn)MicroBlaze處理器隨時調(diào)用,也可以引導(dǎo)ELF文件加載到DDR中。Heap和stack的范圍表示ELF文件在DDR中映像的存儲器大小。boot存儲器的大小表示boot部分所能引導(dǎo)的DDR的范圍。ELF文件的位置和輸出鏈接腳本的位置可以根據(jù)用戶的需求選擇。每個可執(zhí)行文件的存儲器映像地址都是通過編譯器來實現(xiàn)的,實現(xiàn)以后被傳到鏈接器,生成鏈接腳本。
1.3.2 通信與同步
利用Shared Memory模塊通信是處理器之間常用的通信方式。其通信接口函數(shù)如下:
SHM_WRITEAREA();/*向Shared Memory中寫數(shù)據(jù)*/SHM_READAREA(); /*從Shared Memory中讀數(shù)據(jù)*/利用Mailbox模塊可以實現(xiàn)處理器之間的信息傳遞和中斷。這在軟件設(shè)計中主要體現(xiàn)在以下代碼行中:
XMbox_WriteBlocking();/*向Mailbox中寫數(shù)據(jù)*/XMbox_ReadBlocking();/*從Mailbox中讀數(shù)據(jù)*/在軟件應(yīng)用設(shè)計中,兩個處理器之間的同步是通過Mutex Locks實現(xiàn)的,它的狀態(tài)有LOCK和UNLOCK之分。Mutex狀態(tài)的操作主要體現(xiàn)在以下命令行中:
MLOCK(); /*使用之前LOCK*/MUNLOCK();/*使用之后UNLOCK*/軟件的調(diào)試(debug)需要手工地選擇處理器,兩個處理器不可以同時調(diào)試。在XMD Console中的調(diào)試命令主要有:
debugconfig–reset_on_run disable /*時避免復(fù)位*/dow executable.elf /*ELF文件*/run /*運行*/2 實驗結(jié)果
本設(shè)計采用調(diào)試模塊分別對兩個處理器進行調(diào)試,通過超級終端輸出測試結(jié)果。
2.1 Mailbox的測試結(jié)果
通過Mailbox可以實現(xiàn)處理器之間的中斷和通信。
兩處理器首先通過交換字符串“helo BOY”的形式匯合(rendezvous),以此來證明兩個處理器的連接情況。在這里,每次發(fā)送的數(shù)據(jù)包為2044字節(jié),共發(fā)送了3個數(shù)據(jù)包,都能成功地發(fā)送。經(jīng)驗證,每次發(fā)送的信息量為4096字節(jié),可以重復(fù)發(fā)送。
2.2 Mutex的測試結(jié)果
通過Mutex可以實現(xiàn)兩處理器的同步。當(dāng)兩個MicroBlaze處理器訪問共享資源時,可以用Mutex核修改臨界區(qū)域里共享資源的值。臨界區(qū)域里的值是隨著處理器的訪問而更新的。在沒有輸出時處理器會鎖定Mutex核,有輸出時解鎖Mutex核。同步使得控制臺的輸出結(jié)果正確可用,不會出現(xiàn)混亂的狀態(tài)。
2.3 Shared Memory的測試結(jié)果
通過Shared Memory實現(xiàn)處理器之間的通信。處理器0首先向共享存儲器中寫入一個32位的數(shù)據(jù)并設(shè)置一個共享flag表明數(shù)據(jù)可用,等待處理器1讀取這個數(shù)據(jù)。
然后,處理器1從共享存儲器中讀取處理器0寫入的數(shù)據(jù)并設(shè)置一個共享flag表明它已經(jīng)讀取了這個數(shù)據(jù)。雙處理器會重復(fù)這樣的過程,直到達到所設(shè)置的數(shù)目12.
結(jié) 語
本文以MicroBlaze軟核為基礎(chǔ),利用XPS作平臺來設(shè)計雙MicroBlaze處理器片上系統(tǒng),此片上系統(tǒng)可以很好地實現(xiàn)兩軟核處理器間的通信和中斷功能,該系統(tǒng)在Xilinx公司的XUPV5-LX110T開發(fā)板上得到實現(xiàn),在超級終端中得到驗證。本設(shè)計的優(yōu)點是把處理器核之間的通信、中斷、同步放在了同一系統(tǒng)中進行研究,深入研究了處理器之間的中斷控制。下一步要做的工作是更多核的片上系統(tǒng)設(shè)計和操作系統(tǒng)移植。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ARM技術(shù)架構(gòu)與應(yīng)用開發(fā)實踐指南2026/1/6 10:40:19
- 嵌入式實時操作系統(tǒng)(RTOS)選型與移植技術(shù)指南2025/12/31 10:42:31
- 工業(yè)嵌入式系統(tǒng):通信接口技術(shù)選型與抗干擾設(shè)計實踐2025/12/15 14:36:53
- 深入解析嵌入式 OPENAMP 框架:開啟異核通信新時代2025/7/22 16:27:29
- 一文快速了解OPENWRT基礎(chǔ)知識2025/7/14 16:59:04









