嵌入式系統為什麼自定義連結指令碼,嵌入式ARM linux系統如何設定開機啟動應用程式

2022-12-24 21:50:58 字數 667 閱讀 3415

1樓:匿名使用者

既然你說嵌入式系統,我就不多廢話了,直接說連結指令碼,如果有不懂得歡迎提問,我大四和你一樣在學這方面內容。

如果我們不自己定義的話,編譯使用的是內部預設的連結指令碼,連結指令碼的本質就是說明程式的各個段(資料段,**段,bss段=》沒有被初始化的全域性變數)儲存在記憶體的什麼位置,這裡涉及執行域和裝載域,我們把程式燒錄到flash中這時執行程式所在的地址稱之為裝載域(flash中的地址),由於程式中包含資料段和bss段他們是可以修改的,因此要把bss段資料段從裝載域(flash)拷貝到在ram中(稱之為執行域),當程式要訪問這個變數時,通過連結指令碼定義的地址資訊可以知道我們在記憶體的哪個地址訪問這個變數,本質就是指定執行域的地址,這就是連結指令碼的本質,我們也可以把程式拷貝到記憶體中,在記憶體中執行,但是要靠連結指令碼告訴我們程式(**段)在**,變數在**(資料段),好讓編譯器自動的給我們算好變數的地址資訊,至於為什麼要自定義的話,根據要求板子打硬體環境定製的,例如我們的arm板子要跑linux,我們的程式燒錄到flash中,然後要拷貝到記憶體中,但是預設的連結指令碼怎麼知道我們的各個段信儲存在記憶體的**?這時候需要我們自己定義連結指令碼。

2樓:我回來了呼叫

因為用二進位制檔案, 無法簡單修改.

嵌入式arm linux系統如何設定開機啟動應用程式?

什麼是嵌入式系統的軟硬體協同設計

面試題?貌似這個是針對fpga原型驗證的吧 軟硬體協同射擊和嵌入式系統設計有何不同 個人覺得嵌bai入式軟體開du發工作主要zhi包括 1.作業系統定dao制開發,linux,wince,ucosii等,系統層的回開發主要看答你選擇什麼系統了,像linux,wince等一般比較成熟,只是定製元件,像...

什麼是嵌入式系統?麻煩知道的給科普下

在創客學院是這樣定義嵌入式系統的以應用為中心,以計算機技術為基礎,軟硬體可裁剪,適應應用系統,對功能 可靠性 成本 體積 功耗有嚴格要求的專用計算機系統。狹義的即是基於某一款嵌入式微處理器 如arm 所組成的嵌入到物件體中實現智慧控制的系統,而廣義的嵌入式系統面就比較廣了 如微控制器系統 dsp系統...

cad自定義使用者座標標註xy值為什麼是反的

調出ucs工具欄 在軟體右上角空白區域右鍵 zwcad ucs 改變檢視後,可以根據自己需要建立不同的三維座標系,使用三點ucs,先定位原點然後確定x軸正方向和y軸正方向。在建立的xy軸平面向可以進行所需操作。切換其他檢視時再次使用此功能改變三維座標即可。此功能的應用雖然和autocad有部分割槽別...