Автор: 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 (не проверено)

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

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

igils

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

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

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

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

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

makarog

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

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

STRAIDER

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

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

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

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

Согласно спецификации на 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 лет 6 месяцев назад

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

bios71

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

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

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

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

igils

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

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