Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: IAP
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
toweroff
камень LPC2103

По даташиту - 8 секторов по 4Кб

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

Мог бы записать и весь сектор, но копировать некуда - не осталось набортного ОЗУ в достаточном количестве, да и никакого механизма для внешней памяти в устройстве не предусмотрено sad.gif
GetSmart
Можно писать поверх если:
Нужно сбросить еденичные биты в ноль в 16-байтных блоках. Например можно записать поверх 0xff любой другой байт. Если изначально весь блок 16 байт (выравненный по адресу 16) был заполнен 0xff,...,0xff, то можно его перезаписать в любое другое состояние. Если же хотя бы один бит из 16 байт не был еденицей (чистым), то уже нельзя такой блок менять без стирания всего сектора (8 кБ). Стирая сектор его ессно нужно весь скопировать в раму, а потом стереть сектор. Либо можно ещё скопировать один сектор в другой сектор с очень небольшим буфером в раме.
toweroff
Цитата(GetSmart @ Jun 26 2009, 03:24) *
Можно писать поверх если:
Нужно сбросить еденичные биты в ноль в 16-байтных блоках. Например можно записать поверх 0xff любой другой байт. Если изначально весь блок 16 байт (выравненный по адресу 16) был заполнен 0xff,...,0xff, то можно его перезаписать в любое другое состояние. Если же хотя бы один бит из 16 байт не был еденицей (чистым), то уже нельзя такой блок менять без стирания всего сектора (8 кБ). Стирая сектор его ессно нужно весь скопировать в раму, а потом стереть сектор. Либо можно ещё скопировать один сектор в другой сектор с очень небольшим буфером в раме.


то есть стандартная ситуация с flash... попробую перегруппировать буферные данные, может спасет.. спасибо
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.