Dica : Após o EasyFlash v4.1, o projeto de código aberto FlashDB recentemente projetado e desenvolvido com base no EasyFlash foi lançado oficialmente. Possui funções recentemente integradas, como banco de dados de tempo, gerenciamento de várias partes e várias instâncias de banco de dados, o que também melhorou o desempenho geral em certa medida. Bem -vindo a seguir: https://github.com/armink/flashdb. Ao mesmo tempo, o EasyFlash existente continuará sendo mantido.
A EasyFlash é uma biblioteca de memória flash incorporada leve de código aberto, o que facilita para os desenvolvedores implementar o desenvolvimento comum de aplicativos com base na memória flash. É muito adequado para domicílio inteligente, vestível, controle industrial, assistência médica, Internet das coisas e outros produtos que exigem funções de armazenamento de despedida. Possui uso extremamente baixo de recursos e suporta várias memória no chip MCU. Esta biblioteca inclui principalmente três funções práticas :
O EasyFlash pode não apenas perceber a função de armazenamento desligada de informações, como definir parâmetros ou executar registros de produtos, mas também encapsular métodos simples de adicionar, excluir, modificar e consultar , reduzindo a dificuldade dos desenvolvedores no processamento de parâmetros do produto e garantir uma melhor escalabilidade do produto em atualizações posteriores. Faça do Flash um pequeno banco de dados de armazenamento de valor-chave que transforma o flash em um modelo NOSQL (banco de dados não relacional).
Essa biblioteca encapsula a interface comumente usada da função IAP (programação de aplicativos), suporta verificação do CRC32 e suporta atualizações de carregador de inicialização e aplicativos.
É ideal para pequenos produtos sem sistemas de arquivos, facilitando a localização e a localização rapidamente e encontram as causas de falhas ou falhas do sistema. Ao mesmo tempo, é usado com o EasyLogger (minha biblioteca de log de alto desempenho e alto desempenho de código aberto, que fornece uma interface perfeita com easyFlash) e implementa facilmente a função de armazenamento flash dos logs C.
Atualmente, existem dois modos principais da função Env, um é o modo NG trazido para a v4.0, e o outro é o modo legado que continua v3.0
O arquivo de código -fonte correspondente é:
ef_env.c
Desde o Festival da Primavera em 2019, a EasyFlash finalmente lançou a versão V4.0 após mais de 4 anos de iteração e combinada com as necessidades e sugestões de muitos desenvolvedores. A função Env nesta versão é nomeada no modo NG (próxima geração). Esta é uma nova versão completamente refatorada com os seguintes novos recursos:
V4.0 Design e Princípios Internos, Guia de Migração V4.0 e muito mais, continue lendo a seguinte seção de documentação
Nota : Alguns flashes não podem ser gravados em ordem inversa, como o STM32L4 Flash On-Chip, para que o modo NG não possa ser usado. Nesse caso, é recomendável usar o modo herdado de v3.0.
Os arquivos de código -fonte correspondentes são:
ef_env_legacy.ceef_env_legacy_wl.c
O modo herdado também possui funções de equilíbrio e proteção contra desdobramento. Comparado com o modo V 4.0 ng, o uso do modo legado requer espaço adicional de RAM para cache temporariamente cada Env e, finalmente, chamar a interface de salvamento, apagar os setores uniformemente e armazená -los no flash.
| V4.0 ng modo | V3.0 Modo legado | |
|---|---|---|
| Uso de Ramos de Ram | Baixo | alto |
| Suporte Flash abrangente | Algum flash é restrito: por exemplo, STM32L4 in-chip | Mais abrangente |
| A coleta de lixo gc é necessária? | GC é necessário, o que faz com que a velocidade de gravação diminua quando o GC é acionado | desnecessário |
| Limite de tipo de valor | Ilimitado | Ele suporta melhores tipos de string |
| Proteção de desativação | apoiar | apoiar |
| Usar equilíbrio | apoiar | apoiar |
| Atualização incremental | apoiar | apoiar |
最低要求: ROM: 6K bytes RAM: 0.1K bytes
Atualmente, as plataformas de hardware foram transplantadas incluem stm32f10x e stm32f4xx Série On-Chip Flash, e o flash SPI off-chip (baseado no SFUD), que também são as plataformas usadas pelos produtos do autor. A porta de outras plataformas não é difícil. No início do design do projeto, foram considerados problemas de adaptabilidade para todas as plataformas (exceto 64 bits), para que todas as interfaces portadoras foram reservadas. Para porta, você só precisa modificar um arquivo easyflashportef_port.c para realizar as funções de apagar, escrever, ler e imprimir.
Bem -vindo ao Fork and Pull Request (Github | Oschina | Codificação). Se você acha que este projeto de código aberto é ótimo, clique em Star no canto superior direito da página inicial do projeto e recomendá -lo a mais amigos necessitados.
A figura a seguir é uma interface comum para variáveis de ambiente de chamada através do console (terminal). Ele demonstra o seguinte processo, que suporta chamadas diretas pela camada de aplicativo.
temp e atribua um valor de 123 ;456 e salve e reinicie;
A figura a seguir demonstra o processo de atualização do software IAP através do console. Ele usa a interface da função IAP que vem com a biblioteca e a demonstração usa o protocolo de porta serial + ymodem. Você também pode realizar atualizações de rede remotas através do CAN, 485, Ethernet e outros ônibus.

O processo abaixo é emitir o log através do console e armazenar o login de saída Flash. Reinicie e leia o último log salvo e finalmente limpe o log flash.

docszhapi.mddocszhport.mddocszhv4_migrate.mddocszhdesign.mdCertifique -se de usá -lo depois de ler o documento .

Se a EasyFlash resolver seu problema, você também pode escanear o código QR acima para me convidar para tomar uma xícara de café ~
Use o protocolo de código aberto do MIT. Leia o conteúdo do arquivo de licença no projeto para obter detalhes.
A EasyFlash é uma biblioteca de memória flash de memória flash de código aberto de código aberto. Ele fornece uma interface de aplicativo conveniente para MCU (Unidade de Micro Controle). Os desenvolvedores podem obter desenvolvimento de aplicativos mais eficiente e comum com base na memória flash. Atualmente, a biblioteca fornece três recursos úteis :
O EasyFlash pode armazenar parâmetros de configuração ou logs em execução e outras informações que você deseja manter após a energia baixa. Ele contém métodos de add, exclusão, modificar e consultar. Ajuda o desenvolvedor a processar os parâmetros do produto e garantir que o produto tenha melhor escalabilidade após a atualização. Transforma o flash em um pequeno modelo NOSQL (bancos de dados não relacionais) e banco de dados de armazenamento de valor-chave.
A biblioteca encapsula a interface comum da IAP (programação de aplicativos). Suporte a soma de verificação CRC32. Ao suportar o carregador de inicialização e a atualização do aplicativo.
É muito adequado para pequenos produtos do sistema de arquivos. O desenvolvedor pode facilmente localizar e consultar o problema quando o sistema trava ou congela. Você pode usar o EasyLogger (uma biblioteca de log de alto desempenho e alto desempenho que abre-me. Portanto, é tão fácil armazenar os logs para piscar.
Minimum : ROM: 6K bytes RAM: 0.2K bytes
A plataforma de hardware foi portada SPI Flash, stm32f10x e stm32f4xx Série de flash no chip. Estas são as minhas plataformas de produtos. A dificuldade restante da plataforma é pequena. Para portá -lo apenas modificar easyflashportef_port.c . Implementar apagar, escreva, leia, imprima o recurso.
Dê boas -vindas a todos em Fork e Pull Solicy (Github | Oschina | Codificação). Se você acha que este projeto de código aberto é incrível. Você pode pressionar a estrela no canto superior direito da página inicial do projeto e recomendá -la a mais amigos.
A figura abaixo mostra a interface comum de uma ENV ser chamada pelo console (terminal). Essas interfaces são suportadas pela camada de aplicativo chamada.
temp e o valor é 123 ;456 e salve, reinicie;
A figura abaixo mostra o processo de atualização do software através do console pela IAP. Ele usa esta biblioteca vem com interface da função IAP. Ele usa um modo de protocolo de porta serial + ymodem. Você também pode ser alcançado através do CAN, 485, Ethernet Bus to Online Upgrade.

A figura a seguir é a saída do processo de log através do console. Os logs são salvos para piscar em tempo real. Em seguida, a placa é reiniciada e os logs de volta são lidos de volta do Flash. Por fim, serão apagados.

Todos os documentos estão na pasta docsen . Leia os documentos antes de portá -lo e usá -lo.
Usando a licença de código aberto do MIT, leia o arquivo de licença do projeto.