Проблема с прошивкой PIC
05.03.2014, 16:33
|
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Проблема с прошивкой PIC
Сообщение от dosikus
|
|
никакой проблемы нет. Проблема в головах, твоей и ТС...
|
Может быть и так. Но подумайте, для чего тогда существуют форумы? Если бы все всё знали и умели, то нечего было бы и обсуждать. Но абсолютного знания и опыта нет. Поэтому и возникают вопросы и обсуждения. И в споре, может быть, родится если и не "истина", то хотя бы у кого то добавится знаний и понимания.
Хочу поддержать sansan_51 (не в перепалке последних сообщений, а в первоначальном обсуждении темы). А оскорблять друг друга и переходить на личности - непродуктивно.
|
|
|
|
05.03.2014, 16:45
|
|
|
Частый гость
Регистрация: 21.03.2008
Сообщений: 28
Сказал спасибо: 77
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Проблема с прошивкой PIC
А вот с этого места пожалуйста по-подробнее: Что такое "частная беседа" и кто решил, что мои объяснения лживы? Во-первых, если ты модератор, то твое дело следить за соблюдением правил общения. Во-вторых, встревать в тему как участник форума и при этом использовать свое особое положение, провоцировать на хамство - "тыкать" и вести себя в стиле "есть моё мнение и неправильное" - это уже мягко говоря, неэтично. В-третьих, если ты имеешь другой ответ на вопрос ТС, как спец по МК, сообщи его ТС. Пусть он выбирает, какой его устроит. А хамить и делать неприличные намёки, не зная с кем общаешься, - типа "где-то я тебя уже видел" - запрещено правилами форума, и для модераторов тоже, я полагаю.
|
|
|
|
05.03.2014, 17:51
|
|
|
Заблокирован
Регистрация: 21.01.2014
Сообщений: 589
Сказал спасибо: 7
Сказали Спасибо 267 раз(а) в 206 сообщении(ях)
|
Re: Проблема с прошивкой PIC
Сообщение от sansan_51
|
|
запрещено правилами форума, и для модераторов тоже, я полагаю.
|
Вы, это, поосторожней с выражениями. Тут некоторых забанили навечно за обсуждение действий модераторов.
|
|
|
|
05.03.2014, 18:58
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: Проблема с прошивкой PIC
По делу господа, по делу .
Пока не вижу аргументов ,одни эмоции.
__________________
Осторожно , злой кот
|
|
|
|
05.03.2014, 20:17
|
|
|
Частый гость
Регистрация: 21.03.2008
Сообщений: 28
Сказал спасибо: 77
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Проблема с прошивкой PIC
Сообщение от sansan_51
|
|
А вот с этого места пожалуйста по-подробнее: Что такое "частная беседа" и кто решил, что мои объяснения лживы?
|
Многоуважаемый dosikus, как насчет ответа? Или "у модераторов собственная гордость"?
Сообщение от dosikus
|
По делу господа, по делу .
Пока не вижу аргументов ,одни эмоции.
|
Вот-вот. Я тоже не вижу аргументов. Или вот это:
Сообщение от dosikus
|
|
А теперь умник , обрати внимание на мои картинки где скрины с программатора TL866.
|
Считается аргументом?
|
|
|
|
06.03.2014, 00:03
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 19.10.2004
Адрес: Нижний Новгород
Сообщений: 1,744
Сказал спасибо: 416
Сказали Спасибо 1,236 раз(а) в 550 сообщении(ях)
|
Re: Проблема с прошивкой PIC
Может ТС структура хекс файла нужна была.
Сначала программаторы не значающиеся в рекомендованных - потом геморой. Один создатель программы знает как она представляет на экране распакованный хекс. Встречался с подобным. Запрограммировал -работает, по экрану -не должна работать...
|
|
|
|
Эти 2 пользователя(ей) сказали Спасибо anatol378 за это сообщение:
|
|
|
06.03.2014, 03:53
|
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Проблема с прошивкой PIC
Сообщение от dosikus
|
По делу господа, по делу .
Пока не вижу аргументов ,одни эмоции.
|
Попытаюсь подытожить. В первоначальном вопросе ТС была озвучена "его личная проблема": его "программатор wizardprog 77usb" неправильно отображает область EEPROM из HEXа. Тут я вижу два варианта: если "программатор" только отображает эту область некорректно, а пишет в ПИК нормально, то можно с этим смириться. Если же он и пишет в ПИК неправильно - то надо менять программатор. Проблема не в HEXе, и если пользоваться "нормальными" инструментами (отладчиком, симулятором, программатором), то и данные EEPROM в них отображаются "нормально". Это, ИМХО, и пытался доказать dosikus своими иллюстрациями, но не пояснив толком свою мысль словами. Но ведь то, что для опытного "само собой разумеется" - для начинающего далеко не всегда очевидно.
Кроме того у ТС возник вопрос: почему в HEXе область EEPROM имеет начальный адрес 4200H, вместо 2100H, и байты данных "идут через один".
На этот вопрос и попытался ответить sansan_51:
Сообщение от sansan_51
|
|
Никакого "косяка производителей" нет: адресация в hex-файлах - байтовая, а в ассемблере PIC (и в распределении памяти!) - по словам. Поэтому 4200Н и 2100Н указывают на одну и ту же физическую область памяти. При этом разрядность EEPROM - 8 бит, и в окне отображения EEPROM это учитывается. Так что всё правильно. На такие тонкости почему-то в даташитах производитель не акцентирует внимание, поэтому, думаю, не вы первый, кто на эти "грабли" наступил.
|
Может быть это объяснение не идеальное, но по сути я с ним согласен. По крайней мере, назвать "лживым" его никак нельзя. Оно не дает решения (что делать), а просто поясняет (почему так). Но я бы добавил к этому пояснению два момента:
1) Замеченное "несоответствие" адресов в MPLAB и в HEX характерно для ПИКов "среднего семейства", к которому относится упомянутый в вопросе PIC16F676. А вот уже в PIC18 такого нет, так как там адресация программной памяти уже идет по байтам, поэтому адреса в MPLAB и в HEX совпадают.
2) По поводу того, что "на такие тонкости почему-то в даташитах производитель не акцентирует внимание". Думаю, дело в том, что в даташите описываются "внутренности" и "поведение" микроконтроллера, а HEX-файл, имеющий определенную структуру (формат), - это продукт взаимодействия "внешнего" (по отношению к МК) - компьютерного ПО (компиляторов, отладчиков, программаторов). И при обычной работе "нормальными" инструментами (как уже говорилось выше), мы не видим, или не обращаем внимания, на такие "низкоуровневые" подробности структуры файла. Главное, чтобы применяемое ПО его правильно понимало...
|
|
|
|
06.03.2014, 08:19
|
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 9,979
Сказал спасибо: 928
Сказали Спасибо 2,261 раз(а) в 1,557 сообщении(ях)
|
Re: Проблема с прошивкой PIC
tsb, Предоставьте доказательства - где в каких документах вы вычитали что eeprom имеет разрядность отличную от 8 бит ?????????
Какие на хрен "не соответствия адресов" ???
Если eeprom вообще отдельный модуль ...
Вообщем всем "кулибиным" - перед писаниной , соизвольте изучить сей документ
http://ww1.microchip.com/downloads/e...Doc/33023a.pdf
Конкретно страницу 72 , что и какую разрядность имеет.
__________________
Осторожно , злой кот
Последний раз редактировалось dosikus; 06.03.2014 в 08:39.
|
|
|
|
06.03.2014, 09:24
|
|
|
Частый гость
Регистрация: 21.03.2008
Сообщений: 28
Сказал спасибо: 77
Сказали Спасибо 1 раз в 1 сообщении
|
Re: Проблема с прошивкой PIC
Сообщение от anatol378
|
Может ТС структура хекс файла нужна была.
Сначала программаторы не значающиеся в рекомендованных - потом геморой. Один создатель программы знает как она представляет на экране распакованный хекс. Встречался с подобным. Запрограммировал -работает, по экрану -не должна работать...
|
Вот именно. Хотя лучше его самого переспросить, но я так его понял. Дело в том, что файлы т.н. Intel-hex формата в заголовочной записи содержат информацию о размерности данных - она может быть 8, 16 или 32 бита (т.е. 1,2 или 4 байта). При этом адресация всегда сохраняется байтовая. Более полно и подробно, чем по вашей ссылке hex-формат описан, например, здесь: http://microsin.net/programming/PC/i...le-format.html
Действительно, для PIC16 используется 16-битный формат, а для PIC18 - 8-битный. В 16-битном формате все данные пишутся в файл как 16-битные, поэтому 8-битные данные EEPROM пишутся с нулевым старшим байтом. Причем, есть одна старинная "фишка" Intel - байты в словах переставлены: первый - это младший, а второй - старший. Программаторы (все "правильные") правильно расшифровывают формат файла и делают необходимые преобразования перед прошивкой, в частности, переставляют байты при сборке слов. Поэтому проблема в том, что, чтобы правильно понять содержимое хекс-файла, надо знать его структуру в подробностях. Иначе будут вопросы типа "по экрану не должно работать, а оно после прошивки работает". Поскольку связка IDE-программатор работает нормально, я давно уже не вижу смысла рассматривать хекс-файлы, разве что при разработке своего программатора (или своей "авторской" IDE (  ). Одного раза вполне достаточно. Кстати, в свое время были (а может быть еще где-то и сейчас используются) другие структуры хекс-файлов, но "выжила" структура предложенная Интелом.
|
|
|
|
Сказали "Спасибо" sansan_51
|
|
|
06.03.2014, 14:39
|
|
|
Прописка
Регистрация: 25.11.2006
Адрес: Харьков
Сообщений: 295
Сказал спасибо: 25
Сказали Спасибо 71 раз(а) в 60 сообщении(ях)
|
Re: Проблема с прошивкой PIC
Сообщение от dosikus
|
|
tsb, Предоставьте доказательства - где в каких документах вы вычитали что eeprom имеет разрядность отличную от 8 бит ?????????
|
Не нужно приписывать мне то, чего я не говорил! Разрядность EEPROM в PIC конечно имеет 8-разрядную структуру. И это, думаю, никто не оспаривает.
Сообщение от dosikus
|
Какие на хрен "не соответствия адресов" ???
Если eeprom вообще отдельный модуль ...
|
Это говорит о том, что Вы, наверное, никогда не смотрели как представлены данные в HEX-файле. Да, в ПИКе EEPROM отдельный модуль. Но при компиляции программы в результате получается один HEX-файл, который содержит данные и программной памяти, и EEPROM, и слов конфигурации. И все эти данные "упаковываются" в HEX-файл по некоторым общим принципам, характерным для формата этого файла.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:33.
|
|