Vladimir писал(а): ↑12 май 2017, 12:38
Добрый день,
Текст из Вашего ТО стр. 233
"- необходимо избегать записи значения 0xFF, которое является содержимым массива Flash и EEPROM после процедуры Chip Erase;"
Как я понимаю все перечисленные Вами программаторы выполняют или должны выполнять рекомендации производителя чипов.
Как же тогда у Вас не было проблем с прошивкой массивов из "0xFF"?
Именно с этой "проблемой" я и столкнулся. И Вы не смогли сразу ответить на такой простой вопрос.
Хотелось бы услышать Ваш комментарий по этому поводу.
Здравствуйте!
1. Если вы обратили внимание, указанная вами фраза стр. 233 ТО относиться к подразделу «Условия эффективного программирования». По содержанию остальных пунктов подраздела можно понять суть этого подраздела – повышение эффективности программирования с точки зрения затрачиваемого времени. Т.е. если есть необходимость повысить эффективность, в этом случае нужно следовать рекомендациям этого раздела, если не хотите – можно вполне обойтись и без этого.
2. Еще раз перечитав ваше первое сообщение, в свете последнего сообщения, понял его смысл. В вашей программе с адреса 0x0C40 по адрес 0x1F7F записываемая программа, видимо, содержит код 0xFF. В процессе верификации ПО выдает ошибку по этим адресам. Это связано с тем, что ПО анализирует код и игнорирует запись значений 0xFF, поскольку в микроконтроллерах атмега после стирания содержаться значения 0xFF, а стирание обязательно должно выполняться перед записью. А 1887ВЕ4У после стирания содержит значения 0x00, как указано в пункте 3.20.3 ТО. Программа, естественно, будет выполняться, поскольку и код 0x00 и код 0xFF контроллер воспринимает, как «NOP». А верификация проходить не будет.
Если вам критична запись именно значений 0xFF, в этом случае рекомендуем программатор КФДЛ.301411.247, поскольку он проводит запись значений без анализа кода.