Перейти к содержанию
    

PIC16F1938-I/SS проблемы с записью в EEPROM и FLASH

Не могу добиться записи в EEPROM и Flash, считываются 0xff или 0x3fff соответственно. 

Считываю код программы из Flash, записанный отладчиком, а стереть этот блок из программы не могу)).

Не работает даже код, сгенерённый MCC, хотя вся последовательность чтения/записи в соответствии с даташитом.

При этом, бит ошибки записи не взводится, после установки бита записи и чтения, в соответствии с последовательностью, - жду их очистки, все - ок, они чистятся но результата нет...

Защиты памяти не установлены...

Тот же самый код, скомпилированный под PIC16F1825 работает как должен, без нареканий, и c FLASH и с ЕЕPROM

Ревизия кристалла A3, в ERRATA ничего нет...

Отладчик PICkit-4, программа на С. Но видимо надо на asm для чистоты картины попробовать написать.. ))

Никто не сталкивался с подобной ситуацией ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Разобрался, всё банально, вдруг кому поможет...

Код сгенерированный MCC не работал с EEPROM PIC16F1938 но бодро шёл на PIC16F1825...

1. Установить бит CPD в config1.

2. Дизассемблировал код, обнаружилась дополнительная инструкции в середине последовательности доступа к памяти 0x55 // 0xAA. Вставка ассемблерного кода или макро функция xc8  типа eeprom_write(x,y) решает проблему с доступом к EEPROM. 

вопрос закрыт ))

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Когда пишешь на ассемблере, воюешь со своими ошибками, когда переходишь на Си, начинаешь воевать с ошибками компилятора"(с)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, Eddy71 сказал:

"Когда пишешь на ассемблере, воюешь со своими ошибками, когда переходишь на Си, начинаешь воевать с ошибками компилятора"(с)

Бесполезно объяснять, они и PIC10/12 на Си программируют, да ещё доказывают всем, что это единственно верный путь :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: друзья, коллеги, на всякий случай легонечько намекаю, что мы не будем здесь возобновлять баталии 20-ти летней давности Си vs. ASM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, byRAM said:

Бесполезно объяснять, они и PIC10/12 на Си программируют, да ещё доказывают всем, что это единственно верный путь :biggrin:

Мы под PIC10F202, PIC16F84, PIC18F454, MSP430F147, MCS48, MCS51, x86 на ассемблере много писали, последний раз лет 8 назад, сейчас другие задачи. Надо было сделать быстро, пиками не увлекаясь.

Изменено пользователем haker_fox
Нарушение правил 2.1.а, 2.1.б.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Модератор: @Stas, Ваше сообщение отредактировал. Рекомендую на этом оставиться, и закончить баталии. Можно освежить правила форума. Напоминаю, если Вам не нравится что-либо в беседе, Вы всегда можете нажать кнопку "Жалоба", и отправить сообщение с претензиями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...