執行在不同平台上的程式,開發過程不盡相同。為了更好地理解 arm 裸機的開發流程,我們先和比較熟悉的 windows、linux 應用程式開發對比。
不同平台程式開發流程對比示意
編譯嵌入式程式的平台稱為宿主機,譬如執行 ubuntu 系統的 pc。
執行嵌入式程式的平台稱為目標機,譬如 arm 開發板。
在 x86 平台上編輯和編譯**,生成執行在 arm 架構平台上的程式,因為兩者架構不同,因此稱之為交叉編譯。
在 x86 上編譯生成的映象,可以通過 jtag、usb、sd 卡、網路等方式燒寫到 arm 平台上。
少量檔案修改,推薦使用 notepad++ 或 vs code。
有時需要檢視二進位制檔案(如 bin 檔案),推薦使用 ultraedit。
推薦使用 arm-linux-gcc。
arm-linux-gcc 是基於 linux 平台的 arm 編譯器,功能強大穩定,且開源免費。此外,arm-linux-gcc 支援的 arm 晶元型號豐富,更新速度很快。
ARM裸機知識
ram rom ram掉電丟失,rom掉電不丟失 ram中又分兩大類,dram sram sram static ram執行速度飛快,記憶體小,昂貴 dram dynamic ram 執行速度比rom快,比sram慢,便宜 電腦記憶體 flash 又稱快閃儲存器,它結合了rom和ram的長處,不僅具...
ARM裸機開發快速體驗
一。linux平台 自己寫makefile 自己寫lds指令碼 自己搭建除錯環境 二。裸機開發流程 1 編寫裸機程式 2 除錯裸機程式 3 編譯 鏈結 格式轉換成二進位制映像 1.安裝交叉工具鏈 把課程裡面的工具包拷貝到linux,解壓arm linux gcc到根目錄 c 交叉工具在usr loc...
ARM裸機開發(五)SPI
以下裸機程式基於gt2440,編譯器為arm linux gcc 4.4.3。程式結構 本程式只有乙個spi.s檔案。程式流程 首先上電復位進入復位異常,在復位異常裡依次呼叫子程式關閉看門狗 初始化系統時鐘 初始化串列埠,最後呼叫spi傳送資料,spi傳送的資料在程式裡指定,對於本程式傳送資料為乙個...