|
Сохранение настроечных параметров. |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 15)
|
Dec 9 2015, 08:11
|
Частый гость
 
Группа: Свой
Сообщений: 188
Регистрация: 28-09-06
Из: Minsk
Пользователь №: 20 762

|
Цитата(Oleg_IT @ Dec 9 2015, 11:02)  Сохранять нужно не более 10 байт, и очень редко, скорей всего при настройке. Чего-то про встроенный флешь не подумал. Есть еще память RTC и Backup ОЗУ, правда нужна батарейка, зато доступ как к обычной ОЗУ
|
|
|
|
|
Dec 10 2015, 17:15
|
Знающий
   
Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725

|
Цитата(Oleg_IT @ Dec 8 2015, 10:34)  Есть готовый модуль с STM32F417, на нём стоит NAND. Как я понимаю, программа туда и записывается. Нужно сохранить несколько байт настроечной информации, периодически она может меняться. Как записать/считать данные и как выбрать адреса куда записывать в NAND, что бы там ни чего не испортить? Как scifi уже заметил, было множество обсуждений на тему. Например я пишу настройки во внутреннюю флэш контроллера, объявляя настройки в программе как константы с атрибутами, которые собираются затем в последнюю страницу флэш. Более подробно в тему я писал тут.
|
|
|
|
|
Dec 10 2015, 21:03
|

Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 27-01-10
Из: СПб
Пользователь №: 55 094

|
Цитата(Rash @ Dec 10 2015, 23:52)  STMовский эмулятор советую не брать, глючный алгоритм при инициализации у них, проявилось на аккумуляторных устройствах, которые могут перезагружаться подряд несколько раз при севшем аккуме и все данные портить. А в чем именно глючность?
|
|
|
|
|
Dec 10 2015, 21:18
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(KnightIgor @ Dec 10 2015, 19:15)  Как scifi уже заметил, было множество обсуждений на тему. Например я пишу настройки во внутреннюю флэш контроллера, объявляя настройки в программе как константы с атрибутами, которые собираются затем в последнюю страницу флэш. Более подробно в тему я писал тут. Зачем мучать внутреннюю Flash контроллера когда есть NAND? В Keil с недавних пор файловая система стала поддерживать NAND. Там делов на пару минут. Скачивается SDK для нужного чипа, конфигурируются разделы NAND и все, можно штатными командами fread , fwrite писать в NAND сколько и чего угодно.
|
|
|
|
|
Dec 10 2015, 21:25
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Цитата(ohmjke @ Dec 11 2015, 00:03)  А в чем именно глючность? где-то в автомате инициализации, при постоянном дерганье питания в различных режимам происходит сбой, что все 2 выделенные страницы помимо полезных данных, содержат всякий бред. Нет CRC данных, но это недостаток. Сильно разбираться не стал где косяк, т.к. выловить такое на отладке проблематично. Написал свою, пол года в работе, в различных условиях помех, нареканий не было. Цитата(AlexandrY @ Dec 11 2015, 00:18)  В Keil с недавних пор файловая система стала поддерживать NAND. Поподробней можно этого трюка. В другие компиляторы, например в IAR портировать можно?
|
|
|
|
|
Dec 11 2015, 05:14
|
Знающий
   
Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153

|
Мне попадалась вот такая штука http://uffs.sf.net/Цитата UFFS is a nand flash file system designed for embedded system.
UFFS have some unique and advanced features: * Low cost: e.g. it needs only 164K bytes RAM for 128 MBytes NAND flash (512 bytes per page, 32 pages per block, total 8192 blocks). * Fast booting: typically it only needs 1~3 seconds to mount full loaded 128 Mbytes NAND flash. * Superb Reliability: - The file system is designed for the embedded system which may frequently lost powre/reset without care. - Journal file system, the file system will automatically rollback to last state if the 'write' operation is interrupted by accident (power lost/reset etc.). - When 'write' return without error, the data is 100% guarenteed be saved to flash.
* Fast file create/read/write/seek. * Bad-block tolerant, ECC enable and good ware-leveling. * There is no garbage collection needed for UFFS. * Support multiple NAND flash class in one system * Support bare flash hardware, no operating system needed. * Fully simulated on PC (Windows/Linux). Правда она жрет кучу ОЗУ (Low cost: e.g. it needs only 164K bytes RAM for 128 MBytes NAND). Слова про low cost в контексте stm32 доставляют  Но по сравнению со "взрослыми" nand-ориентированными ФС это наверное и правда немного Я на ее основе сделал свою недоФС, заточенную под b+ деревья, заодно получилось примерно 70К ОЗУ на 512М. А кто кейлом пользовался - сколько памяти кушает его ФС? Ну и вопрос, насколько она заточена именно под nand
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|