baralgin 0 16 июля, 2009 Опубликовано 16 июля, 2009 · Жалоба Необходимо иметь возможность хранить буквально несколько байт. Девайс low-density. Почитал на форуме про методики хранения в main flash memory - громоздко и не гибко. Собственно flash состоит из трёх блоков main(var), system(2kb) и option bytes(8b). В последнем блоке есть 8 байт памяти: "4 for write protection, 1 for read protection, 1 for configuration and 2 for user data storage" Ну два байта(user data), понятно, можно использовать, хочется ещё первых четыре заюзать(WP которые). Собственно, из документации понял что при активации read protection(RP) первые несколько страниц(количество зависит от density) основного flash блокируются на запись, а оставшиеся страницы могут быть перезаписаны только программой(не отладчиком). Так ли необходима защита от записи основной памяти? Если в программе нет кода совершающего такие действия, то даже при слёте PC по идее прошивка не будет испорчена. Или я ошибаюсь? Такой способ, по идее, позволит сохранять информацию минимальным кодом(и без какой либо опастности для программы). А загрузка происходит вообще автоматом(в "регистры": FLASH_OBR и FLASH_WRPR) PS: с ARM'ами только начинаю работать и железа ещё не видел - выясняю необходимый минимум внешних деталей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 16 июля, 2009 Опубликовано 16 июля, 2009 · Жалоба Необходимо иметь возможность хранить буквально несколько байт. Девайс low-density. Что значит low density в контексте микропроцессорной техники? Поясните, чтот-то я пропустил... А насчет хранения данных... Откройте для себы FRAM - гуглить по словам FM25L04, например. И по названию фирмы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
baralgin 0 16 июля, 2009 Опубликовано 16 июля, 2009 · Жалоба low-density это применительно конкртено к линейке МК серии STM32. Это не столь важно, просто размер флэша ограничен(low <= 32kB), и не хочется засорять его лишним кодом. А насчёт FRAM(уже смотрю): именно этого и не хочется, чтобы для хранения нескольких чисел(которые будут очень редко изменяться, за время жизни устройства от силы раз 10 :) ) использовать внешние микросхемы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Wano 0 16 июля, 2009 Опубликовано 16 июля, 2009 · Жалоба за время жизни устройства от силы раз 10 :) ) использовать внешние микросхемы. гы, а в LPC23 случаем нету тоже каких пару байт энергонезависимой и чтобы без IAP и батареек? мечты :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 16 июля, 2009 Опубликовано 16 июля, 2009 · Жалоба low-density это применительно конкртено к линейке МК серии STM32. слово density там только один раз встретилось - improved performance with better code density так что я все равно не понял... но звучит непонятно и красиво. Больше вопросов нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sonycman 1 17 июля, 2009 Опубликовано 17 июля, 2009 · Жалоба слово density там только один раз встретилось - improved performance with better code density так что я все равно не понял... Плохо смотрите. Откройте любой даташит на STM32 и в первой же строке будет, к примеру для STM32F103xB - Medium-density performance line ARM-based 32-bit MCU... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 19 июля, 2009 Опубликовано 19 июля, 2009 · Жалоба Необходимо иметь возможность хранить буквально несколько байт. А насчёт FRAM(уже смотрю): именно этого и не хочется, чтобы для хранения нескольких чисел(которые будут очень редко изменяться, за время жизни устройства от силы раз 10 :) ) использовать внешние микросхемы. Всего несколько чисел и от силы 10 раз изменятся? Вам никакой EEPROM не нужен. Выделяем в главной флэш участок байт в 128, данные приписываем в конец по мере обновления, этого хватит на Ваши нужды без всяких стираний. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
baralgin 0 22 июля, 2009 Опубликовано 22 июля, 2009 · Жалоба Выделяем в главной флэш участок байт в 128, данные приписываем в конец по мере обновления, этого хватит на Ваши нужды без всяких стираний. Идея понятна, но универсальности хочется - не считать же, сколько раз производилось сохранение новых параметров (при возникновении сбоев иногда приходится покрутить их в ту или иную сторону по нескольку раз). Да и кода будет больше чем в моём варианте (загрузка данных будет с перебором до первых FF'ов). То что ничего внешнего цеплять не нужно уже уяснил :). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Andrey514 0 8 декабря, 2010 Опубликовано 8 декабря, 2010 · Жалоба Необходимо иметь возможность хранить буквально несколько байт... PS: с ARM'ами только начинаю работать и железа ещё не видел - выясняю необходимый минимум внешних деталей. Подскажите документ, по которому Вы ориентировались по работе с Flash-памятью,плиз :rolleyes: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 8 декабря, 2010 Опубликовано 8 декабря, 2010 · Жалоба Идея понятна, но универсальности хочется - не считать же, сколько раз производилось сохранение новых параметров (при возникновении сбоев иногда приходится покрутить их в ту или иную сторону по нескольку раз). Да и кода будет больше чем в моём варианте (загрузка данных будет с перебором до первых FF'ов). То что ничего внешнего цеплять не нужно уже уяснил :). ИМХО, надуманная проблема. Кода совсем немного требуется. Сделайте правильно - но пожалеете. "Правильно" - это как Вам посоветовали :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться