Совет : После Easyflash v4.1 был официально запущен проект FlashDB с открытым исходным кодом, недавно разработанный и разработан на основе EasyFlash. Он имеет вновь интегрированные функции, такие как база данных TIME, управление несколькими частями и несколько экземпляров базы данных, что также в определенной степени улучшила общую производительность. Добро пожаловать: https://github.com/armink/flashdb. В то же время существующий EasyFlash будет продолжать поддерживать.
EasyFlash - это легкая библиотека встроенной флэш -памяти с открытым исходным кодом, которая облегчает разработчикам реализацию общей разработки приложений на основе флэш -памяти. Он очень подходит для умного дома, носимого, промышленного контроля, медицинского обслуживания, Интернета вещей и других продуктов, которые требуют функций хранения отключения. Он имеет чрезвычайно низкое использование ресурсов и поддерживает различную память MCU. Эта библиотека в основном включает в себя три практические функции :
EasyFlash может не только реализовать функцию хранилища внизу информации, такую как настройка параметров или запуск журналов продуктов, но также инкапсулировать простые методы добавления, удаления, изменения и запроса , уменьшая сложность разработчиков при обработке параметров продукта и обеспечения лучшей масштабируемости продукта в более поздних обновлениях. Сделайте Flash малой базой данных хранения клавиш, которая превращает Flash в модель NOSQL (нереляционная база данных).
Эта библиотека инкапсулирует обычно используемый интерфейс функции IAP (программирование в приложении), поддерживает проверку CRC32 и поддерживает обновления загрузчика и приложений.
Он идеально подходит для небольших продуктов без файловых систем, что облегчает разработчикам быстро определять местонахождение и найти причины сбоев системы или сбоев. В то же время он используется с easylogger (мой высокопроизводительный промежуток с открытым исходным кодом, высокоэффективная библиотека C, которая обеспечивает беспроблемный интерфейс с EasyFlash) и легко реализует функцию хранения флэш-памяти журналов C.
В настоящее время существует два основных режима функции ENV, один из них - режим NG , приведенный в v4.0, а другой - это устаревший режим, который продолжает v3.0
Соответствующий файл исходного кода:
ef_env.c
С момента весеннего фестиваля в 2019 году EasyFlash наконец -то выпустил V.4.0 версию после более чем 4 лет итерации и в сочетании с потребностями и предложениями многих разработчиков. Функция ENV в этой версии называется режим NG (Next Generation). Это совершенно рефакторная новая версия со следующими новыми функциями:
V4.0 Дизайн и внутренние принципы, Руководство по миграции v4.0 и многое другое, пожалуйста, продолжайте читать следующее раздел документации
Примечание . Некоторые вспышки не могут быть записаны в обратном порядке, например, на Chip Flash STM32L4, поэтому режим NG не может быть использован. В этом случае рекомендуется использовать устаревший режим v3.0.
Соответствующие файлы исходного кода:
ef_env_legacy.cиef_env_legacy_wl.c
Legacy Mode также обладает функциями баланса и износа. По сравнению с режимом V 4,0 нг, использование устаревшего режима требует дополнительного пространства ОЗУ для временного кэширования каждой ENV, и, наконец, вызов интерфейса сохранения, равномерно стирайте сектора, а затем храните их на вспышке.
| V4.0 ng Режим | V3.0 устаревший режим | |
|---|---|---|
| Использование ресурсов RAM | Низкий | высокий |
| Поддержать всестороннюю всестороннюю | Некоторая вспышка ограничена: например, STM32L4 In-Chip | Более всеобъемлющий |
| Требуется ли сборку мусора GC? | Требуется GC, что приводит к замедлению скорости записи, когда GC запускается | ненужный |
| предел типа значения | Неограниченный | Он поддерживает лучшие типы строк |
| Защита от включения | поддерживать | поддерживать |
| Носить баланс | поддерживать | поддерживать |
| Повышенное обновление | поддерживать | поддерживать |
最低要求: ROM: 6K bytes RAM: 0.1K bytes
В настоящее время аппаратные платформы были пересажены включают в себя вспышку серии stm32f10x и stm32f4xx , а также Flash Off-Chip SPI (на основе SFUD), которые также являются платформами, используемыми продуктами автора. Портирование других платформ не сложно. В начале проекта проекта были рассмотрены проблемы адаптивности для всех платформ (кроме 64-битных), поэтому все портовые интерфейсы были зарезервированы. Для порта вам нужно только изменить файл easyflashportef_port.c чтобы реализовать функции стирания, написания, чтения и печати.
Добро пожаловать в Fork и запрос на вытягивание (GitHub | Oschina | Кодирование). Если вы думаете, что этот проект с открытым исходным кодом великолепен, вы можете щелкнуть Star в правом верхнем углу домашней страницы проекта и порекомендовать его больше друзей.
Следующий рисунок является общим интерфейсом для вызова переменных среды через консоль (терминал). Он демонстрирует следующий процесс, который поддерживает прямые вызовы при приложении.
temp и назначить значение 123 ;456 и сохранить и перезапустить;
На следующем рисунке демонстрируется процесс обновления программного обеспечения IAP через консоль. Он использует интерфейс функции IAP, который поставляется с библиотекой, а демонстрация использует протокол последовательного порта + Ymodem. Вы также можете реализовать обновления удаленных сети через Can, 485, Ethernet и другие автобусы.

Приведенный ниже процесс должен вывести журнал через консоль и сохранить выходной флэш -флэш. Перезапустите и прочитайте последний сохраненный журнал и, наконец, очистите журнал Flash.

docszhapi.mddocszhport.mddocszhv4_migrate.mddocszhdesign.mdОбязательно используйте его после прочтения документа .

Если easyflash решит вашу проблему, вы можете также сканировать QR -код выше, чтобы пригласить меня на чашку кофе ~
Используйте протокол MIT с открытым исходным кодом. Пожалуйста, прочитайте содержимое файла лицензии в проекте для получения подробной информации.
EasyFlash - это легкая библиотека встроенной флэш -памяти с открытым исходным кодом. Он обеспечивает удобный интерфейс применения для MCU (Micro Control Unit). Разработчики могут достичь более эффективной и общей разработки приложений на основе флэш -памяти. Библиотека в настоящее время предоставляет три полезные функции :
EasyFlash может хранить параметры настройки или запуск журналов и другую информацию, которую вы хотите сохранить после питания. Он содержит добавление, удаление, модифицировать и запросить методы. Это помогает разработчику обработать параметры продукта и убедиться, что продукт имеет лучшую масштабируемость после обновления. Включает вспышку в небольшую модель NOSQL (нереляционные базы данных) и базу данных для ключей.
Библиотека инкапсулирует общий интерфейс IAP (программирование в области применения). Поддержка контрольной суммы CRC32. При поддержке загрузчика и обновления приложений.
Он очень подходит для малых без продуктов файловой системы. Разработчик может легко найти проблему и запрашивать проблему при сбое системы или замораживает. Вы можете использовать EasyLogger (супер-легкий, высокопроизводительный библиотеку C Log, которая откроет меня. Он обеспечивает бесшовный интерфейс с EasyFlash) одновременно. Таким образом, так легко хранить журналы, чтобы вспыхивать.
Minimum : ROM: 6K bytes RAM: 0.2K bytes
Аппаратная платформа была портированной SPI Flash, stm32f10x и stm32f4xx серии встроенной вспышки. Это мои платформы для продуктов. Сложность портирования платформы мало. Для порта он просто изменить easyflashportef_port.c файл. Реализуйте стирание, записать, читать, печатать функцию.
Добро пожаловать всем, чтобы покинуть и потянуть запрос (GitHub | Oschina | Кодирование). Если вы думаете, что этот проект с открытым исходным кодом потрясающий. Вы можете нажать звезду в правом верхнем углу домашней страницы Project и рекомендовать ее больше друзей.
На рисунке ниже показан общий интерфейс Env, который можно назвать консолью (терминал). Эти интерфейсы поддерживаются приложением, вызванным.
temp , а значение - 123 ;456 и сохраните, перезагрузите;
На рисунке ниже показан процесс обновления программного обеспечения через консоль с помощью IAP. Использует эту библиотеку с интерфейсом функции IAP. Он использует режим протокола последовательного порта + Ymodem. Вы также можете быть достигнуты с помощью Can, 485, Ethernet Bus до онлайн -обновления.

Следующим рисунком является вывод процесса журнала через консоль. Журналы сохраняются, чтобы вспыхивать в режиме реального времени. Затем доска перезагружается, и журналы обратно читаются от Flash. На последних журналах будут стерты.

Все документы находятся в папке docsen . Пожалуйста, прочитайте документы перед тем, как его переносить и использовать.
Используя лицензию MIT с открытым исходным кодом, пожалуйста, прочитайте файл лицензии проекта.