2010-07-15 3 views
1

Какое преимущество имеет файл ELF BDM по сравнению с обычным файлом ELF с точки зрения используемой памяти?BDM elf file vs normal elf file

Я знаю следующие вещи о как:

  1. БДМ файл ELF может быть использован для отладки с помощью любых инструментов отладчика как Trace32, подключив к JTAG. Обычный файл ELF также может быть , используемый для цели отладки, при условии, что у нас есть соответствующий файл FLS (файл Flash), который необходимо запрограммировать в области ПЗУ контроллера ECM .
  2. Файлы BDM ELF загружаются в область ОЗУ контроллера ECM (электронный модуль ), тогда как нормальные файлы ELF и их соответствующие FLS-диски загружаются в ПЗУ из ECM.
  3. В ELF-файлы (либо БДМ или нормальный) не загружены все в память ECM (я понял это от размера памяти ECM, который мы используем для загрузки ELF, которая с точки зрения KB-х по сравнению с огромным размером ELF, который находится в терминах MB), часть части файла ELF (такие символы, как типы, вариаторы и функции и т. д.) хранятся в памяти Trace32.

Выше были мои основные договоренности об использовании ELF, я знаю, что вы, люди, поможете мне исправить себя на случай, если я что-то неправильно интерпретирую.

Мое предположение заключается в том, чтобы понять, как содержимое файла BDM ELF распределяется между отладчиком Trace32 и ECM-памятью, как один из форматов ELF выгоднее, чем один, поскольку оба используются только для целей отладки. Обратите внимание, что когда дело доходит до выпуска приложения/программного обеспечения для клиента, мы выпускаем в формате FLS, который клиент застревает в своем ECM.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, чтобы продолжить отвечать на мой вопрос.

ответ

1

Хорошо, я попробую еще раз:

Как содержимое файла БДМ ELF розданы Trace32 отладчик и память ECM?

ELF-файл может содержать отладочную информацию о символах (относящуюся к ячейкам памяти и регистрам к функциям и переменным), которые использует trace32 для отладки. Эта информация символа хранится в trace32 и используется для декодирования вывода BDM из чипа (в основном значения регистра) и предоставления полезной информации за пределами голого собрания.

Как любой из ELF форматов оправданной, чем друг с другом, поскольку и используются только для отладки цели?

Это зависит от вашего инструмента для отладки и цепочки инструментов разработки. Как я уже сказал в своем другом ответе, ELF является стандартным форматом. Погода, которую он использует для линейного программирования, зависит от того, что делает ваш инструмент разработки во время соединения. Поскольку вы не говорите мне, что такое целая цепочка инструментов, я действительно могу только догадываться.

Если ваше устройство имеет плоскую модель памяти и встроенное ПЗУ (большинство 32-разрядных устройств с меньшим объемом памяти), то для программирования устройства необходим только один файл. Поскольку ОЗУ и внутренняя вспышка адресованы одинаково, адрес просто должен соответствовать желаемому месту назначения.

Если, с другой стороны, у вас есть два места, где хранится ПЗУ (что, как я подозреваю, относится к вашему продукту), и они не рассматриваются одинаково, тогда могут потребоваться два файла. Это было бы в случае, если бы был ECU, который сопрягался с микросхемой флэш-памяти и внешней микросхемой (или SD-картой или тому подобным). В этом случае требуется отдельное изображение для записи в хранилище вне кристалла, поскольку адреса, вероятно, будут перекрываться (ELF принимает уникальный адрес для части данных). Таким образом, в вашем случае необходимы два файла ELF: один указывает настройку отладки, которая должна быть загружена в ОЗУ, чтобы запустить устройство при отладке, другое указывает информацию о символах для ОС и другие данные, запрограммированные во внешнюю микросхему флэш-памяти. Файлы FLS, вероятно, указывают информацию, которую программист использует для адресации внешней вспышки, отсутствующей в ELF, но это зависит от архитектуры (я не знаком с тем, как Nokia разрабатывает свое оборудование).

Это может помочь для общего ELF информации: http://blog.ksplice.com/tag/elf/

-1

В вашем вопросе отсутствуют вопросительные знаки. Таким образом, я не уверен, что полностью отвечаю на то, о чем вы спрашиваете.

Эта информация в значительной степени происходит от использования ELF файлов по БДМ, а не от фактической документации:

ELF является спецификация файла, поэтому все ELF-файлы должны быть одинаковыми. Файл ELF генерируется компоновщиком и содержит информацию о символах, а также исполняемый код, организованный в разделы. Когда пользователь программирует ECM, отладчик/программатор читает файл ELF, выбирает адреса разделов и связанный с ними код, а затем записывает их по желанию.

Независимо от того, записывается ли исполняемый файл в ОЗУ или ПЗУ, либо адреса разделов в ELF (обычно настраиваемые через файл конфигурации, считанные компоновщиком), либо настройки программиста, когда программа «запрограммирована». Большинство отладчиков имеют возможность загружать изображение в ПЗУ или ОЗУ. Единственное отличие в образах программы - это расположение кода и переменных.

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

+0

Я думаю, что вы не знакомы с расширением файла «FLS-файл» или «.fls» ... позвольте мне попытаться объяснить вам пример мобильных телефонов ... – wrapperm

+0

Файлы с расширением .FLS программные флеш-файлы для использования с некоторыми мобильными телефонами Nokia. Цель «Flash» или, скорее, цель «Flashing» - изменить операционную систему или прошивку мобильных телефонов.Операционная система мобильных телефонов не хранится на жестком диске, а хранится в «Флэш-памяти» в энергонезависимой памяти компьютера, которая может быть электрически стерта и перепрограммирована. Формат файлов .FLS может быть специфичным для программного обеспечения, используемого для создания конкретной версии файла .FLS. Использование неправильного программного обеспечения может привести к повреждению операционной системы. Подобная концепция используется со всеми ECM – wrapperm

+0

Все, что вы упомянули, абсолютно правильно, и я знаю о вышеупомянутой информации. Но мои вопросы по-прежнему остаются без ответа. – wrapperm

0

Способность BDM ELF является для просмотра изменений в ячейках памяти, и отображенные в памяти регистров, а код работает, и без того, чтобы остановить его.

С помощью BDM ELF у нас могут быть аппаратные часы или точки останова. Это полезно, поскольку вы можете разбить измененное значение, не влияя на скорость выполнения. После разрыва отладчика мы можем использовать метод Debugging Kernel and Applications вместе для определения того, в какой строке он произошел.

Вы не можете установить контрольные точки в пользовательских программах от отладчика BDM. Это связано с тем, что он вставляет инструкции «halt», и они могут выполняться только кодом ядра. Можно изменить драйвер BDM, чтобы позволить отладку пользовательских приложений через интерфейс BDM.