超額利用硬件資源
動態(tài)重配置的可行性
本文引用地址:http://m.butianyuan.cn/article/147239.htm根據(jù)可編程器件的架構(gòu),動態(tài)重配置可適用于許多應(yīng)用。不過,如果開發(fā)人員要了解每個寄存器,并手動設(shè)置寄存器的值,那么實現(xiàn)動態(tài)重配置就變得相當(dāng)復(fù)雜,耗時費(fèi)力。為了讓動態(tài)重配置切實可行,開發(fā)工具必須提供有效且最省力的方法來設(shè)置寄存器的值,同時還要為運(yùn)行實現(xiàn)方案提供基本的重配置基礎(chǔ)架構(gòu)。以下兩種特性非常重要:
· 自動生成配置寄存器值
· 簡化開關(guān)配置
自動生成配置寄存器值:開發(fā)工具必須提供一種簡單方法來定義和管理多種配置。定義配置是指選擇使用的外設(shè)及其內(nèi)部互連。根據(jù)配置定義,開發(fā)工具必須為配置中使用的每個模塊生成所需的寄存器值。舉例來說,圖4顯示了PSoC Designer IDE(集成開發(fā)環(huán)境)根據(jù)具體配置所用外設(shè)生成的代碼?! ?/p>
從代碼可以看出,當(dāng)開發(fā)工具可以生成所需的寄存器值時,就能將開發(fā)工作從手動生成這些值中解放出來,這也可以讓開發(fā)人員頻繁修改配置也不會有任何問題。
簡化開關(guān)配置:假設(shè)開發(fā)人員必須管理不同配置之間的切換,那么當(dāng)他們編寫代碼用于從閃存中讀取數(shù)值并將其寫入所需的寄存器,特別是開發(fā)過程中對配置所做的頻繁修改,就會造成巨大的開銷。一個錯誤可能會造成難以檢測和定位的系統(tǒng)故障。因此,開發(fā)工具必須提取出低級寄存器寫入細(xì)節(jié),并提供高級API來完成這項任務(wù)。
由于加載了先前的配置,寫入值的“卸載”也會進(jìn)一步使切換配置復(fù)雜化。并不是所有的情況都需要卸載,但大多數(shù)情況需要。舉例來說,設(shè)想一個應(yīng)用有一種基礎(chǔ)配置和兩種可加載的配置。基礎(chǔ)配置包含隨時都需要的資源,任何時間點都無需加載和卸載。這種配置在輸入主應(yīng)用代碼之前就加載了。在這個應(yīng)用實例中,基礎(chǔ)配置需要通過UART與主機(jī)CPU通信。在第一個可加載配置中,需要一個ADC。在另一個可加載配置中,需要一個PWM和一個觸摸傳感器。假定UART需要兩個可編程數(shù)字資源,PWM需要一個,同時ADC和觸摸傳感器使用相同數(shù)量的資源,那么不同配置之間的切換如圖5所示。
因此,開發(fā)工具必須提供輕松加載和卸載配置的方法,且無需了解低級寄存器和配置值在閃存中的儲存位置。
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 衰減器相關(guān)文章:衰減器原理 熱敏打印機(jī)相關(guān)文章:熱敏打印機(jī)原理
評論