legal note
IC Book © 2001

hardware
software

support
buy

Home page
   




Press
Phoenix Phlash Utility
 


Phoenix Phlash — десять лет в строю

На первый взгляд, Phoenix BIOS на современных системных платах — явление не самое распространенное. Вместе с тем, более 70% персональных систем оснащены продуктами Phoenix Technologies Ltd., и каждый час в мире появляется 35000 аппаратных решений с Phoenix BIOS. В сражении за симпатии пользователей, Phoenix держится в тени, пропуская на передний край и производителей чипсетов, и производителей системных плат, но оставаясь самым влиятельный в среде разработчиков серверных платформ, ноутбуков, сложных контроллеров. BIOS есть BIOS, и для работы с ним должны быть утилиты. Об одной из них наш рассказ.

"Когда мы были молодыми…"

Вернемся лет на десять назад.
В то время знакомство с продуктами Phoenix ограничивалось платами для i386 процессора, мысли о перепрограммировании BIOS пользователям в голову не приходили. Какая разница, какой он на плате — от Award, AMI, Phoenix или Quad­tel. В первую очередь это происходило потому, что его обновление в то вре­мя не бы­ло шагом вынужденным, направленным на поддержание ра­бо­то­спо­соб­нос­ти сис­те­мы.

Многое изменилось за это время. Стремительное развитие элементной базы, и в первую очередь появление перезаписываемых запоминающих устройств — Flash ROM, потребовало адекватной реакции производителей BIOS. И не только для того, чтобы обеспечить совместимость с новинками аппаратного обе­с­пе­че­ния: жесткими дисками предельных размеров, диковинными контроллерами ввода-вывода, схемами системного мониторинга. Свой вклад во взаимодействие прог­рам­мных и аппаратных средств вносят операционные системы. Самые сов­ре­мен­ные из них требуют, чтобы BIOS обеспечил поддержку ACPI, ре­зер­ви­ро­ва­ние и "горячую" замену.

Поначалу для каждой материнской платы, набора системной логики, для каж­дой модели микросхемы Flash создавались свои версии утилит, позволяющие сме­нить BIOS. Недостатки первых версий программ были очевидны и только к 1992 году производители BIOS представили собственные реализации уни­вер­саль­ных утилит.

"Когда мы были молодыми…"

Движение Phoenix к программным технологиям апгрейда оказалось не­с­коль­ко запоздалым, хотя первый свой BIOS компания продала еще в 1983 году. Ве­ро­ят­ной причиной были финансовые трудности, с которыми Phoenix Tech­no­lo­gi­es столкнулась в начале 90-х годов.

Первоначальная идея состояла в том, чтобы, создавая универсальную утилиту Phoenix Phlash, обслуживание особенностей системной платы (платформы) воз­ло­жить на два ключа: дескриптор микросхем Flash и дескриптор аппаратных осо­бен­но­стей.

Понятие платформы, впервые предложенное Phoenix Technologies Ltd., стало доминирующим в среде разработчиков компьютерных систем. По смыслу шире, чем понятие системной платы, платформа определяется как аппаратный продукт на основе детерминированных компонентов (набор системной логики, кон­трол­ле­ры обслуживания периферийных устройств и т.п.).

Запоминающее устройство ROM, хотя и является неотъемлемой частью плат­формы, рассматривается как отдельная подсистема. Если платформа в данном случае средство для доступа к Flash ROM, то сами запоминающие элементы — цель для утилиты перепрограммирования. Такое противоречие, заложенное с самого начала работ, проявилось с момента выхода первых рабочих версий ути­ли­ты. Кроме файла PHLASH.EXE для программирования требовалось иметь еще два файла — PHLASH.INI, который использовался для конфигурирования плат­фор­мы, и DEVTBLS.DAT, в котором хранилось описание программируемых мик­ро­схем Flash ROM.

Просуществовав чуть более года, такой подход пришел к логическому за­вер­ше­нию. Начиная с версии 1.07 для работоспособности утилиты Phoenix Phlash требуется только один конфигурационный файл PLATFORM.BIN. В нем сведены воедино и особенности аппаратной реализации платы и поддержка пе­ре­про­г­рам­ми­ру­е­мых устройств — микросхем Flash ROM.

Конфигурационный файл…

Чем отличается BIOS серверной платформы от аналогичных настольных про­дук­тов? Кроме прочего, — это минимизация простоя аппаратных средств и, как следствие, высокая надежность всех программных компонентов. Именно в этом состоит смысл модернизации утилиты Phlash, выполненной Phoenix Tech­no­lo­gies, на рубеже 1994-1995 гг.

Изменения коснулись не только таблицы Flash ROM, которая в ранних вер­си­ях размещалась в DEVTBLS.DAT. Один из разделов PLATFORM.BIN включает в се­бя библиотеку алгоритмов программирования каждого из типов запоминающих устройств, а также библиотеку очень важных подпрограмм, детализирующих осо­бен­нос­ти используемой платформы. В силу того, что дизайн сложных плат­форм предполагает ряд уникальных аппаратных решений, остановимся на про­це­ду­рах, обеспечивающих доступ к Flash ROM и управление про­цес­сом пе­ре­прог­рам­ми­ро­ва­ния.

   Перед выполнением всех этих действий необходимо снять блокировку сигнала Flash Write Enable
   Запретить Shadow с тем, чтобы обращение к BIOS перенаправлялось к ре­ги­ону Flash ROM, а не к его копии в RAM
   Запретить кэширование, все операции должны выполняться с реальными объ­ектами, исключая отложенную запись и упреждающее чтение
   Разрешить подачу программирующего напряжения Vpp, что особенно важно для обслуживания некоторых микросхем Flash.
   Очистить буфер контроллера клавиатуры
   Запретить генерацию прерываний на шине USB
   После программирования привести регистры чипсета в такое состояние, ко­то­рое бы исключало какие бы то ни было зависания в процессе перезагрузки.

Последнее особенно важно в том смысле, что на серверных платформах про­цесс перезаписи Flash может выполняться через удаленную консоль. Пе­ре­за­гру­з­ка системы после обновления, как обязательное явление, должна со­про­вож­дать­ся гарантированным стартом.

Сложность написания универсальной программы заключается в следующем. Вопервых, каждый чип сет имеет свои регистры для обеспечения доступа в ре­ги­о­ны 32-битного адресного пространства FFF80000h-FFFFFFFFh, где рас­по­ло­жен Flash ROM. Во-вторых, каждый производитель платформы по-разному ре­а­ли­зу­ет подачу напряжения программирования. И, наконец, в третьих, для прог­рам­ми­ро­ва­ния Flash ROM разных производителей зачастую требуют раз­лич­ные ал­го­рит­мы.

Как видно, правильный результат при программировании Flash ROM обу­слов­лен в большей мере тонкой настройкой ресурсов материнской платы. За такую на­строй­ку у Phoenix Phlash отвечает внешний файл PLATFORM.BIN. Значит, за­да­ча владельца материнской платы — не только подыскать "свежую" версию BIOS и утилиту для программирования, но и не ошибиться в использовании кон­фи­гу­ра­ци­он­но­го файла. Иначе последствия могут быть плачевные.

Продолжение…






about
press


вверх