ESpec - мир электроники для профессионалов


проблемы прошивки 12с508а

  Список форумов » Программаторы

Следующая тема · Предыдущая тема
АвторСообщение
kasper123 
Новичок
Сообщения: 10
 
Сообщение #1 от 01/12/2006 11:40 цитата  

Помогите плиз, может кто-то сталкивался
Программатор EXTRA-PIC шью ICprog версия 1.05с(1.05d)
после прошивки пик закрываеться (CT on) а в нем какая то левая пурга.
Тем же программатором, и той же программой без проблем шьеться и читаеться 12f675.
Панель одна и таже.
Вопрос ? что не так.
Зараннее большое спасибо.
China 
Участник
Сообщения: 162
China
 
Сообщение #2 от 01/12/2006 15:21 цитата  

kasper123 писал:
(CT on)


Это что такое? Может, CP? Защита кода?
Slayer 
Завсегдатай
Сообщения: 872
Slayer
 
Сообщение #3 от 01/12/2006 15:26 цитата  

возможно "кривизна" самих PIC-ов. У меня токое было. (прога и железо - понька) недовольство, огорчение

Добавлено Декабрь 01 2006

China - привет! улыбка
China 
Участник
Сообщения: 162
China
 
Сообщение #4 от 01/12/2006 15:32 цитата  

Привет, Slayer. Получилось?
Если установлен бит защиты кода, то прошивка и не может прочитаться. На то она и защита. И 12f675 тоже не прочитается. А если читается, значит там бит защиты не установлен. К тому же, в 12f675 их два штуки. Отдельно на память программы, отдельно на данные в EEPROM.
pioneer-s 
Завсегдатай
Сообщения: 799
 
Сообщение #5 от 04/12/2006 05:50 цитата  

Тут может быть другая проблема . У этих пик-ов в конце прописан калибровочный байт . Нормальные программаторы не обращаются к этой ячейке памяти или запоминают её значение и восстанавливают при записи . Бесплатные проги затирают эту область , и пик можно выбрасывать .
China 
Участник
Сообщения: 162
China
 
Сообщение #6 от 04/12/2006 07:06 цитата  

pioneer-s, этот байт нужен только для калибровки внутреннего RC генератора. Использовать или нет калибровку - дело разработчика. PIC прекрасно работает и затёртым этим байтом, только не удастся точно утановить 4 мГц внутреннего генератора.

В последней ячейки памяти программ сохраняется калибровочная константа для внутреннего RC генератора. На
эту ячейку памяти программ не распространяется действие бита защиты CP в слове конфигурации (кроме
микроконтроллеров PIC12C508/509). Калибровочная константа сохраняется в виде команды MOVLW XX, где XX -
калибровочное значение. После сброса микроконтроллера значение калибровки будет загружено в регистр W, счетчик
команд PC переполнится и микроконтроллер начнет выполнять программу пользователя с адреса 000h. В начале
выполнения программы имеется возможность загрузить калибровочную константу в регистр OSCCAL (05h) или
игнорировать ее.
Запись калибровочной константы в регистр OSCCAL позволяет устранить технологический разброс параметров
внутреннего RC генератора.
Примечание. Стирание памяти микроконтроллера также сотрет предварительно запрограммированную
калибровочную информацию. Для сохранения калибровочной информации ее рекомендуется прочитать перед
стиранием памяти микроконтроллера.
pioneer-s 
Завсегдатай
Сообщения: 799
 
Сообщение #7 от 04/12/2006 07:57 цитата  

China, я затер в нескольких пик-ах этот байт , по незнанию... они стали дурить . Пик-и выбросил..
China 
Участник
Сообщения: 162
China
 
Сообщение #8 от 04/12/2006 08:31 цитата  

У меня работают нормально, правда использую кварц, а не внутренний генератор. А в 12F675 у меня и внутренний генератор работает нормально при стёртом калибровочном байте. Конечно, реальная частота явно не 4 мГц.

Если в последнюю ячейку записать команду перехода куда-то в средину программы, то да.... Результат непредсказуем.
kasper123 
Новичок
Сообщения: 10
 
Сообщение #9 от 09/12/2006 19:15 цитата  

В принцыпе, я догадывался , но хотелось уточнить улыбка
Как я понял если затереть калибровочную константу, то пик попытаеться выполнять программу с адреса 000h
Все пики 508 ругались при прошивке на этот адрес, наверно не могли чего-то найти.
Да, 508 зашились, с разными текстами (3 пика и три разных прошивки, и у всех стоит CP после прошивки) а 509 шился другим текстом, тоже выругался на адрес 000h, но работает. По тому , что я делал, у меня насчет 508 есть два варианта: питание и глючные пики. В программаторе кренка, на Upr и в принцыпе дает нужное 13,2 напряжение, но я давал в начале 11,78-12,0 В. на вход программатора, а у кренок 1,5-1,75 В. должен быть мин. запас. Вот я и грешу на питание, потому что 509 я шил с напр. на входе программатора 15 В. А второй вариант прост глючные пики....
Но остаеться вопрос, почему 509 выругался по адресу 000h, но остался работоспособен, и еще как.
улыбка
ДА 508 и 509, одноразовые, правда?
China 
Участник
Сообщения: 162
China
 
Сообщение #10 от 11/12/2006 08:56 цитата  

Цитата:

Все пики 508 ругались при прошивке на этот адрес, наверно не могли чего-то найти.


Это не PICи ругались, а ругался программатор.
Цитата:

ДА 508 и 509, одноразовые, правда?


Правда.


Цитата:

Как я понял если затереть калибровочную константу, то пик попытаеться выполнять программу с адреса 000h


Неправильно понял. Во всех случаях тактового генератора, кроме внутреннего, контроллер выполняет программу с адреса 0. В случае внутреннего генератора - с последней ячейки программной памяти. И ему по барабану есть там калибровка или она затёртая.



Цитата:

Да, 508 зашились, с разными текстами (3 пика и три разных прошивки, и у всех стоит CP после прошивки) а 509 шился другим текстом, тоже выругался на адрес 000h, но работает.


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

Перейти: 
Следующая тема · Предыдущая тема
Показать/скрыть Ваши права в разделе

Интересное от ESpec


Другие темы раздела Программаторы



Rambler's Top100 Рейтинг@Mail.ru liveinternet.ru RadioTOP