The embodiment of the invention discloses a method for generating an image file and a compiler. The method comprises the following steps of: each object files in multiple object files were compiled separately, each object file multiple object files in each volume, according to the contents of the file in multiple object files for the starting address of the first target file 0, according to the size and content of each target file the target file, using the first script for the starting address of each of the remaining multiple object files in the target file data in multiple object files in the code modify, use second scripts to multiple object files into one file, so at compile time, determine each target file in flash start address by the volume and the contents of each target file, so that no free space between the object files, the generated image file, avoid wasting Flash memory space.
【技術實現步驟摘要】
一種生成鏡像文件的方法及編譯器
本專利技術實施例涉及通信領域,尤其涉及一種生成鏡像文件的方法及編譯器。
技術介紹
人們往往通過高級語言,如C語音,C++等進行代碼的編寫,然后通過對編寫的代碼進行編譯生成鏡像文件。現有技術中,引導裝載程序(bootloader) —般由多個目標文件合并在一個閃存(norflash)中,但是在對每個目標文件編譯時,都會在norflash中分配固定且足夠大的空間,并不能保證每個目標文件的體積與其對應在norflash分配的空間大小相適應,這樣往往會導致norflash中大量的空間被浪費,而且編譯后生成的鏡像文件大。
技術實現思路
本專利技術實施例提供了一種生成鏡像文件的方法及編譯器,能夠使得生成的鏡像文件小,避免浪費norflash的空間。本專利技術實施例提供的數據傳輸方法,包括:將多個目標文件中的每個所述目標文件進行單獨編譯,得到多個所述目標文件中每個所述目標文件的體積,根據每個所述目標文件的內容在多個所述目標文件中查找起始地址為O的第一目標文件,根據多個所述目標文件中每個所述目標文件的體積和內容,使用第一腳本在多個所述目標文件的代碼中對多個所述目標文件中每個剩余的所述目標文件的起始地址的數據進行修改,其中剩余的目標文件為多個目標文件中除了第一目標文件的目標文件,使用第二腳本將多個所述目標文件合成一個鏡像文件。本專利技術實施例提供的編譯器,包括:第一編譯單元將多個目標文件中的每個目標文件進行單獨編譯,得到多個目標文件中每個目標文件的體積,查找單元根據每個目標文件的內容在多個目標文件中查找起始地址為O的第一目標文件,修改 ...
【技術保護點】
一種生成鏡像文件的方法,其特征在于,所述方法包括:將多個目標文件中的每個所述目標文件進行單獨編譯,得到多個所述目標文件中每個所述目標文件的體積;根據每個所述目標文件的內容在多個所述目標文件中查找起始地址為0的第一目標文件;根據多個所述目標文件中每個所述目標文件的體積和內容,使用第一腳本在多個所述目標文件的代碼中對多個所述目標文件中每個剩余的所述目標文件的起始地址的數據進行修改,其中,剩余的所述目標文件為多個所述目標文件中除了所述第一目標文件的目標文件;使用第二腳本將多個所述目標文件合成一個鏡像文件。
【技術特征摘要】
1.一種生成鏡像文件的方法,其特征在于,所述方法包括: 將多個目標文件中的每個所述目標文件進行單獨編譯,得到多個所述目標文件中每個所述目標文件的體積; 根據每個所述目標文件的內容在多個所述目標文件中查找起始地址為O的第一目標文件; 根據多個所述目標文件中每個所述目標文件的體積和內容,使用第一腳本在多個所述目標文件的代碼中對多個所述目標文件中每個剩余的所述目標文件的起始地址的數據進行修改,其中,剩余的所述目標文件為多個所述目標文件中除了所述第一目標文件的目標文件; 使用第二腳本將多個所述目標文件合成一個鏡像文件。2.根據權利要求1所述的方法,其特征在于,所述根據多個所述目標文件中每個所述目標文件的體積和內容,使用第一腳本在多個所述目標文件的代碼中對多個所述目標文件中剩余的每個所述目標文件的起始地址的數據進行修改的具體步驟包括: 根據多個所述目標文件中每個目標文件的體積和內容確定多個所述目標文件中每個目標文件在閃存中所占閃存地址的空間; 使用第一腳本在多個所述目標文件的代碼中對多個所述目標文件中剩余的每個所述目標文件的起始地址的數據進行修改。3.根據權利要求1所述的方法,其特征在于,使用第二腳本將多個所述目標文件合成一個鏡像文件之后的步驟還包括: 將所述鏡像文件燒寫到閃存中。4.根據權利要求3所述的方法,其特征在于,所述閃存為非易失閃存norflash,...
【專利技術屬性】
技術研發人員:張濤,
申請(專利權)人:廣東威創視訊科技股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。