嵌入式系統(tǒng)芯片的軟硬件協(xié)同仿真環(huán)境設(shè)計(jì)
3 軟件仿真
ARM匯編器工具ARMASM、ARM的C/C++編譯工具ARMCC和ARMCPP,以及ARM的鏈接工具ARMLINK,利用ARM工具對(duì)軟件代碼進(jìn)行編譯鏈接生成的文件格式為ELF格式(Executable Link File),原始代碼在文件中的位置通過SCATTER文件指定,ARM提供了fromelf工具,該工具將ELF格式的文件根據(jù)運(yùn)行時(shí)域轉(zhuǎn)化為二進(jìn)制文件,以便在仿真起始階段將代碼放到指定的Memory中。在makefile中將ELF格式轉(zhuǎn)化為BIN文件的具體實(shí)例如下:
Fromelf-bin output./softWare.elf
上述語句表示將software.elf文件轉(zhuǎn)化為二進(jìn)制文件放到當(dāng)前目錄。
在軟硬件協(xié)同仿真的初始階段,需要將生成的二進(jìn)制文件導(dǎo)入相應(yīng)的存儲(chǔ)器中,這通過Verilog提供的系統(tǒng)函數(shù)fread實(shí)現(xiàn)。下面是一個(gè)將二進(jìn)制文件導(dǎo)入存儲(chǔ)器的實(shí)例,先通過$fopen函數(shù)讀出文件地址,然后通過$fread函數(shù)將指定地址的文件數(shù)據(jù)傳給變量inst_fik_word,最后將變量inst_file_world中的值傳給存儲(chǔ)器中的相應(yīng)地址單元。在DSM仿真中都需要一個(gè)這樣的“橋梁”文件,將軟件和邏輯鏈接起來。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論