Прошивка PIC

При программировании не забывайте про константу(osccal), которая записана в последней ячейке данных пика.
При покупке микроконтроллера считайте с него данные и запишите константу на листочек или на микроконтроллер!
Это очень важно т.к. если удалите константу при следующем программировании, pic работать не будет либо будет, но не так как должен.
На рисунке ниже показано место расположения этой константы:


Константа может не прегодится когда используется внешний кварц.
В процесе прошивки (когда нажали уже на кнопку "прошить") может (а может и не спросить) вылезти следущее сообщение (см. рис.ниже ), надо нажимать НЕТ. При использовании Icprog 1.06C (я ее использую) всегда спрашивает, заменить либо нет.
Когда вы загружаете прошивку в программу то в последней ячейке памяти выставляется "3FFF" т.к. в прошивке значение вашей константы не указано (она у каждого МК своя)!
Вот программа и спрашивает будете использовать константу "3FFF" или "3424".


В микроконтроллерах PIC16F628, PIC16F628A, PIC16F630 константы нету, проверено на практике.
При использовании внешнего кварца (или RC) константа ненужна, можно в таких схемах использовать pic в которых была утеряна константа!

В PIC предусмотрен бит защиты.

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

На рисунке ниже показан бит защиты и ошибка которая выскакивает после прошивки:


Если после прошивки, с использрванием бита защиты, считать данные с МК то вот, что получится:


Код Защиты

Особенности для модификаций с буквой "А" pic16F84A



Если утеряна константа, что делать?

Способ первый: пробывать поставить от другого МК константу или наугад :) , мы знаем, что все константы начинаются на 34 далее две цифры xx которые надо угадать.

Способ второй: порадует владельцев программатора PICKit 2, появилось приложение для восстановления калибровочной константы для PIC16F630/676

Для прошивки можно использовать бесплатную программу, наверное самая популярная - icprog, версия последняя 1,6В.

 


Источник:

4 комментария

hawchik 2 сентября 2010 17:28
какие электролиты в твоем программаторе?
xpom63 26 сентября 2011 11:43
Спасибо,а то всю голову себе просверлил,629 читает-есть константа,628А-3FFF....Теперь ясно...СПАСИБО...
tika 24 декабря 2011 05:45
Народ ПОМОГИТЕ . Можно-ли имея прошивку HEX узнать под какой PIC . А-то в одной схеме терморегулятора Админ спит а схема неразборчива да и собрал уже сей девайс http://www.bastiongsm.com/Termosau.html думаю что 16F84A но не прошивается.
w2z2 8 февраля 2012 23:49
народ помогите не можу прожечь PIC628A (ошибка програмирования кода по адресу 0400h) програматор екстра пик шнур все заводское 4 пика пробывал тоже самое менял файл прогине идет помогите !!!
Ваше имя: *
Ваш e-mail: *
Войти через
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении:
© 2016 Все права соблюдены.