west329 0 6 сентября, 2010 Опубликовано 6 сентября, 2010 · Жалоба PIC24FJ64GA002 Стирание памяти происходит постранично. Больше всего интересует что делать с последним блоком, так ка последние 2 слова содержать конфигурацию контроллера, а команда стирания просто их затирает. И на их месте остаются совсем другие данные после вызова стирания на последний блок. Интересует как правильно поступить ?, в апнотах ничего по этому поводу нету, они просто нетрогают последний блок памяти, но это не выход с положения всётаки приличный кусок памяти пропадает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Romaly 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба Не совсем понял суть проблемы, стираете программатором или программно? Как то работал с 12F675 у него в последнем байте памяти программ, лежала калибровочная константа для внутреннего RC генератора, так я перед использованием контроллера сперва ее считывал, а затем помещал прямо в код по тому же адресу. Если же стираете программно, может сперва считать эти данные в озу, а потом записать назад? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба Не совсем понял суть проблемы, стираете программатором или программно? Наверное тут имеется в виду программное стирание. Там же у 24-х по 1024 байта за раз стирается. Может вам не стоит работать с последними страницами памяти. У меня, например, в проектах последние 2 Kb занимает загрузчик, заливаю его как отдельный hex со всеми битами конфигурации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
west329 0 7 сентября, 2010 Опубликовано 7 сентября, 2010 · Жалоба Стирает память сам boot загрузчик. Я его расположил в начале памяти. Вероятнее всего так и поступлю, перед стерание последнего блока сохраню байты конфигурации а потом добавлю их при программировании тогоже блока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Danis 0 8 сентября, 2010 Опубликовано 8 сентября, 2010 · Жалоба Я его расположил в начале памяти. Там же 2 таблицы векторов прерываний, или ниже них. Не очень удобно на мой взляд, проще подправить линкер скрипт и расположить загрузчик в конце памяти, хотя дело не мое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться