Я разработал замечтаельную программу для реверс инижиниринга телефонов на платформе MTK. С помощью этой программы вы можете мониторить состояния PIN GPIO выводов (питание камер, прерывания или иное) и понимать, за что какой PIN отвечает. Если установить на телефон SuperUser, то программа позволяет менять состояние пинов и изучать влияние на работу телефона - где какой пин на что влияет. Загрузить:Краткая инструкцияТребования:
Известные ошибки
Инструкция, как узнать GPIO вашего телефонаЗапуск программы:Установите программу, проверте работоспособность ADB из коммандной строки windows (или из папки с установленной программой или из любой папки без наличия ADB - настроить PATH в windows). Включите телефон и подключите шнур USB. Запустите программу - если программа запустилась и не вышла с ошибкой, то должна появиться таблица как на картинке выше, если ничего не появляется - проверте корректность работы ADB. Отключение несущественных оповещений:При работе с программой, строки таблицы должны меняться и высвечивать красным изменяемый PIN и первое что вы должны сделать это отключить самостоятельно меняющиеся строки сделав DblClick на строке, она станет серой и не будет отвлекать. Учтите, что в этот момент на телефоне не должно работать никаких программ и не должно ничего включаться и выключаться - иначе вы можете случайно пропустить важные пины. В телефонах MTK пины которые самостоятельно переключаются имеют отношение к системным пинам, питание и прочее важные функции - но для разработки они не нужны ибо жестко стандартизированые для конкретной платформы. Самое легкие но важные пины:Первые пины я обычно нахожу вспышки и громкоговорителя (внешний услилитель звука). Их нахождение весьма тривиально: Вспышка - в дешевых аппаратах обычно вспышка ставится на вывод GPIO при ее включении вывод переводится в состояние 1. Вы должны просто включить фонарик и увидите какой пин меняет свое состояние - для проверики вы можете запомнить это состояние и изменить через программу - вспышка должна включиться. Внешний услилитель звука - Обычно он включается при воспроизведении любого звука - просто включите музыку и смотрите. Небольшая сложность в том, что за звук может отвечать сразу много пинов - но методом тыка вы легко определите какой именно из пинов отвечает за звук. Более сложные но менее важные PIN:В принципе для попытки запуска ядра достаточно найти пин вспышки и определить тип LCM экрана - при отключении всех возможно конфлиликтующих драйверов в ядре (гироскопы, компасы, NFC) ядро должно стартануть при стандартных настройках CODEGEN. А если что-то не работает, то включая вспышку в критических местах можно найти источник проблем, в X5PRO проблемой был отсутствующий компас - не удалил драйвер и все. Но если у вас ядро уже запускается, то вам хочется всегда большего - об этом и поговорим. Все другие пины легко находятся, если немного побаловаться аппаратом, но для этого в телефоне должен быть установленный SuperSU - без него программа не сможет изменять состояния пинов. Инстукция проста - видите пин - меняете его состояние и смотрите что не работает! Я обычно меняю GPIO_MODE:
Составляете список номеров пинов и их работающего и не работающего состояния - это потом сильно поможет. Виды пиновНасколько я понял (но возможно путаю) те пины где установленные значения PULL_SEL или PULL_EN - это прерывания от устройств таких как тачскрин, детектор гравитации, детектор света, компас и прочего, что вызывает прерывание на изменение своего состояния. А пины переключающее состояние DOUT это включение и выключение питания. |
Автор искренне выражает благодарность всем кто словом и материально поддерживает мои проекты.
К сожалению реально помогающих очень мало и каждый хочет схалявничать и получить все задаром.
Реквизиты для благодарности на этой странице.
(c) Все авторские материалы должны быть скопированы на другие ресурсы с указанием ссылки на этот сайт.
Не разрешается размещать прямые ссылки на файлы на других сайтах - указывайте ссылки на страницы этого сайта.
Прошу вас содействовать в наведении порядка!
Основной спонсор проекта моя микрокомпания - "Виртуальный Проект". Если нужен сайт - я сделаю!