Комментарии 38
<del>
Прочитав абзац:
на барахолке увидел у продавца разные симпатичные дисплейчики от мобильных телефонов и не только за небольшую цену. Решил взять за компанию в количестве трёх штук — "куда-нибудь пригодится".
я вспомнил своё увлечение радиоделом в далёких 60-х прошлого столетия:
Откуда пошла тяга к радиоделу или, как сейчас сказали бы, к электронике, я не помню, но увлечение было серьёзное. Сначала детекторный приёмник, потом приёмники прямого усиления, потом супергетеродинный радиоприёмник да ещё с приёмом коротких волн. Вместо корпуса мыльница. Апофеозом стал магнитофон, где самое трудное было собрать лентопротяжный механизм, и миниатюрный телевизор. Последнее осталось незаконченным, хотя была разработана схема и изготовлена печатная плата. Проблема была в отсутствии кинескопа, электронно-лучевой трубки малого размера. Но когда я дома отремонтировал телевизор, мой авторитет в глазах родителей вырос до небес.
И с грустью подумал, как жалко что тогда у нас не было такой барахолки. Глядишь бы и телевизор удалось бы довести до ума...
Хочу поблагодарить вас за вашу статью про камеру. Отличная статья. Вдохновила в том числе и она. Кстати, в ней вы пишите, что пытались найти драйвер камеры в системе симбиан (или в прошивке). Хочу попробовать такое в отношении дисплеев. Есть пара мыслей, но с чего лучше начать пока не решил.
Вообще, каким бы этически спорным ни был реверс-инжиниринг, он позволяет добиться многих результатов существенно быстрее.
Помнится, я был тогда сильно озадачен, почему при всех правильных настройках и затертом до дыр мануале картинки таки нет. Телефон тот, кстати, до сих пор так и лежит на полке. А с симбианом не сложилось. Я очень долго и муторно выкачивал откуда-то десятки гигабайт, как сейчас помню, а когда оно всё же скачалось, пришел в уныние из-за того, что не понимаю, что же конкретно искать. Пытался смотреть исходники, но в мою тогдашнюю картину мира их структура никак не вписывалась.
Исходники случайно не с китайских сайтов качали?
Сам я пока только видел, что люди умеют где-то доставать такие строчки, как привёл в конце статьи (где микросхемы-драйверы). Но где точно и как они это делают, пока не ясно. Видимо считывают прошивку с телефона (сливают дамп), потом, наверное hex-редактор (просмотреть код). Или где-то скачивают. Например, мне попадались сайты ремонтников телефонов с нужными прошивками и схемами. Но скачать без регистрации и смс далеко не всегда можно. Обычно регистрация, потом ещё набрать баллы, сообщения, репутацию, а может и заплатить за доступ. Ради пары файлов таким заниматься не хочется.
Была бы статейка/видео хорошие по теме, с удовольствием посмотрел бы. Пока не попадалось. Наверное как-то не так ищу.
Есть у меня телефон живой, на его плате прямо подписаны контактики юарта и jtag. Может оттуда можно что-то интересное вычитать.
Попытаться написать в компанию, наверное, стоит. Но часто люди пишут, что в ответ ничего, либо что-то вроде "Вы производитель шилдов? Нет?". И опять молчание.
Пытался писать в компанию MStar (производитель чипов для скейлеров и вообще для цифровых телевизоров). Ответа тоже не получил. Даже при том что однажды на выставке общался с инженером этой компании, но в тот день было закрытие выставки, и они все были уже слегка перебравшие
Оу, коллега по несчастью. Сейчас они уже SigmaStar (ну или часть их). Писал им, причем от лица комании, такая же ерунда - игнор. Может гуглом или эплом нужно быть, чтоб ответили :)
Учитывая, что все виденные мною дешёвые китайские тюнеры и телевизоры имели внутри себя чипы Mstar, подозреваю, что потребители этих чипов помельче Эппл и Гугла. Но ведь как-то же они разрабатывают эти телевизоры и тюнеры, берут же где-то даташиты?
И какой смысл был приезжать и выставляться на CSTB, если на запросы потенциальных потребителей не отвечают
А так же камеры, регистраторы и многое другое. Да, задаюсь этим же вопросом. Мне удалось выяснить, что документация у них под NDA, и мы и заказчик готовы были его подписать, но для этого нужно как-то на связь выйти... В общем забавные ребята, конечно.
Довольно большая и вполне серьёзная корейская компания Humax, из модели в модель (своих абонентских приёмников/терминалов) переносила явную неадекватность.
Встречался на одной из CSTB с их представителем, тот явно сразу понял о чём речь, но попытался "включить дурака".
В итоге общения пообещал "передать инф. в соответствующий отдел" (элегантно "отшил").
Ну а через короткое время, их продукцию в масс.секторе большие операторы сменили на китайское (censored) "зато дёшево" (С)
Stm32 я выбрал из-за логических уровней 3,3 В
А какой популярный МК не умеет в 3,3 В? Прямо удивился в этом месте)
В стародавние времена :) были популярны ATmegа и PIC, и на барахолке, наверное, их сейчас даже больше,чем STM32. Так там 5 Вольт на ножках, как впрочем и питание.
что не мешало им (большей части) норм лопать 3.3в уровни, ибо порты были заточены под такой вариант
Так там 5 Вольт на ножках, как впрочем и питание.AVR работают с питанием от 1.8 до 5в, хоть в стародавние времена, хоть сейчас. STM32 — в основном от 2 до 3.6, некоторые от 2.4
как впрочем и питаниеБыла ещё ATtiny43U, с питанием от 1 батарейки 0.7-1.8в
Выбор не в глобальном смысле, а из того, что под рукой и удобно. А рядом были Ардуино нано и stm32 (это из того, что не отдельным микроконтроллером, а уже в виде отладочной платы). У Ардуино нано микроконтроллер запитан от 5 В. Т е уровни логические тоже 5 В. Возиться с согласованием уровней не хотелось, да и было желание попрактиковаться с stm32.
я люблю ЭЛТ мониторы ;)
вот бы из изготавливали сегодня, чтоб новенький приобрести.
Спасибо за то, что вынудили вспомнить нечто схожее, из начала 90х. :)
Досталась за смешные деньги мебранная клавиатура для спектрума, но... не имеющая ничего общего по "поножовщине" с тем что имелось в хозяйстве (несколько разных клонов Speccy).
Интернета нет, а вот мультиметр (ещё стрелочный) в наличии...
Ну и "юношеское упорство" в наличии :)
В итоге, после некоторого времени всё отлично заработало.
P.S.
Приятно видеть, что ещё есть "нас не остановить отсутствием детального datasheet!"
Каков труд! С интересом ознакомился, да еще и в закладки заложил. Спасибо.
Меня тоже в своё время бесило, что у меня валяется куча электронного барахла с разборки, но отсутствие документации делает невозможным использование компонентов в своих проектах. Сейчас я похоже перерос этот этап и мне проще заказать дисплей на алишке на каком-нибудь st7789 с документацией и кучей библиотек, ибо нервы и время стоят сильно дороже.
лет 15 назад тоже оживлял какой-то похожий цветной дисплей от нокии или сименса, очень уж хорошо подходил и был доступен в качестве запчастей, а купить хоть что-нибудь похожее нормально почему-то не получалось, да и надо было совсем немного штук.
только там i2c был, без человеческой документации, с выдергиванием инициализации массива регистров дисплея из файла прошивки телефона, их там несколько штук под разные дисплеи и почему-то видно было в человекочитаемом виде даже если просто файл прошивки в текстовом редакторе пристально посмотреть.
сейчас бы на похожие "подвиги" не решился, "слишком стар я стал для всего этого дерьма" (с)
А можете подробнее про выдёргивание из прошивки? Где брали прошивку, как именно с ней работали?
я уже не вспомню конечно подробностей, но так как было известно к каким телефонам этот дисплей подходил, для какого-то из них было найдено обновление прошивки.
морально приготовившись погрузиться в пучины дизассемблера, просто открыл файл, полистав его и поискав по адресу дисплея типа "0х78" (просканировал адреса нашел на какой он хоть как-то отзывается) был обнаружен массив из пар значений (адрес регистра - значение) почему-то тоже в ascii. причём несколько для разных дисплеев.
и даже по окружающим кускам текста можно было понять что это инициализация дисплея. там какие-то вменяемые имена функций были рядом.
хз может там jvm какая была и хранилось это не как скомпилированный кусок бинарного кода для целевого процессора(типа arm7 какого-нибудь поди в телефонах тогда были), а вот так.
то что дисплей в результате удалось запусть - вообще чудо.
поискал сейчас всякие прошивки для древних популярных тогда телефонов, вот что нашел:
файл K700i_FS_EMEA1_R2AY004_CID36.fbn
в самом же начале с ~100 строки:
interface=pdi;
{
name=HD66798_200404231;
#from PA20;
cap_resx=B0;
cap_resy=DC;
cap_bpp=10;
cap_bpppd=3;
cap_noofpd=1;
cap_freepdvert=1;
cap_pdlines=0;
cap_nonpdcolor=0;
cap_width=8822;
cap_height=AA28;
cap_led=;
cap_scroll=;
cap_offset=00 04;
cap_offset_pd=00 04;
pd_rectangle=00;
init=%d $00 07$ 00 04 $00 12$ 00 00 $00 13$ 10 1F %wb %d $00 11$ 00 01 $00 12$ 00 08 $00 13$ 02 0F $00 10$ 00 04 %w2a %d $00 10$ 02 24 $00 11$ 02 01 $00 12$ 00 18 %w2a %d $00 13$ 30 0F $00 01$ 02 1B $00 03$ 62 30 $00 07$ 00 44 $00 08$ 05 03 $00 09$ 00 2F $00 0B$ 00 02 $00 40$ 00 02 $00 41$ 00 00 $00 42$ DF 04 $00 43$ 03 E1 $00 44$ AF 00 $00 45$ DF 04 $00 23$ 00 00 $00 24$ 00 00 $00 21$ 04 00 $00 30$ 00 00 $00 31$ 05 05 $00 32$ 04 07 $00 33$ 02 00 $00 34$ 00 07 $00 35$ 05 02 $00 36$ 07 07 $00 37$ 00 02 $00 38$ 01 D0 $00 39$ 00 0F;
reinit=;
reinit_pd=;
swreset=;
power_on=%d $00 07$ 00 04 $00 12$ 00 00 $00 13$ 10 1F %wb %d $00 11$ 00 01 $00 12$ 00 08 $00 13$ 02 0F $00 10$ 00 04 %w2a %d $00 10$ 02 24 $00 11$ 02 01 $00 12$ 00 18 %w2a %d $00 13$ 30 0F $00 01$ 02 1B $00 03$ 62 30 $00 07$ 00 44 $00 08$ 05 03 $00 09$ 00 2F $00 0B$ 00 02 $00 40$ 00 02 $00 41$ 00 00 $00 42$ DF 04 $00 43$ 03 E1 $00 44$ AF 00 $00 45$ DF 04 $00 23$ 00 00 $00 24$ 00 00 $00 21$ 04 00 $00 30$ 00 00 $00 31$ 05 05 $00 32$ 04 07 $00 33$ 02 00 $00 34$ 00 07 $00 35$ 05 02 $00 36$ 07 07 $00 37$ 00 02 $00 38$ 01 D0 $00 39$ 00 0F $00 07$ 00 45 $00 07$ 00 65 $00 07$ 00 67 %w66 %d $00 10$ 22 20 $00 02$ 07 00 $00 07$ 00 77;
power_off=%d $00 07$ 00 76 %w66 %d $00 07$ 00 66 %w66 %d $00 07$ 00 44 $00 13$ 00 00 $00 12$ 00 00 $00 10$ 00 01;
normal_pd=%d $00 0B$ 01 0F $00 07$ 00 72 %w28 %d $00 07$ 00 62 %w28 %d $00 07$ 00 40 $00 07$ 00 48 %w28 %d $00 07$ 00 49 %w28 %d $00 07$ 00 69 $00 07$ 00 6B %w28 %d $00 07$ 00 7B $00 42$ %pd_stoprow %pd_startrow %w28 %d $00 10$ 27 20 $00 11$ 02 05 $00 02$ 0D 00;
pd_normal=%d $00 0B$ 00 02 $00 11$ 02 01 $00 07$ 00 7A %w28 %d $00 07$ 00 6A $00 07$ 00 48 $00 42$ DF 04 $00 07$ 00 44 %w28 %d $00 07$ 00 45 %w28 %d $00 07$ 00 65 $00 07$ 00 67 %w69 %d $00 10$ 22 20 $00 02$ 07 00 $00 07$ 00 77;
pdidataareadmaupdate=$00 00 00 00 00 21$ %y 00 $00 22$;
pdidisplayreg=;
pdipgmwrite=1F 1D 09 00 1F 20 90 99 1F 28 9C 99 17 98 %cnt_lo %cnt_hi 17 05 15 05 17 F8 1F 00 1F 08;
pdipgmdmaupdate=1F 1D 09 00 1F 20 90 99 1F 28 9C 99 17 98 0a 00 17 05 15 05 17 f8 13 80 %update_cnt1_lo %update_cnt1_hi 17 88 %update_cnt2_lo %update_cnt2_hi 17 60 15 01 17 e0 17 e8 1f 00 1f 0d;
pdipgmread=1F 1D 09 00 1E 20 90 99 1E 28 9C 99 16 98 02 00 10 05 16 f8 16 2c 99 99 17 00 07 00 17 00 07 00 17 06 1F 07 1F 00 1F 08;
pdipgmreadhigh=1F 1D 09 00 1E 20 90 99 1E 28 9C 99 16 98 02 00 10 05 16 f8 16 2c 99 99 17 00 07 00 17 06 1F 07 17 00 07 00 1F 00 1F 08;
pdipgmgcspeed=2;
pdipgmwritespeed=2;
pdipgmreadspeed=15;
pdirs=1;
pdinibbleswap=0;
pdidisplaycolour1=130F0E0D;
pdidisplaycolour2=17161514;
pdidisplaycolour3=06050403;
pdidisplaycolour4=0C0B0A07;
pdidisplaycolour5=00000000;
pdidisplaycolour6=00000000;
}
;
}
а потом идёт код инициализации камеры даже с какими-то комментариями и ченжлогом :)
вряд ли это был именно этот дисплей и этот телефон, но что-то похожее,
и как именно я тогда это умудрился распарсить во что-то рабочее и запустить без документации тоже уже загадка.
Благодарю. А прошивку искали по запросу вроде " K700i firmware"?
Есть мнение, что человек молод, пока у него есть желание учиться новому.
да, нашел тут https://firmware.center/firmware/Sony-Ericsson/K700/
опять же очень повезло что именно для нужного тогда дисплея оно там в таком простом виде внутри лежало, в других прошивках возможно пришлось бы очень долго копаться внутри чтобы инициализацию дисплея найти.
А такого вида строки, как привёл в конце статьи, встречали где-нибудь?
Там у некоторых контроллеров device ID читать можно из определённых регистров. Можно попробовать почитать всякие регистры согласно различным даташитам
Вы тоже любите дисплеи?