Anglais | 简体中文 | 繁體中文 | 日本語 | allemand | 한국어
La mémoire Flash série W25Q25XX offre une solution de stockage pour les systèmes dont l'espace, les broches et l'alimentation sont limités. La série 25Q offre une flexibilité et des performances bien au-delà des périphériques Serial Flash ordinaires. Ils sont idéaux pour l'observation de code sur RAM, l'exécution de code directement à partir de Dual/Quad SPI (XIP) et le stockage de voix, de texte et de données. L'appareil fonctionne sur une seule alimentation de 2,7 V à 3,6 V avec une consommation de courant aussi faible que 4 mA en actif et 1 μA pour la mise hors tension. Tous les appareils sont proposés dans des packages peu encombrants.
LibDriver W25QXX est le pilote complet de W25QXX lancé par LibDriver. Il fournit des fonctions de lecture flash, d'écriture flash, etc. LibDriver est conforme à MISRA.
/src inclut les fichiers sources LibDriver W25QXX.
/interface inclut le modèle indépendant de la plate-forme LibDriver W25QXX SPI ou QSPI.
/test inclut le code de test du pilote LibDriver W25QXX et ce code peut tester simplement la fonction nécessaire de la puce.
/exemple inclut un exemple de code LibDriver W25QXX.
/doc inclut le document hors ligne LibDriver W25QXX.
/datasheet inclut la fiche technique W25QXX.
/project inclut l’exemple de code commun de la carte de développement Linux et MCU. Tous les projets utilisent le script shell pour déboguer le pilote et les instructions détaillées peuvent être trouvées dans le README.md de chaque projet.
/misra inclut les résultats de l'analyse du code LibDriver MISRA.
Référencez/interfacez le modèle indépendant de la plate-forme SPI ou QSPI et terminez le pilote SPI ou QSPI de votre plate-forme.
Ajoutez le répertoire /src, le pilote d'interface de votre plate-forme et vos propres pilotes à votre projet. Si vous souhaitez utiliser les exemples de pilotes par défaut, ajoutez le répertoire /example à votre projet.
Vous pouvez vous référer aux exemples du répertoire /example pour compléter votre propre pilote. Si vous souhaitez utiliser les exemples de programmation par défaut, voici comment les utiliser.
#include "driver_w25qxx_basic.h"
uint8_t res ;
uint8_t manufacturer ;
uint8_t device_id ;
uint8_t data [ 8 ];
res = w25qxx_basic_init ( W25Q128 , W25QXX_INTERFACE_SPI , W25QXX_BOOL_TRUE );
if ( res != 0 )
{
return 1 ;
}
...
res = w25qxx_basic_get_id (( uint8_t * ) & manufacturer , ( uint8_t * ) & device_id );
if ( res != 0 )
{
( void ) w25qxx_basic_deinit ();
return 1 ;
}
w25qxx_interface_debug_print ( "w25qxx: manufacturer is 0x%02X device id is 0x%02X.n" , manufacturer , device_id );
...
res = w25qxx_basic_write ( 0x00000000 , ( uint8_t * ) data , 8 );
if ( res != 0 )
{
( void ) w25qxx_basic_deinit ();
return 1 ;
}
...
res = w25qxx_basic_read ( 0x00000000 , ( uint8_t * ) data , 8 );
if ( res != 0 )
{
( void ) w25qxx_basic_deinit ();
return 1 ;
}
...
( void ) w25qxx_basic_deinit ();
return 0 ;
#include "driver_w25qxx_advance.h"
uint8_t res ;
uint8_t manufacturer ;
uint8_t device_id ;
uint8_t data [ 8 ];
res = w25qxx_advance_init ( W25Q128 , W25QXX_INTERFACE_SPI , W25QXX_BOOL_TRUE );
if ( res != 0 )
{
return 1 ;
}
...
res = w25qxx_advance_get_id (( uint8_t * ) & manufacturer , ( uint8_t * ) & device_id );
if ( res != 0 )
{
( void ) w25qxx_advance_deinit ();
return 1 ;
}
w25qxx_interface_debug_print ( "w25qxx: manufacturer is 0x%02X device id is 0x%02X.n" , manufacturer , device_id );
...
res = w25qxx_advance_write ( 0x00000000 , ( uint8_t * ) data , 8 );
if ( res != 0 )
{
( void ) w25qxx_advance_deinit ();
return 1 ;
}
...
res = w25qxx_advance_read ( 0x00000000 , ( uint8_t * ) data , 8 );
if ( res != 0 )
{
( void ) w25qxx_advance_deinit ();
return 1 ;
}
...
( void ) w25qxx_advance_deinit ();
return 0 ;
Documents en ligne : https://www.libdriver.com/docs/w25qxx/index.html.
Documents hors ligne : /doc/html/index.html.
Veuillez vous référer à CONTRIBUTING.md.
Copyright (c) 2015 - présent LibDriver Tous droits réservés
La licence MIT (MIT)
L'autorisation est accordée gratuitement à toute personne obtenant une copie
de ce logiciel et des fichiers de documentation associés (le « Logiciel »), pour traiter
dans le Logiciel sans restriction, y compris, sans limitation, les droits
utiliser, copier, modifier, fusionner, publier, distribuer, sous-licencier et/ou vendre
copies du Logiciel, et pour permettre aux personnes à qui le Logiciel est
fourni à cet effet, sous réserve des conditions suivantes :
L'avis de droit d'auteur ci-dessus et cet avis d'autorisation doivent être inclus dans tous
des copies ou des parties substantielles du Logiciel.
LE LOGICIEL EST FOURNI « TEL QUEL », SANS GARANTIE D'AUCUNE SORTE, EXPRESSE OU
IMPLICITES, Y COMPRIS MAIS SANS LIMITATION LES GARANTIES DE QUALITÉ MARCHANDE,
APTITUDE À UN USAGE PARTICULIER ET NON-VIOLATION. EN AUCUN CAS LE
LES AUTEURS OU TITULAIRES DES DROITS D'AUTEUR SONT RESPONSABLES DE TOUTE RÉCLAMATION, DOMMAGES OU AUTRES
RESPONSABILITÉ, QUE CE SOIT DANS UNE ACTION CONTRACTUELLE, DÉLIT OU AUTRE, DÉCOULANT DE,
EN RAISON OU EN RELATION AVEC LE LOGICIEL OU L'UTILISATION OU D'AUTRES TRANSACTIONS DANS LE
LOGICIEL.
Veuillez envoyer un e-mail à [email protected].