Цитата(skripach @ Jan 8 2011, 22:11)

Прям ткнуть затрудняюсь, на ламинариях флеш не писал.
Не могли бы привезти аналогичное описание для вашего МК? Очень бы хотелось хранить настройки прямо на борту.
Цитата(skripach @ Jan 8 2011, 22:11)

Непонятно почему вы не пользуйтесь функциями записи во флеш из этого самого an01237 ?
В функциях, приведённых в StellarisWare от Luminary нет обработки ситуации, когда нужно в бите '0' обратить обратно в '1' (позволю напомнить, что запись производится по логическому И). Вернее, обработка есть, но она заключается лишь в возврате ошибки, если результат (настоящая информация на флеш) не соответствует ожиданию (данным, записанным а FMD).
В "правильном" случае надо:
1. Посмотреть, стоит ли вобще записывать данные в блок (возможно, записываемое слово идентично уже находящемуся по этому адресу).
2. IF ( <текущие данные в блоке> И <записываемые данные> != <записываемые данные> ), то нужно стереть страницу (сохранив всю страницу, помимо целевого слова), записать страницу на флеш с внесёнными изменениями.
ELSE ( просто записываем слово на флеш без танцев).
Цитата(skripach @ Jan 8 2011, 22:11)

К примеру, не вижу в приведённом вами куске кода установки адреса куда писать, ожидания конца записи?
Эта часть кода следует за присвоением FMD. Я её опустил, ибо выполнение оной не происходит. Проверяется (мной) расcтавлением return-ов в произвольных места: перед чтением буфера return отрабатывает, после - нет.