.Rom .img .RAM文件

 Q: 編譯之後在 images 目錄下生成的那些文件都是什麼意思 A: 對於一些可能出現的文件,這裏做一個解釋: romfs.img: 這個文件是通過 tools/romfs-inst.sh 腳本,生成 romfs 目錄及其 下面的文件,然後通過 genromfs 程序打包成一個文件 romfs.img romfs.img 既可以放在 flash 中,也可以放在 ram 中,但需要在 編譯內核時在 driver/block/blkmem.c 裏指定地址,以便內核找到.
linux.text: 編譯後的內核中 text 段,一般放在 flash 中,只讀.
linux.data: 編譯後的內核中 data,init 段,一般放在 sdram 中,讀寫.
image.bin: 上面三個文件順序連接而生成的 = linux.text + linux.data + romfs.img 有的時候還會得到:
image.rom: 通常 image.rom 的文件大小要比 image.ram 小很多,這是因爲 image.rom 是 一個壓縮過的內核,前面加上一個小的解壓程序負責把內核解壓後搬到指定位置. 這個文件可以直接燒進 flash 中,當然也可以在 ram 中運行.這個文件實際上 就是通常 linux 生成的 zImage 文件.
image.ram: 這個內核沒有壓縮過,而且必須在 ram 裏運行.所以需要通過板子上的 bootloader 將它下載到指定位置後開始執行.相對 image.rom 而言,從 ram 裏啓動內核,則 代碼段和數據段都在 ram 裏面.這個文件是編譯生成的 elf 格式的linux內核,通過 arm-elf-objcopy 工具生成的二進制映像文件.
可以這樣形象的說: image.rom = gunzip program + gzipped(image.ram)
boot.rom: 其實就是 uClinux 編譯完成後的文件 images/romfs.img,可以看一下它就是一個連接.
文章來自: 好喜愛學習網(http://www.haoxiai.net) 網址:http://www.haoxiai.net/caozuoxitong/linux/88504.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章