Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2014, 18:18   #1
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
По умолчанию Работа с файлами форматов bin, Hex, на языке Pascal Дельфи-7, реализовать программу.

Добрый вечер ! В программирование новичок,( Дельфи7, язык Pascal) есть небольшие свои проекты, но вот по основному направлению, нигде

не могу найти реализацию нужной мне программки, так как везде объясняется работа с файлами текстового формата, а

вот работа с файлами в форматах bin, Hex... нет нигде. Суть моего вопроса, такова: как реализовать в файлах формата

bin,Hex считывание из нужной строки информации , конвертации её в десятеричное число( если возникнет такая

необходимость) и вывести на экран с помощью Label, или Memo?. Программа нужна для работы с техникой, обработка

информации об ошибках, которые хранятся в файлах Bin, Hex (прошивка) и имеют на разных прошивках, разные

адреса и расположение. Как переходить на нужную строку, считать нужные данные, вывести в прогу и при

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

только с текстовыми файлами и нет чёткого, пошагового объяснения как работать с файлами и строками других

файлов( не текстовых). Запутался окончательно, начитавшись о файлах и теперь даже не знаю с чего начать, хотя

чётко представляю что должна делать программа. Всё приходится делать в Hex редакторе, загнав туда прошивку

просмотрев на нужных адресах ошибки переписать их, далее обнуляю зону ошибок на FF и пере сохраняю прошивку,

уже очищенную. Но нужна программа, для быстроты работы, а главное понять процесс работы с такими файлами, чтоб

самому писать программу, так как данные в прошивках меняются постоянно, как и объём прошив и универсальной

программы не написать, придётся время от времени вносить изменения в программу. Поэтому хочется понять процесс

работы с файлами bin, Hex как считывать , переводить и выводить в программу нужные байты. Если кто может

объяснить пошагово как это реализовать, буду очень признателен!!!! Да работаю с Дельфи 7.
Семён-2014 вне форума Ответить с цитированием
Старый 17.01.2014, 21:34   #2
compres
Пользователь
 
Аватар для compres
 
Регистрация: 12.10.2010
Сообщений: 18
По умолчанию

Могу предложить работать с файлом как с не типизированным и работать побайтно блоками
ICQ:610078 email: compres.dcod@gmail.com
compres вне форума Ответить с цитированием
Старый 18.01.2014, 00:42   #3
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
По умолчанию

Цитата:
Сообщение от compres Посмотреть сообщение
Могу предложить работать с файлом как с не типизированным и работать побайтно блоками
отправил на Вашу почту письмо.

Буду очень признателен за помощь.


Мне бы любой способ подошёл, а то не знаю с чего начать, инфы много по разным файлам, а по моей специфики нет. Голова кругом, а с места ни как не могу сдвинутся. Всякие другие программки научился по которым подробная инфа была, а по нужной мне специфики материала нет. А мне очень хочется освоить нужное мне направление. Буду очень признателен за помощь. Файлы с которыми работать придётся имеют разный объём, от 256 , 512 байт, 2048, зона еепром 2кб и на разных моделях разные адреса расположения ошибок и разный объём прошив. Хотя идут главные в бин формате, это основной и главный. А суть загрузить прошивку в прогу, считать ошибки и перевести их в число. Пример ошибка может быть в зоне так : 03, надо вывести на прогу как просто ошибка Е-3, а бывает чаще что идёт так :А1, FD, DC и это надо перевести в цифры, 120 раз, 140, 123, раза возникала ошибка.... делаю всё в редакторе в ручную, проги есть такие некоторые мастера написали их для себя, по новым у них нет данных, у меня данные есть, а реализовать не могу в проге, только в Hex редакторе.
Семён-2014 вне форума Ответить с цитированием
Старый 18.01.2014, 18:38   #4
masterstariy
 
Регистрация: 18.01.2014
Сообщений: 4
По умолчанию

Семён-2014 меня тоже интересует востонавление прошивок ( с радиоаппаратуры) вот только в отличии от тебя я не знаю вообще как и счего начать- какие то минимальные победы есть но успехов мизер- буду блогодарен за направления что и где почитать с чего начать-особенно интересует-как в Нех менять и находить убитые блоки!
masterstariy вне форума Ответить с цитированием
Старый 18.01.2014, 21:16   #5
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
Радость ответ

Цитата:
Сообщение от masterstariy Посмотреть сообщение
Семён-2014 меня тоже интересует востонавление прошивок ( с радиоаппаратуры) вот только в отличии от тебя я не знаю вообще как и счего начать- какие то минимальные победы есть но успехов мизер- буду блогодарен за направления что и где почитать с чего начать-особенно интересует-как в Нех менять и находить убитые блоки!


Здравствуйте! , я так понимаю что Вас интересует не столько написание программ, сколько анализ, правка, считывание и зашивка прошивы в электронный блок ? Если я прав то тогда по порядку:
1)Чтоб анализировать файл прошивки, надо знать его точный объём, расположение ошибок, на определённых адресах, расположение контрольной и прописной суммы от объёма прошивы, если они расходятся( прописались неправильные данные в область постоянных значений, в процессе работы технике), то тогда прошива не исправна.
2)Знания по микроконтроллерам и микросхем ПЗУ, электронные компоненты на электронном модуле.
3) изучать даташиты
4)Уметь отличать что привело к поломке технике, слёт, повреждение прошивки, или следствие не исправности в электронном блоке(кз), или периферии.
5)умение подключится к электронному модулю, либо через сервисный разъём(если есть таковой), либо методом подпайки к микросхеме.
6) умение пользоваться программатором, или спец сервисным оборудованием, для считывания и зашивания прошивы.

Вот наверное с того чего надо начинать.
Потом многое зависит с какой техникой Вы работаете, малый быт, крупный быт? В каждом направление свои нюансы, разные микросхемы и соответственно разные прошивки и работа с ними. Универсальных методов нет, поэтому всегда приходится учится и что то новое дорабатывать.
Здесь как в программировании, чем больше занимаешься, тем больше продвигаешься и знаешь, чуть перерыв, опять забыл, вспоминаешь.

Что касается непосредственной конвертации прошив из формата , в формат, скажем из bin в Hex, eep,e2p, s19, .... то на это есть конверторы прошив, которые конвертируют из формата в формат, их в инете полно и бесплатны, скачать их можно без труда. Потом многие софты от программаторов конвертируют прошивы из одного формата в другой.
Есть проги анализа прошивы, загоняешь снятую с блока в одно окно, вторую, такую же , но новую, или рабочая , во второе окно и редактор сравнивает и показывает расхождения. На основании этого можно в редакторе подправить старую, или заменить на новую. Но для этого надо иметь свою базу прошив.
Если Вы начинающий мастер, у которого малый опыт работы в программирование микросхем и в данном направлении, то Вам надо зарегистрироваться на двух известных сайтах, для мастеров, там одни мастера по разным направлениям, Малый быт, крупный быт.... На сайтах много информации и всегда есть возможность получить консультацию спецов.Там есть материалы которые и я выкладывал и писал, там оборудование для работы и сервисная, закрытая информация. На одном из сайтов, продаётся программатор, Телепрог как раз для этих целей, я помогал разработчику подключить нужные микросхемы и подробно для мастеров описывал работу с ним и не которые хитрости в работе. Отечественный разработчик, мы с ним писали и конвертер для прошив, точней писал он, как опытный программист, а я давал данные, алгоритмы и проверял в работе. В полне доступный. Думаю мы с ним и дальше будем сотрудничать и будут подключатся новые, востребованные микросхемы и подробное, пошаговое описание работы с ними.
У меня поэтому и возникла необходимость научится писать программы, чтоб быстрей продвигаться в разработке нового оборудования. И писать спец программы для бытовой технике. Остановился на Дельфи 7. Но к сожалению на многих сайтах, в журналах информации подробной на примерах для работы с файлами форматов bin, Heh,eep и.т.д совсем нет.
Всё по работе с текстовыми и базы данных. Вот тыркаюсь пока сам как слепой котёнок собираю инфу. игры, блокноты пишу есть инфа, а вот по моей специфики нет пока. Так что в этом направлении (в написании программ) пока помочь ни чем не могу, сам учусь.
В остальном могу дать ссылки на сайт мастеров, если Вы мастер, там и будете учится.
Читать журнал ремонт и сервис.
Семён-2014 вне форума Ответить с цитированием
Старый 20.01.2014, 19:49   #6
masterstariy
 
Регистрация: 18.01.2014
Сообщений: 4
По умолчанию

Семён-2014 Спасибо за ответ и в самом деле меня интересует нахождение ошибок в прошивках- размеры и тд знаю- сам занимаюсь ремонтом и перепрограмированием переносных двд автомагнитол мониторов итд кое какая база есть. Пользуюсь stk sunplus tool kit 0.2.3 (rev 8203r) и WinHex а также DVD MTK Tool и MTK Remaker Зарегистрирован на нескольких сайтах по ремонту но в них мастера как и я варяться в собственном соку и толку от этого немного,сравнивать не проблема пролема сделать прошивку рабочей!!Еслиб были прошики дублёры то и в правке смысл отпадает залил исправную и всё-но чаще всего их нет так как техника развиваеться с такой бешеной скоростью что устаревает как только попадает на прилавок в магазины-либо это брендовая аппаратура на которую инфа появляеться спустя год а ремонт нужен сегодня!!Вот и ищу каким образом можно это делать буду благодарен за ссылки по теме!!
masterstariy вне форума Ответить с цитированием
Старый 20.01.2014, 23:43   #7
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
По умолчанию ответ

Цитата:
Сообщение от masterstariy Посмотреть сообщение
Семён-2014 Спасибо за ответ и в самом деле меня интересует нахождение ошибок в прошивках- размеры и тд знаю- сам занимаюсь ремонтом и перепрограмированием переносных двд автомагнитол мониторов итд кое какая база есть. Пользуюсь stk sunplus tool kit 0.2.3 (rev 8203r) и WinHex а также DVD MTK Tool и MTK Remaker Зарегистрирован на нескольких сайтах по ремонту но в них мастера как и я варяться в собственном соку и толку от этого немного,сравнивать не проблема пролема сделать прошивку рабочей!!Еслиб были прошики дублёры то и в правке смысл отпадает залил исправную и всё-но чаще всего их нет так как техника развиваеться с такой бешеной скоростью что устаревает как только попадает на прилавок в магазины-либо это брендовая аппаратура на которую инфа появляеться спустя год а ремонт нужен сегодня!!Вот и ищу каким образом можно это делать буду благодарен за ссылки по теме!!

Вот мы с Вами коллеги оказывается , только я по крупному быту.
Вот поэтому и занялся программированием чтоб необходимые для работы программки писать. В прошивах основная беда, это контрольная сумма, хранящаяся в ней, какие то изменения прописались и всё прошива не работоспасобная, требуется исправление, или замена. А вот как эту сумму вычислить? вот тут та и главная проблема, либо если знаеш где неправильные данные прописались и в редакторе правиш, либо новую, но согласен достать новую тоже проблема. Поэтому стараюсь с рабочих доноров считывать в базу и держать, когда нет какой то на помощь форумчан, другого здесь не дано. Процесс постоянный, производители всегда меняют адресса и данные, от линейки, к линейки, это не сконьчаемая борьба....

ссылки пожалуйста вот они :

http://rmbt.ru/index.php?act=idx
первый сайт.

второй сайт

http://www.remserv-bt.ru/index.php

коллеги помогут.
Семён-2014 вне форума Ответить с цитированием
Старый 20.01.2014, 23:46   #8
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
По умолчанию письмо

Цитата:
Сообщение от compres Посмотреть сообщение
Могу предложить работать с файлом как с не типизированным и работать побайтно блоками

Тема пока не решена, пока актуальной остаётся.
Не ужели на форуме нет опытных программистов, чтоб подробно объяснить, на примере как работать с данными файлами, чтоб реалезовать написание программы ?
Семён-2014 вне форума Ответить с цитированием
Старый 21.01.2014, 09:46   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Семён-2014, так проблема в том, что Вы путаете мягкое с кислым..
Как читать и писать бинарные файлы - это крайне НЕСЛОЖНО (можно через переменную типа file и blockRead/BlockWrite (олдскул), можно через компонент TFileStream (методы Read/ReadBuffer/Write/WriteBuffer)
Это несложно.
Проблема в другом - что конкретно нужно сделать.

Позволю себе аналогию (для того, чтобы пояснить, что надо сделать).
Вот, допустим, у Вас есть электронная плата (печатная плата с различными компонентами). Вы спрашиваете, как мне можно воспользоваться паяльником, чтобы выпаять микросхему, как можно туда впаять другую. Вам могут объяснить, какой нужно взять паяльник (паяльную станцию), но никто Вам не объяснит, где находится нужная Вам микросхема и что можно впаять на её место! Это СОВСЕМ другой вопрос, который, как Вы понимаете, зависит от платы и от того, что Вы на ней хотите найти/сделать.

Теперь понятно, почему Вам никто не отвечает?


p.s. бинарный файл - это набор байт. Что там - число или строка или структура - "знает" только программа, рабаютщая с данной прошивкой. Вам нужно или читать даташиты или разбираться, анализируя код и данные...

Последний раз редактировалось Serge_Bliznykov; 21.01.2014 в 09:51.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.01.2014, 13:21   #10
Семён-2014
Подтвердите свой е-майл
 
Регистрация: 17.01.2014
Сообщений: 16
По умолчанию ответ

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Семён-2014, так проблема в том, что Вы путаете мягкое с кислым..
Как читать и писать бинарные файлы - это крайне НЕСЛОЖНО (можно через переменную типа file и blockRead/BlockWrite (олдскул), можно через компонент TFileStream (методы Read/ReadBuffer/Write/WriteBuffer)
Это несложно.
Проблема в другом - что конкретно нужно сделать.

Позволю себе аналогию (для того, чтобы пояснить, что надо сделать).
Вот, допустим, у Вас есть электронная плата (печатная плата с различными компонентами). Вы спрашиваете, как мне можно воспользоваться паяльником, чтобы выпаять микросхему, как можно туда впаять другую. Вам могут объяснить, какой нужно взять паяльник (паяльную станцию), но никто Вам не объяснит, где находится нужная Вам микросхема и что можно впаять на её место! Это СОВСЕМ другой вопрос, который, как Вы понимаете, зависит от платы и от того, что Вы на ней хотите найти/сделать.

Теперь понятно, почему Вам никто не отвечает?


p.s. бинарный файл - это набор байт. Что там - число или строка или структура - "знает" только программа, рабаютщая с данной прошивкой. Вам нужно или читать даташиты или разбираться, анализируя код и данные...

Что конкретно нужно я уже подробно отправил на почту человеку( он в теме предложил помощь), он ознакомился с материалами и сказал что всё понятно, что надо и сказал что к воскресенью напишет, но потом куда то пропал....
Вы пишите что никто не покажет, Вы не правы !!! у нас на сайте мастеров, начинающим мастерам, всё до каждого действия объясняют и даже на скриншотах показывают, куда надо подпаяться и сколько проводов , какой флюс и какая температура паяльной станции, всё до мелочей, в плоть до того что человек не державший паяльник в руках сможет сделать... Я сам не однократно описывал процесс на сайте из расчёта на человека не владеющего начальными навыками.... И знаете понимают даже новички.... Из чего понял сам, что нет плохих учеников, есть учителя не способные правильно и подробно объяснить материал...
Когда мы становимся профи, мы почему то забываем, что сами ни чего ,когда-то не знали и пытаемся объяснить начинающему человеку, как профи и негодуем если человек не понял.... Иногда полезно опускаться до уровня начинающего и с этого уровня объяснять. А унас извените все материалы , на тему программирования, как будто с многолетними профи объясняються. Самое лучшее объяснение, это когда на примере показано и расписано, где удаётся найти подробный материал, проблем с написанием нет, но таких единицы. А писать для новичка на языке , фалехов гентохаселапе, извените не очень правильно.

Суть проблемы, в том что мне надо на примере, показать как можно из файла в формате Bin с нужных адрессов, на разных строках файла считать определённое количество байтов, при необходимости перевести их из 16теричной в 10 теричную систему и вывести на экран программы.
А все примеры что я видел работают от начало строки, или с конца и всё текстовые файлы....
Семён-2014 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
file->HEX HEX->BIN kakawkin Общие вопросы Delphi 1 25.04.2012 01:02
перевод чисел из hex в bin. ASM. crashmanx Помощь студентам 0 25.12.2011 21:35
Нужно реализовать программу на Дельфи Aizada Помощь студентам 1 16.05.2011 21:45
Перевод BIN -> HEX Piar Помощь студентам 2 20.05.2009 15:44