IMX6ULL連結指令碼註釋記錄 2020-11-21
目錄
1,原始碼註釋
SECTIONS{
. = 0X87800000; /*“.”在連結指令碼里面叫做定位計數器,要求程式碼連結到以 0X87800000為起始地址的地方*/
/* “.text”是段名,後面的冒號是語法要求,冒號後面的大括號裡面可以填上要連結到“.text”這個段裡面的所有檔案,
* “*(.text)”中的“*”是萬用字元,表示所有輸入檔案的.text段都放到“.text”中。
*/
.text :
{
start.o /*start.o 要被連結到最開始的地方,因為 start.o 裡面包含這第一個要執行的命令。*/
main.o /* main.o這個檔案,其實可以不用寫出來,可以由編譯器自行決定連結位置*/
*(.text)
}
.rodata ALIGN(4) : {*(.rodata*)} /*ALIGN(4)表示 4 位元組對齊。也就是說段“.data”的起始地址要能被 4 整除*/
.data ALIGN(4) : { *(.data) }
__bss_start = .; /*?“__bss_start”和“__bss_end”是符號,對這兩個符號進行賦值,其值為定位符“.”,*/
.bss ALIGN(4) : { *(.bss) *(COMMON) } /*“.bss”資料就是那些定義了但是沒有被初始化的變數。*/
__bss_end = .;
}
2,參考資料
2.1正點原子視訊
https://www.bilibili.com/video/BV1yE411h7uQ?p=16
2.2 ld連結指令碼語法簡介
主要包含命令語句和賦值語句。
一、語法
1、分號,作為分隔符號
2、註釋 表示式和運算子 和c一樣,其中註釋只有/**/
3、字元引用 段名檔名等有特殊字元,使用雙引號
4、命令語句
a、ENTRY(symble) 指定入口地址,入口地址就是程式執行的第一條使用者空間的指令再程式地址空間中的地址,被指定再ELF檔案頭的ELF32_Ehdr的e_entry成員中。
ld有多種指定程式入口方式:(優先順序逐漸降低)
ld -e
entry()
_start符號
.text
0
b、STARTUP(filename) 將檔案filename 作為連結過程中的第一個輸入檔案。
c、SEATCH_DIR 將路徑path加入到ld連結器的庫查詢目錄。 ld會根據指定的目錄去查詢相應的庫。
d、INPUT(file,file,...) 將指定檔案作為連結過程中的輸入檔案
e、INCLUDE filename 將指定檔案包含進本連結指令碼。
f、PROVIDE(symbol) 在連結指令碼中定義某個符號。該符號再程式中可以被引用,起始前文提到的特殊符號都是由系統預設的連結指令碼通過PROVIDE 命令定義在指令碼中的
https://www.cnblogs.com/tureno/articles/3741291.html
2.3 Linux下的lds連結指令碼詳解
https://blog.csdn.net/sunjing_/article/details/52221959
相關文章
- IDEA 利用groovy指令碼生成註釋Idea指令碼
- 《Linux核心完全註釋》學習筆記:2.7 Linux核心原始碼的目錄結構Linux筆記原始碼
- Java實現連結串列帶註釋Java
- ffmpeg iOS平臺編譯 指令碼註釋iOS編譯指令碼
- 指令記錄
- Uboot連結指令碼與啟動流程boot指令碼
- 程式碼目錄結構記錄
- 錄屏方法剖析,記錄指令碼跑測不再難指令碼
- tmux指令記錄UX
- Jmeter代理伺服器錄製指令碼--瀏覽器攔截訪問連結JMeter伺服器指令碼瀏覽器
- 如何在linux中建立特定的指令碼註釋資訊Linux指令碼
- 如何在 Bash 指令碼中使用單行和多行註釋指令碼
- Robot Framework(8)——指令碼語法示例記錄Framework指令碼
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- 【程式碼隨想錄】二、連結串列:2、設計連結串列
- 【程式碼隨想錄】二、連結串列:1、移除連結串列元素
- 【隨手記錄】mongoDB離線安裝指令碼MongoDB指令碼
- 記錄oss連結型別PDF預覽型別
- Jmeter —— 錄製指令碼JMeter指令碼
- JMeter錄製指令碼JMeter指令碼
- 透過 Prometheus 編寫 TiDB 巡檢指令碼(指令碼已開源,內附連結)PrometheusTiDB指令碼
- PHP 註釋標記,PHP
- 程式碼隨想錄:移除連結串列元素
- 程式碼隨想錄:設計連結串列
- 記錄 react的常用指令React
- Word中怎麼新增目錄連結?word目錄連結到相應頁碼設定教程
- CSS程式碼註釋CSS
- 為什麼要有Shell指令碼註釋?linux系統開發基礎指令碼Linux
- springboot常用註解記錄Spring Boot
- 補錄資料指令碼指令碼
- 前端筆記-vue v2.6.10原始碼註釋-nextTick前端筆記Vue原始碼
- bootstrap-modal.js學習筆記(原始碼註釋)bootJS筆記原始碼
- Python目錄連結Python
- 《Bash 指令碼教程》釋出了指令碼
- 前端釋出shell指令碼前端指令碼
- 寫一個Python指令碼刪除一個.py檔案的所有註釋Python指令碼
- shell指令碼總結指令碼
- iOS 註釋方法大全 程式碼塊加快捷鍵註釋iOS