Мне нужно преобразовать изображение в объектный файл (.o), используя sde-objcopy, тогда я могу использовать это изображение в нашей системе no-os.
Я протестировал команду objcopy, она хорошо работает на моем ПК (Fedora 12). Например, команда ниже преобразует test.jpg в test.o.
objcopy -I binary -O elf32-i386 -B i386 ../stdy/test.jpg test.o
Вот мои вопросы:
A . У sde-objcopy нет опции "-B" для указания архитектуры, но если я не укажу архитектуру, она выдаст предупреждение, подобное этому:
$ sde-objcopy -I binary -O elf32-little test.jpg test.o
sde-objcopy: Предупреждение. Выходной файл не может представлять архитектуру НЕИЗВЕСТНО!
Как исправить это предупреждение?
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