我需要將圖片轉換爲目標文件(.o)使用sde-objcopy,然後我可以在我們的no-os系統中使用此圖片。 我測試了objcopy命令,它在我的PC(Fedora 12)上運行良好。例如,下面的命令將test.jpg轉換爲test.o.如何指定sde-objcopy的體系結構?
objcopy -I binary -O elf32-i386 -B i386 ../stdy/test.jpg test.o
這裏是我的問題:
一個。 SDE-objcopy把不具有「-B」選項來指定架構,但如果我不指定一個架構,它會REPONSE像這樣的警告:
$ sde-objcopy -I binary -O elf32-little test.jpg test.o
SDE-objcopy命令:警告:輸出文件不能表示體系結構UNKNOWN!
如何解決此警告?
B。看來,objcopy使用文件的名稱在目標文件中生成符號。如果我使用完整路徑(如/home/owner/stdy/test.jpg
)作爲objcopy的參數,它將生成長名稱的符號。有沒有什麼優雅的方法來解決這個問題?
$ objcopy -I binary -O elf32-i386 -B i386 ../stdy/test.jpg test.o
$ nm test.o
00000083 D _binary____stdy_test_jpg_end
00000083 A _binary____stdy_test_jpg_size
00000000 D _binary____stdy_test_jpg_start
$ objcopy -I binary -O elf32-i386 -B i386 test.jpg test.o
$ nm test.o
00000032 D _binary_test_jpg_end
00000032 A _binary_test_jpg_size
00000000 D _binary_test_jpg_start
我變奏h網站很長一段時間,發現sde-objcopy的版本是基於舊的gnu工具鏈代碼(2000年4月5日,來自man sde-objcopy),並且「-B」選項被添加到objcopy直到2001年一位爲Redhat工作的程序員。所以我只是忽略這個警告。關於第二個問題,我找不到一個優雅的方式。 – Serval
我發現了一個非常有用的Linux命令,它可以將任何文件轉換爲.h文件。這個頭文件包含一個數組和一個整數,它是這個數組的長度。命令是:xxd -i test.jpg> test.h – Serval