嵌入式linux 學習筆記基礎篇

2021-08-16 08:24:04 字數 642 閱讀 8132

1、乙個c/c++檔案要經過預處理、編譯、彙編、連線等4步才能變成可執行檔案。

a、預處理:以#開頭的命令被稱為預處理命令,將要處理的檔案插入原檔案中,將巨集定義展開等,最後將這些**輸出到乙個.i檔案中。使用工具為:arm-linux-cpp。

b、編譯:將.i檔案翻譯成彙編**,工具為cc1

c、彙編:將生成的彙編**翻譯成一定格式的機器碼,表現為elf檔案(obj檔案),工具:arm-linux-as,反彙編就是將機器碼轉換為彙編**,除錯時使用。

d、連線:將上步生成的obj檔案和系統庫的obj檔案,庫檔案連線起來,生成可執行檔案,工具arm-linux-ld

2、arm-linux-ld選項

"-t"選項,可以直接用他來指定**段、資料段、bss段的起始位址,或者用來指定乙個連線指令碼,進行更複雜的位址設定

例:-ttext startaddr

-tdata startaddr

-tbss startaddr

b、bl跳轉指令屬於位置無關碼。bootloader、核心等程式剛開始執行時,他們所處的位址一般不等於執行位址。在程式的開頭,先使用b、bl、mov等位置無關命令將**從flash等裝置中複製到記憶體的執行位址處,再跳到執行位址去執行。

嵌入式Linux學習筆記

嵌入式linux學習筆記 學習 一 linux的優勢 1 廣泛的硬體支援 linux能夠支援x86 arm mips alpha powerpc等多種體系結構,目前已經成功移植到數十種硬體平台,幾乎能夠執行在所有流行的cpu上。linux有著異常豐富的驅動程式資源,支援各種主流硬體裝置和最新硬體技術...

嵌入式linux學習筆記

1 溢位 兩個數相加,如果最高位的進製和此高位的進製不同,則產生溢位。2 進製和溢位的概念不一樣。3 預取 取得是編譯後得到的機器 解碼 執行 4 arm的彙編指令長度是確定的,32位。5 一條彙編指令 條件碼 4bit 操作碼 分類碼 s 1bit 目的暫存器 4bit 源暫存器 4bit 立即數...

嵌入式學習筆記 彙編基礎

彙編的指令與偽指令 指令是cpu機器指令的助記符,通過編譯會得到機器碼 偽指令是編譯器為輔助引導編譯過程而加入的指令,沒有實際作用 兩種風格的arm指令 官方推薦的大寫風格 同時也是windows平台用的風格 gcc風格則是小寫風格 arm通過暫存器名尋找通用暫存器 arm彙編特點 讀 改 寫 ld...