Когда нужна инверсия SWAP ? |
Здравствуйте, гость ( Вход | Регистрация )
Когда нужна инверсия SWAP ? |
7.2.2011, 18:43
Сообщение
#1
|
|
Активный участник Группа: Пользователи Сообщений: 58 Регистрация: 25.1.2011 Пользователь №: 739 |
Не знаю когда нужно делать инверсию дампа, а когда нет при заливке во флешь, вразумите пожалуйста.
|
|
|
7.2.2011, 19:53
Сообщение
#2
|
|
Администратор Группа: Главные администраторы Сообщений: 518 Регистрация: 4.6.2008 Пользователь №: 1 |
К сожалению, однозначного ответа здесь нет. Порядок байт зависит от контроллера, который работает с данной Flash.
Если вы считали программатором прошивку, то нужно так и записывать( без Swap). А если получили из других источников, тогда нужно посмотреть на нее в редакторе. В ней всегда есть какая текстовая информация (например, версия), по ней нужно сориентироваться, правильный порядок или нет(для любых Bios этот должно быть одинаково). Не знаю когда нужно делать инверсию дампа, а когда нет при заливке во флешь, вразумите пожалуйста. |
|
|
7.2.2011, 21:41
Сообщение
#3
|
|
Активный участник Группа: Пользователи Сообщений: 58 Регистрация: 25.1.2011 Пользователь №: 739 |
Сегодня слил дамп с BBK DK929S (MX29LV160ATTC-70) затем сравнил со скачанной из сети и заметил обратный порядок байт у слитой, скачанную из сети инвертировал (SWAP) и влил в плеер. Плеер пашет.
Цитата: masterra "В ней всегда есть какая текстовая информация (например, версия), по ней нужно сориентироваться, правильный порядок или нет" То есть я должен увидеть например слово (open), если вместо него вижу (pone), то смело делаем SWAP. |
|
|
8.2.2011, 19:34
Сообщение
#4
|
|
Администратор Группа: Главные администраторы Сообщений: 518 Регистрация: 4.6.2008 Пользователь №: 1 |
Вы правильно поняли, что здесь есть вероятность ошибки и, поскольку, проверка в устройстве достаточно трудоемкая, лучше делать наверняка.
В программе автоматически разворачиваются байты при чтении файла прошивки, если выбрана 16-битная микросхема( к ним относятся кроме 16 битных ПЗУ и Flash еще Pic/AVR контроллеры). Т.е. если выбрать последовательно м.с 29F160 и 29F160x16, при этом считать один и тот же файл, к.сумма будет одинакова, а порядок байт разный. Если прошивки BIOS, также как в примере, тоже нужно "разворачивать", получается, что для этих типов м.с в программе нужно убрать автоматическую инверсию. Сам я больше склоняюсь сделать еще один конфигурационный параметр ("порядок байт" - по умолчанию), тогда не нужно будет инвертировать каждую прошивку. Сегодня слил дамп с BBK DK929S (MX29LV160ATTC-70) затем сравнил со скачанной из сети и заметил обратный порядок байт у слитой, скачанную из сети инвертировал (SWAP) и влил в плеер. Плеер пашет. Цитата: masterra "В ней всегда есть какая текстовая информация (например, версия), по ней нужно сориентироваться, правильный порядок или нет" То есть я должен увидеть например слово (open), если вместо него вижу (pone), то смело делаем SWAP. |
|
|
8.2.2011, 21:55
Сообщение
#5
|
|
Активный участник Группа: Пользователи Сообщений: 58 Регистрация: 25.1.2011 Пользователь №: 739 |
Сам я больше склоняюсь сделать еще один конфигурационный параметр ("порядок байт" - по умолчанию), тогда не нужно будет инвертировать каждую прошивку. Автоматизм - хорошо и ещё лучше, если не будет ошибаться. Сегодня у меня в ремонте был DVD BBK DKX1100. Грешил на прошивку сначала сервопроцессора, не помогло, затем обновлял основную прошивку. Микра EN29LV800A. Шил как Spansion S29AL008-16. Впаиваю, включаю - ноль реакции на кнопки, перепаял, ещё раз прошил, не включается. Когда решил сравнить прошивку скачанную с инета и залитую во флешь, увидел, что та что во флеши инвертированная. Тогда я предварительно перед прошивкой инвертировал дамп и залил в микру, аппарат ожил. Но к неудовольствию, аппарат не отермонтировался. Но это уже к теме как говорится не относится . |
|
|
Текстовая версия | Сейчас: 28.4.2024, 21:16 |