PIC18F452

Do you have a question? Post it now! No Registration Necessary

Threaded View
Hi All, hope you are having a nice day!

Сегодня пришлось наступить на весьма серьезные грабли. В сабжевом процессоре
была бага, которая приводит к
некорректному чтению содержимого флеша, если код пытается читать данные из
противоположенной половины адресного
пространста (см. п. 5 ерраты 80127f.pdf). Бага старая, и была исправлена почти
сразу после начала серийного выпуска
процессоров. Вот только нам на склад попала еще старая партия камней и в одном
из приборов были установлены именно они.

Теперь самое интересное. К моменту окончания разработки об этой ошибке было уже
известно. Естесственно, все приборы из
опытной партии прошли проверку на соответствие ТУ, включая климатику и
электромагнитную восприимчивость. Все прошло
нормально, потом все приборы несколько месяцев гонялись на стендах
(анализировали надежность). К тому времени уже было
решили, что ошибка не проявится, но... в одном из приборов оно все-таки
вылезло. И это спустя несколько месяцев (точнее
около полугода !) после сборки и прошивки. Факт наличия именно этого эффекта
подтверждается и под отладчиком (данные
неправильно читаются примерно в 10% случаев) и эффект вполне устойчивый.
Перепрошивка уже не дает никакого эффекта.

Еще порадовала рекомендация микрочиповских диллеров: они всего лишь
процитировали еррату (там предлагается ставить
nop после каждой команды чтения). Hа вопрос как они себе представляют это
сделать в C, последовала не менее интересная
рекомендация исправить сгенеренный код руками (фигня вопрос прошивка всего окло
30 кБ :)

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

WBR,
    AVB


PIC18F452
  Привет!

Wed Oct 27 2004 22:35, Alexey V Bugrov wrote to All:

...

 AVB> Сегодня пришлось наступить на весьма серьезные грабли. В сабжевом
 AVB> процессоре была бага, которая приводит к некорректному чтению
 AVB> содержимого флеша, если код пытается читать данные из противоположенной
 AVB> половины адресного пространста (см. п. 5 ерраты 80127f.pdf). Бага
 AVB> старая, и была исправлена почти сразу после начала серийного выпуска
 AVB> процессоров. Вот только нам на склад попала еще старая партия камней и в
 AVB> одном из приборов были установлены именно они.

...

 AVB> Еще порадовала рекомендация микрочиповских диллеров: они всего лишь
 AVB> процитировали еррату (там предлагается ставить nop после каждой команды
 AVB> чтения). Hа вопрос как они себе представляют это сделать в C,
 AVB> последовала не менее интересная рекомендация исправить сгенеренный код
 AVB> руками (фигня вопрос прошивка всего окло 30 кБ :)

А в чём проблема? Тот же Hi-Tech по соответствующему ключику вставляет эти
nop'ы (0xFFFF) сам, вернее он вставляет их по умолчанию при объявлении 18F452
и Ko, а ключиком можно отказаться.


Re: PIC18F452
Hi Alexander, hope you are having a nice day!


29 Окт 04, Alexander Golov wrote to Alexey V Bugrov:

 AVB>> сделать в C, последовала не менее интересная рекомендация
 AVB>> исправить сгенеренный код руками (фигня вопрос прошивка всего
 AVB>> окло 30 кБ :)
 AG> А в чём проблема? Тот же Hi-Tech по соответствующему ключику вставляет
 AG> эти nop'ы (0xFFFF) сам, вернее он вставляет их по умолчанию при
 AG> объявлении 18F452 и Ko, а ключиком можно отказаться.

Проблема в том, что используется микрочиповский компилятор, который данной
опции не имеет. Кроме того, после такой
доработки код банально не влезет в камень.

WBR,
    AVB


Site Timeline