Oleg_IT 0 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба Есть готовый модуль с STM32F417, на нём стоит NAND. Как я понимаю, программа туда и записывается. Нужно сохранить несколько байт настроечной информации, периодически она может меняться. Как записать/считать данные и как выбрать адреса куда записывать в NAND, что бы там ни чего не испортить? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Johnny81 0 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба Что такое готовый модуль? Там какая-то готовая прошивка? stm32F4 не умеет исполнять программу из nand. Т.е. там есть загрузчик, который ее оттуда выгружает в ОЗУ. Дальше соответственно смотреть, что делает загрузчик, определить, какие блоки свободны и писать туда... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба Модуль готовый, программа моя. То что программа загружается в ОЗУ это понятно. Есть библиотека или примеры как в NAND записать/прочитать байт? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Johnny81 0 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба AN2784 есть (он про F1, но разницы особой нет). Плюс даташит на вашу модель Nand. Но я все еще не понял - программа ваша, а загрузчик нет? Можно ж посмотреть, что загрузчик делает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба Есть библиотека или примеры как в NAND записать/прочитать байт? NAND для хранения часто меняющихся настроек - не очень кузяво. Ресурс, как считается, невелик по сравнению с набортной флеш STM32. Записывать можно только страницу целиком, стирать - только блок (много страниц). Почему бы не задействовать для этого встроенную флеш STM32? На этом форуме уже было множество обсуждений нюансов, с этим связанных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Johnny81 0 8 декабря, 2015 Опубликовано 8 декабря, 2015 · Жалоба NAND для хранения часто меняющихся настроек - не очень кузяво. Тут вопрос, насколько заморочиться. Если сделать wear leveling, плюс использование всех страниц в блоке - по идее будет вполне нормально с ресурсом. Опять же вопрос, что есть настройки и как часто они меняются. Но со встроенным флешем в разы проще, это да :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oleg_IT 0 9 декабря, 2015 Опубликовано 9 декабря, 2015 · Жалоба Сохранять нужно не более 10 байт, и очень редко, скорей всего при настройке. Чего-то про встроенный флешь не подумал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kolia 0 9 декабря, 2015 Опубликовано 9 декабря, 2015 · Жалоба Сохранять нужно не более 10 байт, и очень редко, скорей всего при настройке. Чего-то про встроенный флешь не подумал. Есть еще память RTC и Backup ОЗУ, правда нужна батарейка, зато доступ как к обычной ОЗУ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KnightIgor 2 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба Есть готовый модуль с STM32F417, на нём стоит NAND. Как я понимаю, программа туда и записывается. Нужно сохранить несколько байт настроечной информации, периодически она может меняться. Как записать/считать данные и как выбрать адреса куда записывать в NAND, что бы там ни чего не испортить? Как scifi уже заметил, было множество обсуждений на тему. Например я пишу настройки во внутреннюю флэш контроллера, объявляя настройки в программе как константы с атрибутами, которые собираются затем в последнюю страницу флэш. Более подробно в тему я писал тут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rash 0 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба можно написать эмулятор eeprom используя 2 страницы внутренней флеш, как по мне очень удобно. STMовский эмулятор советую не брать, глючный алгоритм при инициализации у них, проявилось на аккумуляторных устройствах, которые могут перезагружаться подряд несколько раз при севшем аккуме и все данные портить. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ohmjke 0 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба STMовский эмулятор советую не брать, глючный алгоритм при инициализации у них, проявилось на аккумуляторных устройствах, которые могут перезагружаться подряд несколько раз при севшем аккуме и все данные портить. А в чем именно глючность? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба Как scifi уже заметил, было множество обсуждений на тему. Например я пишу настройки во внутреннюю флэш контроллера, объявляя настройки в программе как константы с атрибутами, которые собираются затем в последнюю страницу флэш. Более подробно в тему я писал тут. Зачем мучать внутреннюю Flash контроллера когда есть NAND? В Keil с недавних пор файловая система стала поддерживать NAND. Там делов на пару минут. Скачивается SDK для нужного чипа, конфигурируются разделы NAND и все, можно штатными командами fread , fwrite писать в NAND сколько и чего угодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rash 0 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба А в чем именно глючность? где-то в автомате инициализации, при постоянном дерганье питания в различных режимам происходит сбой, что все 2 выделенные страницы помимо полезных данных, содержат всякий бред. Нет CRC данных, но это недостаток. Сильно разбираться не стал где косяк, т.к. выловить такое на отладке проблематично. Написал свою, пол года в работе, в различных условиях помех, нареканий не было. В Keil с недавних пор файловая система стала поддерживать NAND. Поподробней можно этого трюка. В другие компиляторы, например в IAR портировать можно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба Поподробней можно этого трюка. В другие компиляторы, например в IAR портировать можно? Нет в IAR не портируется, ибо Keil свои базовые либы на C-и не раскрывает. А файловая система у них работает через слой базовых библиотек. Но есть же еще лучшая файловая от Micrium. Давалась здесь инфа по этому поводу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Rash 0 10 декабря, 2015 Опубликовано 10 декабря, 2015 · Жалоба Micrium как то пропустил из вида, да и бесплатных обновлений нет на неё, но можно и FatFs прикрутить, вопрос кто Nand на прямую подключённую обслуживать правильно будет Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться