我已經使用微控制器構建了嵌入式系統PCB,如stm32,stm32l,nRF51822,efm32g,其中大多數使用arm cortex m3。並且對它們中的每一個進行編程通常是不同的,也就是說,在一個用於gpio的微控制器中使用的中斷線與另一個微控制器中使用的中斷線不同,配置一個的寄存器與另一個不同,所以我爲一個與另一個不兼容,因爲每個微控制器都與處理器不同地連接其外圍設備。爲什麼代碼在主板之間兼容?
我想在PC架構中的微控制器的等價物是主板的權利?但是代碼如何爲主板(例如使用x86)與其他主板兼容?有沒有標準? 對於所有設計用於運行Windows或Linux的主板,所有中斷線(由硬件鏈接)是否相同?和IO端口是一樣的嗎?接口是否改變時鐘一樣?
通常,當我爲微控制器編程裸機(無OS)代碼時,我得到它的數據表以瞭解如何與外設交互,是否有針對所有主板的統一參考手冊?
如果有人能指點我一些關於此主題的參考資料,我將不勝感激。當我尋找計算機體系結構書籍,或者他們專注於處理器ASIC設計(指令集,管道,緩存等,我已經知道),或者他們真的是基本的東西(如:什麼是硬驅動器)。
即使兩個主板都有相同的CPU? 那麼,當我在我的機器上安裝Ubuntu或Windows時,它會檢查主板製造商以獲取正確的驅動程序? –
@Lilás - 是的,你甚至可以從你的操作系統獲得與CPU相關的信息。所以,你需要有一個特定的操作系統的圖像,例如。適用於x86,x64,SPARC,ARM等。 –