Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Как проверить НЕХ-файл. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

Многие радиолюбители, пытаясь по журнальной публикации повторить то или иное устройство на микроконтроллере, нередко сталкиваются с необъяснимыми, на первый взгляд, трудностями. Казалось бы, и исправность микроконтроллера сомнений не вызывает, и программатор в полном порядке, и устройство собрано точно по схеме, но работать, как следует, отказывается. В такой ситуации нередки нарекания в адрес автора разработки - представил, дескать, неработоспособную программу!

На самом деле в подавляющем большинстве случаев все обстоит иначе. Виноваты ошибки, допущенные при ручном вводе в компьютер НЕХ-файла программы по его "распечатке" на страницах печатного издания. Значительно реже бывают сбои при копировании файлов с дискет или "скачивании" их из Интернета. Как проверить НЕХ-файл? Ответ на этот вопрос - в публикуемой статье.

Любая, самая безобидная, на первый взгляд, опечатка в НЕХ-файле ведет к выполнению микроконтроллером (МК) неверной команды, нередко полностью искажает заданный алгоритм его работы и способна привести к совершенно непредсказуемому поведению изготовленного устройства. Ни один самый квалифицированный специалист в этой ситуации не сможет по внешним признакам точно указать место ошибки.

Остается очень тщательно и многократно сверять НЕХ-файл с оригиналом. Особенность нашей психики в том, что, проверив что-либо однажды, мы подсознательно убеждены в собственной непогрешимости и при повторных проверках нередко пропускаем то, чего не заметили в первый раз. Поэтому полезно иметь помощника, который, даже не вникая в суть работы, осуществит "независимый контроль".

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

При вводе НЕХ-файлов вручную (с клавиатуры) или их электронных версий, полученных сканированием, чаще всего случается следующее:

  • вместо латинских букв А, В, С, Е введены похожие на них русские;
  • вместо цифры 0 введена буква О (латинская или русская);
  • перепутаны буква В и цифра 8;
  • вместо цифры 1 введена буква I (лат. "и" прописная) или I (лат. "эль" строчная). В шрифтах некоторых гарнитур эти знаки очень похожи;
  • нарушен порядок следования символов;
  • в строке недостает нескольких символов или имеются лишние;
  • пропущены целые строки;
  • некоторые строки введены дважды.

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

Нужно сказать, что контроль правильности структуры HEX-файла в процессе его чтения с диска выполняет программное обеспечение очень многих программаторов. Определенные возможности для этого заложены в самой структуре подобного файла, о которой можно прочитать, например, в статье автора "Разработка и отладка устройств на МК" ("Радио", 2001, № 5, с. 19). Беда в том, что программатор зачастую сообщает лишь о факте обнаружения ошибки без каких-либо подробностей, предоставляя пользователю разбираться самому. При этом дефектный файл нередко оказывается полностью или частично загруженным в программатор и, если неосторожно подать команду "Программирование", ошибочные данные будут перенесены в память МК. После этого будет успешно выполнена верификация (сверка содержимого памяти МК и программатора) и у пользователя создастся впечатление, что все в порядке.

В этом отношении очень опасно ведет себя программа РоnуРrоg (версии 2.05 и более ранних). Кроме HEX, здесь предусмотрено несколько других форматов входных файлов, и при загрузке она пытается самостоятельно выбрать нужный. Не распознав правильно формат файла с ошибками, она все-таки вводит его как двоичный. На рис. 1 показан вид окна программатора РоnуРrоg после такого ввода.

Как проверить НЕХ-файл

В памяти находятся не машинные коды команд, а ASCI-коды букв и цифр, из которых состоит текстовый НЕХ-файл. Естественно, по такой "программе" МК работать не будет. Вид того же окна после ввода идентичного первому безошибочного файла представлен на рис. 2. Заметим, что никаких сообщений об ошибках или об автоматически определенном формате файла программатор в обоих случаях не давал.

Как проверить НЕХ-файл

Помочь найти и исправить ошибки в НЕХ-файле до ввода его в программатор сможет программа CheckHEX. С ее же помощью можно создать новый НЕХ-файл, набрав его содержимое на клавиатуре компьютера. В последнем случае проверка идет одновременно с вводом данных.

Окно данных программы CheckHEX после ввода НЕХ-файла, содержащего несколько ошибок, изображено на рис. 3. В его верхней части слева выведены текущие координаты курсора, показывающего, куда будет введен символ при нажатии клавиши.

Как проверить НЕХ-файл

Справа имеется окошко, щелкнув по которому "мышью", можно в любой момент отменить или вновь разрешить проверку ошибок. Заблокировать контроль бывает полезно на время ручного ввода данных, иначе каждую незавершенную строку сопровождает множество сообщений, только отвлекающих внимание. Окно предупреждений и сообщений об ошибках (рис. 4) находится ниже основного. Сообщения, начинающиеся словом "Информация", лишь свидетельствуют об особом статусе тех или иных строк НЕХ-файла. В данном случае таких строк две. Первая из них необязательна, так как и в ее отсутствие отсчет адресов начнется с нуля. Подобные строки (их может быть несколько в разных местах файла) позволяют адресовать более 64 Кбайт (32 Кслов) памяти. Именно их присутствие отличает НЕХ-файлы формата INX32 от аналогичных формата INX8M.

Как проверить НЕХ-файл

Строка 25 служит признаком конца НЕХ-файла. Если какие-нибудь данные находятся после нее (строка 26), они не будут восприняты программатором. Этим можно воспользоваться, например, чтобы поместить в НЕХ-файл текстовый комментарий. В примере сюда была просто перемещена строка 20 исходного файла, оставшаяся пустой. В принципе, наличие пустых строк в НЕХ-фаиле допустимо, но некоторые программаторы все-таки могут счесть их ошибками. Программа CheckHEX, на всякий случай, предупреждает об этом.

Обратите внимание на сообщение об ошибке контрольной суммы в строке 3. Она может быть результатом неправильного ввода любого (кроме двоеточия) символа строки, которую следует проверить особенно внимательно. Приведенная в скобках "правильная" контрольная сумма полезна, если один или несколько символов строки изменены преднамеренно (например, чтобы исправить действительно имевшую место ошибку в программе). В рассматриваемом случае ошибка - результат ввода цифры 8 вместо буквы В.

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

Справа от окна данных расположено окно, отображающее картину заполнения памяти МК кодами из анализируемого файла. Фрагмент этого окна - на рис. 5. Белый цвет соответствует свободным ячейкам, синий или красный - занятым. Имеющиеся на рисунке пояснительные надписи (в реальном окне их нет) относятся к типовому для РIС-контроллеров распределению памяти, для других МК и РПЗУ оно может быть совершенно иным. Перемещая курсор "мыши" внутри окна, можно определить адрес любой из отображенных там ячеек. В данном случае курсор (перекрестие в правой верхней части окна) указывает на байт по адресу ООСОН - младший в двубайтном слове по адресу 0060Н.

Как проверить НЕХ-файл

Конечно, пользователь, не разрабатывавший загружаемую программу и внимательно не анализировавший ее, как правило, не знает, какие ячейки должны быть заняты, а какие - нет. Тем не менее есть смысл обратить внимание на разрывы в сплошной последовательности занятых ячеек и лишний раз убедиться, что они появились не в результате ошибок, как в рассматриваемом случае.

Отрезок красного цвета говорит о том, что коды, заносимые по этим адресам, встретились в файле неоднократно. В примере (см. рис. 3) идентичны седьмая и восьмая строки. Если дублирующая строка - результат невнимательности при ручном вводе данных, ее можно удалить. Но чаще виновата ошибка, допущенная в адресной части строки (символы с четвертого по седьмой). В подобном случае не только коды по ошибочным адресам будут искажены, но и останется неопределенной область памяти, к которой данная строка относилась исходно. Все это необходимо еще и еще раз проверить.

В заключение отметим, что в окне программы CheckHEX имеются три управляющие кнопки: - создать новый НЕХ-фаил; - открыть и проверить существующий ; - сохранить созданный или отредактированный файл. При попытке загрузить или создать еще один файл, предварительно не сохранив измененный вариант старого, программа всегда напоминает о необходимости это сделать. То же самое происходит перед завершением работы программы.

Автор: А.Долгий, г.Москва

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Зеленый чай и метаболическое здоровье 23.01.2026

Зеленый чай на протяжении многих лет остается объектом пристального внимания ученых, поскольку его регулярно связывают с профилактикой различных хронических заболеваний. Этот напиток давно вышел за рамки повседневной традиции и стал предметом серьезных биомедицинских исследований. Недавняя научная работа показала, что полезные свойства зеленого чая могут быть гораздо шире, чем считалось ранее, особенно в контексте обмена веществ и здоровья кишечника. В рамках исследования ученые наблюдали за 40 добровольцами, среди которых 21 человек имел диагностированный метаболический синдром, а 19 участников были здоровыми взрослыми. В течение 28 дней одной группе испытуемых давали экстракт зеленого чая, тогда как другая группа получала плацебо. Такой подход позволил сравнить влияние активных компонентов напитка на разные показатели здоровья. Результаты показали, что у участников, принимавших экстракт зеленого чая, уровень глюкозы в крови оказался ниже, чем у тех, кто получал плацебо. Этот эф ...>>

Наушники Sony LinkBuds Clip 23.01.2026

Sony представила новую модель беспроводных наушников - LinkBuds Clip. Они заметно отличаются от классических устройств. Это открытые наушники с клипсой, которые не вставляются в ушной канал и не охватывают ухо. Вместо этого они фиксируются на ухе, как кафф или ювелирное украшение, позволяя слушать музыку, не отсекая окружающие звуки. Это открытые наушники с клипсовым креплением, которые не вставляются в ушной канал и не охватывают ухо целиком. Они фиксируются на внешней части уха, напоминая кафф или декоративный аксессуар, и позволяют слушать музыку, не перекрывая естественные звуки окружающей среды. В основе модели лежит концепция open-ear, благодаря которой пользователь одновременно слышит воспроизводимый контент и то, что происходит вокруг - шум транспорта, объявления или речь собеседников. По утверждению Sony, такая "всегда открытая" конструкция особенно удобна для повседневного длительного использования, поскольку отпадает необходимость каждый раз ставить воспроизведение на ...>>

Луна поглощает воздух нашей планеты 22.01.2026

Взаимодействие Земли и Луны оказывается не только гравитационным. Новые исследования показывают, что наш естественный спутник постепенно "поглощает" крошечные фрагменты атмосферы Земли, используя для этого солнечный ветер и магнитное поле нашей планеты. Этот процесс исследователи называют космическим каннибализмом. Еще во времена миссий "Аполлон" в 1970-х годах ученые обнаружили в лунном реголите необычные следы воды, углекислого газа, гелия и азота. Стало ясно, что часть этих веществ, включая ионы азота, попала на Луну из верхних слоев земной атмосферы. Долгое время считалось, что подобная передача могла происходить только до того, как Земля сформировала свое магнитное поле. Магнитосфера, как считалось, должна была защищать планету и блокировать утечку атмосферных частиц в космос. Новое моделирование показало, что это представление неверно. Ученые объединили данные лунных образцов с компьютерными моделями и выяснили, что поток ионов усиливается, когда Луна проходит через так ...>>

Случайная новость из Архива

Человеческий мозг стареет быстрее мозга шимпанзе 16.09.2024

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

Ученые из Университета Генриха Гейне провели масштабное исследование, сравнив мозги людей и шимпанзе с помощью магнитно-резонансной томографии (МРТ). Они обнаружили, что у людей, несмотря на более высокий уровень интеллекта, мозг быстрее теряет свои функции с возрастом.

Особое внимание ученые уделили префронтальной коре - области мозга, ответственной за планирование, принятие решений и другие сложные когнитивные функции. Именно она больше всего меняется с возрастом у человека. Логично предположить, что чем больше мозг, тем медленнее он стареет. Однако, исследователи не нашли подтверждения этой гипотезе.

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

Таким образом, эволюция сделала нас умнее, но одновременно и более уязвимыми к возрастным заболеваниям мозга, таким как болезнь Альцгеймера и Паркинсон. Это открытие позволяет по-новому взглянуть на процессы старения и приближает нас к созданию новых методов лечения нейродегенеративных заболеваний.

Исследование, проведенное учеными, показало, что эволюционная гонка за интеллектом привела к тому, что наш мозг стал более сложным, но менее долговечным. Понимание причин ускоренного старения мозга человека открывает новые перспективы для разработки эффективных методов его профилактики и лечения.

Другие интересные новости:

▪ Собаки понимают слова и интонации также, как человек

▪ Дети любят мстить

▪ Наручные часы Casio Vintage A158WEGV-9A

▪ Графен становится сверхпроводником

▪ Мобильник помогает ориентироваться в городе

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Параметры, аналоги, маркировка радиодеталей. Подборка статей

▪ статья Король-то голый. Крылатое выражение

▪ статья Какое из сооружений древности самое известное? Подробный ответ

▪ статья Работа на кассетных фальцевальных машинах. Типовая инструкция по охране труда

▪ статья Источник питания для автомобильного трансивера (13.5 В, 20 A). Энциклопедия радиоэлектроники и электротехники

▪ статья Радиостанция ТАИС-РМ41. Энциклопедия радиоэлектроники и электротехники

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2026