Автор: ROMby Unknown , 24 августа 2012
Здравствуйте.
Возникла необходимость разобраться в принципах работы Embedded Controller'а (EC) встроенного в ноутбук Dell Latitude E5500. Модель EC: SMSC MEC5035-NU.

Из BIOS ноутбука была выдрана прошивка этого контроллера. Судя по всему, это код под 8051-й МП.
Даташиты или другую полезную информацию об этом контроллере найти не удалось, из за этого разобраться в его прошивке с помощью дизассемблера очень сложно. Кто-нибудь работал с этим контроллером?


С учетом деструктивной деятельности автора (hvmetal) удалил его авторство в данной теме и восстановил сообщения.
maco
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Unknown BIOS (не проверено)

13 лет 4 месяца назад

Вот сама прошивка

igils

13 лет 11 месяцев назад

С документацией напряженка. Может, если подойти к этому вопросу со стороны схемы на платформу, легче будет?

Unknown BIOS (не проверено)

13 лет 4 месяца назад

Меня интересует специфика программного интерфейса этого EC, предоставляемого через специальные порты ввода-вывода. Схема тут не поможет, к сожалению.

makarog

13 лет 11 месяцев назад

вы бы хоть интересующие вас "специальные порты" озвучили да задачу обрисовали
на схеме хоть распиновка имеется да порты обозначены, все больше чем ничего

STRAIDER

13 лет 11 месяцев назад

Могу попробовать сконвертить в язык Ассемблера... Вы в нём разберётесь?

Unknown BIOS (не проверено)

13 лет 4 месяца назад

Согласно спецификации на ACPI EC, данный контроллер должен иметь два порта ввода-вывода:
1) порт данных (EC_DATA) [R/W];
2) порт состояния [R] и управления [W] (EC_SC).

В моём случае это 0x930 и 0x934, соответственно (следует отметить, что, чаще всего, это порты 0x62 и 0x66).

Этот интерфейс присутствует во всех ACPI-совместимых встроенных контроллерах и используется для доступа к 256-Байтовому внутреннему адресному пространству EC, которое представляет собой набор неких регистров (часть которых тоже описана в спецификации на ACPI EC, однако, их состав всегда специфичен для каждого производителя ноутбука (и даже модели)).

Применительно к моему случаю, мне удалось понять назначение некоторых из них - это отображение различных характеристик аккумуляторной батареи (например, текущее и максимальное напряжение, ток, ёмкость, оставшийся заряд в процентах, идентификатор производителя и т.п.) считываемые EC'ом с самой батареи по шине SMBus.

Я хочу разобрать код (прошивку) этого EC и понять (а может и модифицировать) назначение остальных регистров в адресном пространстве EC. Именно прошивка EC отвечает за взаимодействие с процессором (хостом) через порты ввода-вывода.

Если говорить про схему, то ситуация, скорее всего, похожа на такую:
http://doubleclickittofixit.com/img/notebook_schematics/Compaq_HP/DVx-xxxx/DV7%20LA-4042P%20ICH9m.pdf
В моём ноутбуке тоже MEC5035 в роли EC, тоже ECE1077 в роли KBC, тоже MEC5028 в роли SIO и тоже ICH9M. Схему для своего ноутбука найти не удалось, поэтому пришлось разбирать ноутбук, чтобы увидеть это.
Разбираюсь.
Всмысле сконвертить?

Код я загонял в дизассемблер IDA в режиме 8051. Проблема в том, что без даташита на эту модель EC (описывающую его внутреннюю архитектуру, регистры и т.п.) очень сложно разбирать этот код.

igils

13 лет 11 месяцев назад

Один нескромный вопрос - зачем Вам это надо?
Это просто мое любопытство, и ничего более, ибо я эти контроллеры вижу только с точки зрения:
сдох -> сменил на новый -> все работает, все счастливы. Специфика работы такая.

bios71

13 лет 11 месяцев назад

тема по своему интерестная ... хотя и неблагодарная ... т.к.FW все уникально :-(

а вот ето удивило ... "Из BIOS ноутбука была выдрана прошивка этого контроллера"

... и давно в БИОС FW для ЕС пихать начали?? я что то пропустил??

igils

13 лет 11 месяцев назад

Видно пропустили. Многие EC, установленные в ноутбуках, загружают свою прошивку из внешней памяти. Иногда отдельная флеш, иногда - общая с системным биосом. И соответственно, при слете прошивки ноутбук может вести себя как кирпич - никакой реакции на включение.
Простой пример - KB926 - http://mobrepair.ru/files/Literature/Datasheets/KB926D-ds-11.pdf