最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

13.3代碼重定位_鏈接腳本的解析

2020-08-21 14:39 作者:韋東山  | 我要投稿

鏈接腳本的語法?

解釋:?

secname? :段名

start? :起始地址:運行時的地址(runtime addr);重定位地址(relocate addr)

AT ( ldadr ) :可有可無(load addr:加載地址) 不寫時LoadAddr = runtime addr

{ contents } 的內(nèi)容:?

start.o //內(nèi)容為start.o文件

*(.text)所有的代碼段文件

start.o *(.text)文件


elf文件格式

1 鏈接得到elf文件,含有地址信息(load addr)

2 使用加載器

????2.1 對于裸板是JTAG調(diào)試工具

????2.2 對于APP,加載器也是APP 把elf文件解析讀入內(nèi)存的加載地址

3運行程序

4如果loadaddr?!= runtimeaddr程序本身要重定位

核心程序運行時應(yīng)該位于 runtimeaddr(reloate addr)或者鏈接地址?


bin文件

1 elf生成bin文件

2 硬件機(jī)制啟動

3 如果bin文件所在位置 不等于runtimeaddr ,程序本身實現(xiàn)重定位


bin文件/elf文件都不保存bss段 這些都是初始值為0 或者沒有初始化的全局變量

程序運行時把bss段對應(yīng)的空間清零

做個實驗,把全局變量g_A以16進(jìn)制打印出來?

上述代碼,沒有清理bss段 ?g_A等于莫名奇妙的值 并不等于0 所以需要清理bss段


修改lds鏈接文件?

修改start.s,清除bss段?

現(xiàn)在的代碼全局變量就是為0,通過幾行代碼,就可以少幾十個甚至上千個全局變量的存儲空間。?

13.3代碼重定位_鏈接腳本的解析的評論 (共 條)

分享到微博請遵守國家法律
丁青县| 锦州市| 磐石市| 双江| 光泽县| 道真| 溧水县| 天峨县| 梁平县| 高雄县| 舒兰市| 定南县| 铁岭市| 柏乡县| 太谷县| 纳雍县| 林周县| 祁阳县| 北海市| 滦平县| 长春市| 且末县| 濮阳县| 哈尔滨市| 西吉县| 大荔县| 集贤县| 鹰潭市| 铁岭市| 阳江市| 于田县| 潼南县| 抚松县| 万安县| 昌黎县| 南岸区| 钟祥市| 科技| 潮安县| 交城县| 方正县|