реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> PIC24 boot, Подскажите как стереть последний блок FLASH
west329_
сообщение Sep 6 2010, 16:43
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



PIC24FJ64GA002

Стирание памяти происходит постранично. Больше всего интересует что делать с последним блоком, так ка последние 2 слова содержать конфигурацию контроллера, а команда стирания просто их затирает. И на их месте остаются совсем другие данные после вызова стирания на последний блок.

Интересует как правильно поступить ?, в апнотах ничего по этому поводу нету, они просто нетрогают последний блок памяти, но это не выход с положения всётаки приличный кусок памяти пропадает.
Go to the top of the page
 
+Quote Post
Romaly
сообщение Sep 7 2010, 02:51
Сообщение #2





Группа: Участник
Сообщений: 8
Регистрация: 2-09-10
Из: Казахстан - Алматы
Пользователь №: 59 240



Не совсем понял суть проблемы, стираете программатором или программно?

Как то работал с 12F675 у него в последнем байте памяти программ, лежала калибровочная константа для внутреннего RC генератора, так я перед использованием контроллера сперва ее считывал, а затем помещал прямо в код по тому же адресу.

Если же стираете программно, может сперва считать эти данные в озу, а потом записать назад?
Go to the top of the page
 
+Quote Post
Danis
сообщение Sep 7 2010, 05:13
Сообщение #3


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(Romaly @ Sep 7 2010, 06:51) *
Не совсем понял суть проблемы, стираете программатором или программно?


Наверное тут имеется в виду программное стирание. Там же у 24-х по 1024 байта за раз стирается. Может вам не стоит работать с последними страницами памяти. У меня, например, в проектах последние 2 Kb занимает загрузчик, заливаю его как отдельный hex со всеми битами конфигурации.



--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
west329_
сообщение Sep 7 2010, 15:36
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 10-09-07
Из: UKR/Voz
Пользователь №: 30 423



Стирает память сам boot загрузчик. Я его расположил в начале памяти.

Вероятнее всего так и поступлю, перед стерание последнего блока сохраню байты конфигурации а потом добавлю их при программировании тогоже блока.
Go to the top of the page
 
+Quote Post
Danis
сообщение Sep 8 2010, 11:23
Сообщение #5


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(west329_ @ Sep 7 2010, 18:36) *
Я его расположил в начале памяти.


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


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 15:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016