Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить

Pickit3 и pic18f25k50

Чт авг 09, 2018 16:12:26

Добрый день! Пришел вчера программатор с Ali. Целый день пытаюсь запрограммировать pic18f25k50 - но что-то не выходит. Программирую MPLAB X IPE v5.00. Программа программатор и pic видит. Загружаю прошивку (hex), в advance mode - в Power ставлю галку Power Target circuit from Tool. Нажимаю кнопку Programm - вроде прошивка залилась

СпойлерHex File successfully created at C:/Users/Wittzar/Desktop/PIC18F25K50.hex
2018-08-09 17:00:53 +0300 - Hex file loaded successfully.
Loading code from C:\Users\Wittzar\Downloads\pic\1111.HEX...
Configuration Bits: address 0x300006: ICPRT = 1 does not match any valid value in the device database.
Setting to the default value.
2018-08-09 17:07:52 +0300 - Programming...


Device Erased...

Programming...

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x497f
configuration memory
Programming/Verify complete
2018-08-09 17:08:00 +0300 - Programming complete


Но если нажать кнопку Verify - то выскакивает ошибка.
При нажатии кнопку Read - считывается прошивка, но как-то странно. С адреса 0 по адрес 0799 - одни нули, а с идет прошивка.
Ощущение такое, что программатор не может записать данные в эти адреса.
Но если в ручную заполнить Program Memory, например 0D 0D от начала до конца - то вся прошивка прошивается нормально. и считывается тоже.
Варианты все перепробовал - и короткие провода, и сопротивление в 10ком между VDD и MCLR.
Кто нибудь сталкивался с этим ? Или PIC дохлый?

Re: Pickit3 и pic18f25k50

Чт авг 09, 2018 17:23:29

В этом контроллере защита кода включается БЛОКАМИ.
Открывайте даташит и знакомьтесь с функционалом защиты кода.
Сегмент заполненный нулями при чтении - это защищенный сегмент.
При записи код сначала верифицируется, а лишь потом устанавливается защита.

Re: Pickit3 и pic18f25k50

Пт авг 17, 2018 07:55:28

Действительно, покурив даташит и поискав в инете, нашел, какой бит отвечает за блокировку. Изменив его, программа записалась и считалась без 0.
Спасибо за помощь
Ответить