Содержание прошивок каким оно должно или не должно быть? | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
m.ix 27/08/2008 21:14 |
Содержание прошивок каким оно должно или не должно быть?
Столкнулся уже второй раз с подобным.. Мне говорят что это так и должно быть. 1 http://www.telemaster.ru/minitv/CHA8TV/hdtv-800s%20ver.2 сохранить как объект на комп. 2 переименовать с расширением HEX 3 открыть в программаторе 24с04 Что мы видим. 1 это в txt версии :10000000A5A5A5000390000000000000021F040445 :10001000033C323232322020046907000000000025 :10002000451900A09F80EF40401000404080808034 :10003000022B0C0700E0E000000000009C0270F5BD :10004000800F00000000000021B80A1A1C191619C0 :1000500011230A0A0A0A0A0A0A0A0A0A0A0A006F85 :100060000002000000000004020000000000532015 :100070006D6F64652E0D0D0A240000000000000065 :10008000EF55AA55AA55AA5555EE55AA55AB55AAEE :10009000AA55ED55AA55AA5555AA55EC55AB55AAE2 :1000A000AA55AA55EB55AA5555AA55AA55EA55AAD7 :1000B000AA55AA55AA55E95555AA55AA55AB55E8CA :1000C000E755AA55AA55AA5555E655AA55AB55AABE :1000D000AA55E555AA55AA5555AA55E455AA55AAB3 :1000E0000100E0FFFFFFFFFFFFFFFFFFFFFFFFFF3C :1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10 :100100004D5A90000300000004000000FFFF0000B3 :10011000B8000000000000004000000000000000E7 :1001200000000000000000000000000000000000CF :10013000000000000000000000000000E0000000DF :100140000E1FBA0E00B409CD21B8014CCD21546860 :1001500069732070726F6772616D2063616E6E6F7C :10016000742062652072756E20696E20444F5320A2 :100170006D6F64652E0D0D0A240000000000000064 :10018000EF55AA55AA55AA5555EE55AA55AB55AAED :10019000AA55ED55AA55AA5555AA55EC55AB55AAE1 :1001A000AA55AA55EB55AA5555AA55AA55EA55AAD6 :1001B000AA55AA55AA55E95555AA55AA55AB55E8C9 :1001C000E755AA55AA55AA5555E655AA55AB55AABD :1001D000AA55E555AA55AA5555AA55E455AA55AAB2 :1001E000AA55AA55E355AA5555AA55AA55E255AAA6 :1001F000AA55AA55AA55E15555AA55AA55AB55E099 :100200004D5A06FE177E446144F549F44DC450AF83 :10021000897C8C678F2F91D8946596D999389CA04A :10022000A4F1A7CEA9A9AF11B1C60000000000003B :10023000000000000000000000000000E0000000DE :100240000E1FBA0E00B409CD21B8014CCD2154685F :1002500069732070726F6772616D2063616E6E6F7B :10026000742062652072756E20696E20444F5320A1 :100270006D6F64652E0D0D0A240000000000000063 :10028000EF55AA55AA55AA5555EE55AA55AB55AAEC :10029000AA55ED55AA55AA5555AA55EC55AB55AAE0 :1002A000AA55AA55EB55AA5555AA55AA55EA55AAD5 :1002B000AA55AA55AA55E95555AA55AA55AB55E8C8 :1002C000E755AA55AA55AA5555E655AA55AB55AABC :1002D000AA55E555AA55AA5555AA55E455AA55AAB1 :1002E000AA55AA55E355AA5555AA55AA55E255AAA5 :1002F000AA55AA55AA55E15555AA55AA55AB55E098 :1003000084828282828282828282828282828282CB :1003100082828282828484848484848484848484A7 :10032000848484848484848484848484848484848D :10033000848484848484848484848484848484847D :10034000848484848484848484848484848484846D :10035000848484848484848484848484848484845D :10036000848484848484848484848484848484844D :10037000848484848484848484848484848484843D :10038000848484848484848484848484848484842D :10039000848484848484848484848484848484841D :1003A000848484848484848484848484848484840D :1003B00084848484848484848484848484848484FD :1003C00084848484848484848484848484848484ED :1003D00084848484848484848484848484848484DD :1003E00084848484848484848484848484848484CD :1003F00084848484848484848484848484848484BD :040000FE091B0000DA :00000001FF 2 это в программаторе выделенный текст. ![]() Теперь немножко об ином. Теперь откроем любой маааленький исполняемый файл с расшиернием exe в блокноте (не обязательно в программаторе) И что мы видем? Всё тоже словобразования ================================== MZ.......................... ................................ This program ........... ............................$7 ================================== Так что вопрос прошивкали это??? Меня убеждают что нужно подправить чуток, в чём я сильно сомневаюсь. |
||||||||||
nessy 28/08/2008 11:03 |
Возможно прошивка изначально была для 24C02, писалась в 24C04, с адреса 100 попал мусор из буфера. |
||||||||||
БМК-Миха 28/08/2008 11:44 |
m.ix, копируешь текстовый файл и открываешь его в проге "chkhex",затем сохраняешь его в НЕХ-файле.
И все ДОБАВЛЕНО 28/08/2008 12:45 прога |
||||||||||
m.ix 28/08/2008 11:50 |
Странно, это уже не первая подобная.
Там три прошивки были без расширений. Я просто тупо добавил расширение HEX Открыл программатором И Увидел то что увидел. Первая прошивка была нормальная, остальные две с этими *словами* Прогу чуть позже попробую. |
||||||||||
tit7861 28/08/2008 12:57 |
Почему в других прошивках, например в bin, читается логотип, например "PROLOGY", а в этих его не видно, куда их не суй. Что то здесь не то. Наверное, и правда, надо что-то в них подправлять. |
||||||||||
m.ix 28/08/2008 13:04 |
У меня мало опыта, но логический вывод говорит, что ни в одной прошивки не должно быть остатков экзэшников. |
||||||||||
tit7861 29/08/2008 05:52 |
В общем, такие прошивки, просачиваются с авторизованного центра, они их, видимо, получают уже в таком виде от производителя жк "PROLOGY". Вот та прошивка тоже к ЖК "PROLOGY" была, и как ее не конвертировал, в какие проги только не совал, в реале она не работала. http://monitor.espec.ws/section13/topic106224.html Вот таки дела. Кто что еще чего скажет? |
||||||||||
China 02/09/2008 08:19 |
И не должно читаться. И при конвертации в BIN тоже не всегда работать будет. В HEX указано, с какого адреса разные фрагменты прошивки должны начинаться, если прошивка, например, для контроллера. Там же есть фьюзы, номер, EEPROM, память программы. Всё это расположено не подряд, в BINе это указать невозможно. Формат HEX-файла Intel Hex - формат файла. Строки текстового файла представляют собой последовательности двоичных данных, представленных в шестнадцатеричной системе счисления . Каждую строку в файле называют записью. Она состоит из таких элементов: Двоеточие :. Число байтов данных, содержащихся в этой записи. Занимает один байт (две шестнадцатеричных цифры), что соответствует 0…255 в десятичной системе. Начальный адрес блока записываемых данных - 2 байта. Этот адрес определяет абсолютное местоположение блока в EPROM </wiki/EPROM>. Один байт, обозначающий тип записи. Если значение этого байта равно 00h (0), то следующие байты являются фактическими данными, которые будут сохранены в EPROM. Значение 01h (1) указывает на конец файла. Байты данных, которые требуется сохранить в EPROM (их число указывается в поле 2). Последний байт в записи является контрольной суммой. Если сумма всех байтов в строке (без учёта переноса) равняется 00, строка считана правильно. Строка заоканчивается стандартной парой CR/LF (0Dh 0Ah). Файл завершается записью «:00000001FF». Если вы посмотрите содержимое такого файла при помощи редактора «Блокнот», то вы увидите, что это текстовый файл, в котором данные закодированы в виде текстовых строк. Ниже приведено содержимое hex-файла, полученного в результате трансляции программы Progl (листинг 1.1): :020000020000FC :100000000FE70DBF00E806BD00E006BD01BB0FEF26 :1000100007BB08BB02BB00E808B900B308BBFDCFB3 :00000001FF Как видите, данный файл состоит из четырех строк. Первая и последняя строки несут служебную информацию. Наличие первой строки необязательно. Система AVR Studio при трансляции программы всегда добавляет в hex-файл первую строку именно такого содержания. Последняя строка — это стандартный конец для любого hex-файла. Оставшиеся две строки как раз и содержат информацию о кодах программы. В каждой такой строке закодирована цепочка байтов и адрес в памяти, где эти байты должны размещаться. Строка начинается с двоеточия. Двоеточие — обязательный элемент, который служит для идентификации hex-формата. Все остальные символы в строке — это шестнадцатиричные числа, записанные слитно без пробелов. Отдельные числа отличают по их позиции в строке. Так первые два знака занимает шестнадцатиричное число, означающее длину цепочки. В нашем случае длина обеих цепочек равна 0x10 (то есть 16) байт. Следующие четыре символа — это начальный адрес, куда эти байты должны быть помещены. Первая цепочка будет размещена в памяти, начиная с нулевого адреса. Вторая цепочка — с адреса 0x0010. Очередные два знака занимает код вида строки. В интересующих нас строках он равен «00», что означает, что эти строки предназначены для записи данных (в первой строке такой код равен «02», а в последней «01»). Сразу после кода вида строки начинаются собственно данные. Каждый байт данных занимает два знака. Самые последние два символа — это контрольная сумма. Она рассчитывается по специальной формуле с использованием значений всех байтов цепочки и служит для проверки на отсутствие ошибок. |
||||||||||
m.ix 02/09/2008 08:27 |
China, Должны ли быть в прошивке подобные символы?
|
||||||||||
China 02/09/2008 08:38 |
А прошивка к чему? Какая микросхема, в каком девайсе стоИт? |
||||||||||
m.ix 02/09/2008 08:42 |
|
||||||||||
China 02/09/2008 08:44 |
Это не пойдёт. HEX - это не просто расширение, это формат файла. Если к текстовому файлу добавить расширение AVI, он от этого фильмом не станет. ДОБАВЛЕНО Вт 02 Сен, 2008 07:47 This program cannot be run in DOS mode - такого быть не должно, прошивка ТВ никакого отношения к ДОСу и винде не имеет. |
||||||||||
m.ix 02/09/2008 08:51 |
China, А ты попробуй скачай и посмотри что и как там.
Может я что то у себя напортачил? Там две подобные прошивки к теме притачены.
|
||||||||||
tit7861 02/09/2008 08:53 |
Да, но такие прошивки и к разным девайсам пришли из двух не связанных мест, одни отсюда 1 http://www.telemaster.ru/minitv/CHA8TV/hdtv-800s%20ver.2 , а другая с серв. центра. Их связывает только один производитель девайса Prology. Может быть они каким-то образом закодированы?. |
||||||||||
China 02/09/2008 09:04 |
Посмотрел. Очень странная строчка, похоже на просто мусор. К тому же, сигнатура MZ - это опознаваловка EXE файла. Наверное, это просто мусор как-то попал или прошивки битые. А ещё что значит "Их только надо переделать немного"? Это ересь какая-то. Нужно знать, что править и на что менять, изменение одного байта наугад сделает её совсем нерабочей. А нет ли возможности слить прошивку с рабочего TV LCD Prology и посмотреть на неё? |
||||||||||
tit7861 02/09/2008 09:13 |
пока нету такой возможности, но ждем, когда-нибудь будет, сразу солью и суда помещу. ДОБАВЛЕНО 02/09/2008 12:47
Как правильно делать и чем эту конвертацию, что б быть уверенным??? |
||||||||||
m.ix 02/09/2008 09:25 |
|
||||||||||
China 02/09/2008 09:34 |
Есть крохотные утилитки HEX2BIN.EXE и BIN2HEX.EXE. Но правильное преобразование из HEX в BIN не всегда возможно. |
||||||||||
m.ix 02/09/2008 09:47 |
Уже пробовали результат нулевой.
Файл для начала нужно обозначить, точнее назначить ему расширение. Я первый правильный файл переименовал в HEX открыл в программаторе и сохранилв bin без проблем. А с остальными двумя косяки. Точнее со структурой файла, точнее остаются все теже ЭКЗЭШНЫЕ причиндалы. |
||||||||||
tit7861 03/09/2008 07:25 |
Тмак понимаю, что когда неправильное преобразование, то прошивка работать в реале и не будет. Тогда встает вопрос - когда это возможно и когда нет??? |
||||||||||
China 03/09/2008 08:07 |
Суть проблемы в том, что память не всегда представляет собой сплошной непрерывный участок. Если речь идёт о микросхемах памяти, то неприятностей при преобразовании возникать не должно. А вот, например, в случае контроллеров, картина совсем иная. Ихняя память разбита на куски, у каждого своё назначение и идут они не всегда вплотную друг к другу. У них есть память программ, память для серийного номера, EEPROM, память для слова конфигурации. В файле HEX указывается с какого адреса должно располагаться в памяти содержимое каждой строчки, а BIN - это просто содержимое без всяких адресов. Если в прошивке для контроллера указано слово конфигурации, то оно либо совсем не попадёт в файл при преобразовании, либо же при программировании попадёт не в то место, куда ему положено. То же самое касается и EEPROM. Вот кусочки одной и тойже бессмысленной прошивки для PICа. Всю EEPROM я забил нулями.
:1007C000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F39 :1007D000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F29 :1007E000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F19 :1007F000FF3FFF3FFF3FFF3FFF3FFF3FFF3FFF3F09 :084000000F000F000F000F007C :02400E00FF3180 :1042000000000000000000000000000000000000AE :10421000000000000000000000000000000000009E :10422000000000000000000000000000000000008E :10423000000000000000000000000000000000007E :10424000000000000000000000000000000000006E :10425000000000000000000000000000000000005E :10426000000000000000000000000000000000004E :10427000000000000000000000000000000000003E :10428000000000000000000000000000000000002E :10429000000000000000000000000000000000001E :1042A000000000000000000000000000000000000E :1042B00000000000000000000000000000000000FE :1042C00000000000000000000000000000000000EE :1042D00000000000000000000000000000000000DE :1042E00000000000000000000000000000000000CE :1042F00000000000000000000000000000000000BE :00000001FF Видно, что эти нолики есть, они в конце фрагмента. А вот результат преобразования в BIN, тоже самый конец файла. Здесь никаких ноликов нет, содержимое EEPROM совсем не попало в результат преобразования. Естественно, такая прошивка работать не будет. |
||||||||||
tit7861 03/09/2008 09:27 |
China, CПС, ты здорово все объясняешь ![]() |
||||||||||
m.ix 10/09/2008 11:26 |
Мужикик!!!
Вы будуте смеятся но я чуть со стула не упал. Только что программировал 24С08 её содрал с какого то тела LCD Короче прошивка содержала те самые ЭКЗЭШНЫЕ артефакты в трёх экзэмплярах. Хочешь верь хочешь нет а вот такое случилось. И не возможное возможно. Но вопрос всё ж открыт, для чего там эти виндовые артефакты??? |
||||||||||
tit7861 24/09/2008 16:18 |
Ага, тоже снимал прошивки с LCD PHILIPC c ЕЕPROM, то ли скалера, то ли Геркулеса и тоже подобное обнаружилось. Кстати, та моя прошивка ( см. выше), на которую грешил, оказалось работоспособной. Просто панель выносная под DIP-8 глючила - переломилася нога, видимо от частого вставления и вынимания пробных памятей. В моем случае, оказалось, что вся нужная процу инфа записана в первых семи строках дампа ( точнее 94 первых ячейках), а все остально было потом забито FF и на работоспособность аппарата никак не повлияло. Хоть чуток разобрался ![]() Пускай они там находятся, эти "артефакты", но по умолчанию можно принять, что они ни на что не влияют, видимо. Для интереса хотелось бы, конечно знать, для чего они там и откуда. Или может быть их нет, а они сами появляются.... ![]() |