Может ли Visual Studio ARM Assembler создавать двоичные файлы, не требующие ОС? - PullRequest
2 голосов
/ 28 января 2010

Признаюсь заранее, что я не очень разбираюсь в разработке ARM, так что я, вероятно, ошибся информацией здесь.

Visual Studio поставляется с ассемблером ARM (armasm.exe), что чрезвычайно удобно, потому что я использую инструменты, включенные в VS, практически для всего, и я не слишком склонен платить за ассемблер ARM, который поставляется в комплекте с компилятор, который я никогда не буду использовать от других компаний.

Теперь я понимаю, что исполняемые на компьютере двоичные файлы ARM должны быть в чисто двоичном формате, а не в формате ELF или PE. Может ли ARMASM выводить двоичные файлы, которые могут работать без операционной системы? Документация MSDN для ARMASM, по-видимому, отсутствует в отношении этого типа информации.

Если нет, можете ли вы порекомендовать бесплатный ARM-ассемблер, который обеспечивает поддержку макросов и не поставляется в комплекте с кучей лишнего пуха?

1 Ответ

2 голосов
/ 28 января 2010

Ассемблер просто создает объектные файлы. Компоновщик должен создать окончательный исполняемый файл. Я почти уверен, что Microsoft использует в основном их обычный компоновщик, который создает исполняемые файлы формата PE (на ваш взгляд, вариант COFF). Случайно, я не знаю о компоновщике / локаторе, который будет принимать объектные файлы формата MS-COFF и создавать чистый двоичный выходной файл (хотя это вряд ли означает, что он не существует - я его никогда не искал)

Также обратите внимание, что работа на голом железе означает, что вы записываете файл в какой-либо вариант ПЗУ. Это означает, что вам действительно не нужен чистый двоичный выходной файл - то, что вам действительно нужно, это файл, подходящий для записи на ПЗУ. Обычно это означает S-записи Motorola или шестнадцатеричный формат Intel (довольно много устройств записи ПЗУ принимают оба).

Я знаю, что это не дает вам "окончательный ответ", но это должно, по крайней мере, дать вам несколько терминов, подходящих для Google, чтобы получить более актуальную информацию ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...