ARM介面程式設計的準備工作

2021-07-08 19:36:35 字數 1142 閱讀 7995

一。了解開發板資源

第一步1.找到cpu,什麼架構的cpu,為了找到系統上電後,第一條執行的**該放到**。0x0

第二步2.0x0接什麼晶元?可讀可儲存的。有flash(norflash)和rom

3.異常和中斷?

異常:cpu自己主動終止。有個異常向量表。其中復位異常比較重要。

中斷:外部打斷cpu

4.soc片上系統等於cpu加一堆控制器

看datasheet block,在overview章節

電路圖:位址匯流排,資料匯流排。memory port0,1,2

片外其他晶元通過一根匯流排掛接到主晶元上面

5.soc的4g資源是怎麼分的?片內資源和片外資源分多少?由晶元廠商定的。

這些位址被晶元公司重新定義,到晶元公司的datasheet中去找memory map章節那個框圖

片內資源:sfr area(特殊狀態暫存器)

片外資源:除了sfr以外幾乎都是由片外資源管的

找異常向量表看reset位址0x0對應什麼東西

例子:

s5pv210

0x0~~~~對應i rom(片內資源)~固化到i rom的code~跳轉到新的位址

s3c2410

0x0~~~~對應srom(bank0)(片外資源)~bank0掛接什麼晶元

6.boot程式

設定時鐘clock,提供系統的工作頻率。設定好clock才能進行介面開發

7.介面開發(boot加inte***ce)

圓圈低電平有效 片選訊號cs

8.片外資源的位址確定

sdram空間分塊,每乙個分塊起始位址—結束位址。程式訪問的位址,落在哪乙個分塊區間,cpu就自動的對該分塊的片選訊號置為有效

找到對應晶元,找該晶元的類似於cs/enable這樣的引腳,看該引腳接到cpu的哪個片選訊號上

例子:網絡卡

先找網絡卡晶元,找到cs,掛的哪個引腳xm0csn1,對應bank1,看表找到位址範圍

srom空間分塊

片內資源直接訪問就行。沒有掛在位址匯流排的資源都是sfr片內資源。

對於外設怎麼確定位址?

要看有沒有位址匯流排,有位址匯流排就按照第一種方法找片選訊號

沒有位址匯流排就是片內資源的方法。

C lua準備工作

ubuntu源裡的lua是5.0的.而最新的是5.2.如果只是學習lua語法什麼的直接apt get就好了.不過如果想做c lua的嵌入工作.就只能自己下原始碼編譯了 步驟 1.依賴的庫 readline,ncurses 這兩個庫可以從網上下原始碼然後編譯安裝.這樣其實最好了 如果不嫌源裡的舊.其實...

單據準備工作

虛擬機器 uap studio nc home 單據開發 基於studio的 單開發。擴充套件開發 對 單進行夥伴級拓展。報表平台 基於 單的分組統計和交叉統計。輕量化 交通費報銷開發。報表平台 語義模型 自由報表 基於模型的開發 實體 列舉及他們之間的關係。實體屬性 資料型別 約束 與業務介面的對...

python flask 準備工作

1 1搭建虛擬環境 安裝虛擬環境 sudo pip install virtualenv 1 建立目錄存放虛擬環境 mkdir home virtualenvs 2 開啟 bashrc檔案,並新增如下 vim bashrc 開啟後新增 export workon home home virtuale...