Ремонт принтеров, сканнеров, факсов и остальной офисной техники


назад Оглавление вперед




[37]

533. Запись в флэш-память

Режимы записи, задаваемые битами WRT и BLKWRT приведены в таблице 5.2.

Таблица 5-2. Режимы записи

Режим записи

Запись байта/слова

Запись блока

Каждый из режимов записи использует последовательность собственных команд записи, но режим блочной записи позволяет выполнять запись примерно вдвое быстрее по сравнению с режимом байт/слово, поскольку генератор напряжения остается включенным до завершения записи блока. Любая команда, модифицирующая получателя может использоваться для изменения месторасположения в флэш-памяти как в режиме записи байта/слова, так и в режиме блочной записи.

Бит BUSY установлен, пока активна процедура записи и очищается, когда запись завершена. Если операция записи инициирована из ОЗУ, ЦПУ не должен обращаться к флэш-памяти, пока BUSY=1. В противном случае произойдет нарушение прав доступа, будет установлен флаг ACCVIFG, а результат записи окажется непредсказуем.

Запись байта/слова

Операция записи байта/слова может инициироваться программой из флэш-памяти или из ОЗУ. Когда инициирование происходит из флэш-памяти, все тактирование осуществляется контроллером флэш-памяти, а ЦПУ ожидает завершения записи. После выполнения записи ЦПУ продолжает выполнение кода с команды, следующей за командой записи. Временная диаграмма процедуры записи байта/слова показана на рис. 5.7.

Генерация

напряжения

программирования

Выполнение операции программирования

Снятиея напряжения программирования

Время программирования потребления тока VCC повышено

BUSYt=~33/f

1(запись слова) = 00/l(FTG;

Рис. 5-7. Временная диаграмма операции записи байта/слова


Когда запись байта/слова выполняется из ОЗУ, ЦПУ продолжает выполнять код из ОЗУ. Бит BUSY должен стать равным нулю, прежде чем ЦПУ обратится к флэш-памяти снова, иначе произойдет нарушение прав доступа и установка флага ACCVIFG, а результат записи будет непредсказуем.

Инициирование записи байта/слова программой из флэш-памяти

Программный поток, инициирующий запись байта/слова из флэш-памяти показан на рис. 5.8.

Запрещение всех прерываний и отключение сторожевого таймера

Установка контроллера флэш и установка WRF = 1

Запись байта и слова

Установка WRT = 0, LOCK = 1, разрешение прерываний и включение сторожевого таймера

Рис. 5-8. Инициирование записи байта/слова из флэш-памяти

;Запись байта/слова из флэш.

514 кГц<SMCLK<952 кГц

;Принимается, что 0FF1Eh уже

;Принимается ACCVIE = NMIIE --

OFIE = 0.

MOV #WDTPW+WDTHOLD,&WDTCTL

;Отключение сторожевого ;таймера

;Запрещение прерываний

MOV #FWKEY+FSSEL1+FN0,&FCTL2 ;SMCLK/2

MOV #FWKEY,&FCTL3

;Очистка LOCK

MOV #FWKEY+WRT,&FCTL1

;Разрешение записи

MOV #0123h,&0FF1Eh

;0123h -> 0FF1Eh

MOV #FWKEY,&FCTL1

;Выполнено. Очистка WRT

MOV #FWKEY+LOCK,&FCTL3

; Установка LOCK

;Повторный запуск ;сторожевого таймера?

;Разрешение прерываний


Инициирование записи байта/слова программой из ОЗУ

Программный поток, инициирующий запись байта/слова из ОЗУ показан на рис. 5.9.

Запрещение всех прерываний и выключение сторожевого таймера

Установка контроллера флэш и установка WRT = 1

Запись байта или слова

Установка WRT = 0, LOCK = 1 разрешение прерывание и включение сторожевого таймера

Рис. 5-9. Инициирование записи байта/слова из ОЗУ

/Запись байта/слова из ОЗУ. 514 кГц < SMCLK < 952 кГц

/Принимается, что 0FF1Eh уже стерто

;Принимается ACCVIE = NMIIE = OFIE = 0.

MOV #WDTPW+WDTHOLD,&WDTCTL /Отключение сторожевого

;таймера

DINT/Запрещение прерываний

L1 BIT #BUSY,&FCTL3/Проверка BUSY

MOV #FWKEY+FSSEL1+FN0,&FCTL2 /SMCLK/2 MOV #FWKEY,&FCTL3/Очистка LOCK



[стр.Начало] [стр.1] [стр.2] [стр.3] [стр.4] [стр.5] [стр.6] [стр.7] [стр.8] [стр.9] [стр.10] [стр.11] [стр.12] [стр.13] [стр.14] [стр.15] [стр.16] [стр.17] [стр.18] [стр.19] [стр.20] [стр.21] [стр.22] [стр.23] [стр.24] [стр.25] [стр.26] [стр.27] [стр.28] [стр.29] [стр.30] [стр.31] [стр.32] [стр.33] [стр.34] [стр.35] [стр.36] [стр.37] [стр.38] [стр.39] [стр.40] [стр.41] [стр.42] [стр.43] [стр.44] [стр.45] [стр.46] [стр.47] [стр.48] [стр.49] [стр.50] [стр.51] [стр.52] [стр.53] [стр.54] [стр.55] [стр.56] [стр.57] [стр.58] [стр.59] [стр.60] [стр.61] [стр.62] [стр.63] [стр.64] [стр.65] [стр.66] [стр.67] [стр.68] [стр.69] [стр.70] [стр.71] [стр.72] [стр.73] [стр.74] [стр.75] [стр.76] [стр.77] [стр.78] [стр.79] [стр.80] [стр.81] [стр.82] [стр.83] [стр.84] [стр.85] [стр.86] [стр.87] [стр.88] [стр.89] [стр.90] [стр.91] [стр.92] [стр.93] [стр.94] [стр.95] [стр.96] [стр.97] [стр.98] [стр.99] [стр.100] [стр.101] [стр.102] [стр.103] [стр.104] [стр.105] [стр.106] [стр.107] [стр.108] [стр.109] [стр.110] [стр.111] [стр.112] [стр.113] [стр.114] [стр.115] [стр.116] [стр.117] [стр.118] [стр.119] [стр.120]