Englisch | 简体中文 | 繁體中文 | 日本語 | Deutsch | 한국어
Der serielle Flash-Speicher W25Q25XX bietet eine Speicherlösung für Systeme mit begrenztem Platz, Pins und Strom. Die 25Q-Serie bietet Flexibilität und Leistung, die weit über die herkömmlicher serieller Flash-Geräte hinausgeht. Sie eignen sich ideal für das Code-Shadowing in den RAM, die direkte Ausführung von Code über Dual/Quad SPI (XIP) und die Speicherung von Sprache, Text und Daten. Das Gerät wird mit einer einzelnen Stromversorgung von 2,7 V bis 3,6 V betrieben und verbraucht nur 4 mA im aktiven Zustand und 1 μA im ausgeschalteten Zustand. Alle Geräte werden platzsparend verpackt angeboten.
LibDriver W25QXX ist der von LibDriver gestartete Vollfunktionstreiber von W25QXX. Er bietet Funktionen zum Flash-Lesen, Flash-Schreiben usw. LibDriver ist MISRA-kompatibel.
/src enthält LibDriver W25QXX-Quelldateien.
/interface enthält die plattformunabhängige Vorlage LibDriver W25QXX SPI oder QSPI.
/test enthält den LibDriver W25QXX-Treibertestcode und dieser Code kann die erforderliche Funktion des Chips einfach testen.
/example enthält Beispielcode für LibDriver W25QXX.
/doc enthält das Offlinedokument von LibDriver W25QXX.
/datasheet enthält das W25QXX-Datenblatt.
/project enthält den allgemeinen Beispielcode für Linux- und MCU-Entwicklungsboards. Alle Projekte verwenden das Shell-Skript zum Debuggen des Treibers und die detaillierten Anweisungen finden Sie in der README.md jedes Projekts.
/misra enthält die Ergebnisse des LibDriver MISRA-Code-Scans.
Verweisen Sie auf die plattformunabhängige SPI- oder QSPI-Schnittstellenvorlage und stellen Sie Ihren Plattform-SPI- oder QSPI-Treiber fertig.
Fügen Sie das Verzeichnis /src, den Schnittstellentreiber für Ihre Plattform und Ihre eigenen Treiber zu Ihrem Projekt hinzu. Wenn Sie die Standardbeispieltreiber verwenden möchten, fügen Sie das Verzeichnis /example zu Ihrem Projekt hinzu.
Sie können auf die Beispiele im Verzeichnis /example zurückgreifen, um Ihren eigenen Treiber zu vervollständigen. Wenn Sie die Standardprogrammierbeispiele verwenden möchten, erfahren Sie hier, wie Sie diese verwenden.
#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 ;
Online-Dokumente: https://www.libdriver.com/docs/w25qxx/index.html.
Offline-Dokumente: /doc/html/index.html.
Weitere Informationen finden Sie unter CONTRIBUTING.md.
Copyright (c) 2015 – heute LibDriver. Alle Rechte vorbehalten
Die MIT-Lizenz (MIT)
Hiermit wird jeder Person, die eine Kopie erhält, kostenlos die Erlaubnis erteilt
dieser Software und der zugehörigen Dokumentationsdateien (die „Software“) zu handeln
an der Software ohne Einschränkung, einschließlich und ohne Einschränkung der Rechte
zum Verwenden, Kopieren, Modifizieren, Zusammenführen, Veröffentlichen, Verteilen, Unterlizenzieren und/oder Verkaufen
Kopien der Software zu erwerben und Personen zu gestatten, denen die Software gehört
unter folgenden Bedingungen zur Verfügung gestellt:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis sind in allen Bestandteilen enthalten
Kopien oder wesentliche Teile der Software.
DIE SOFTWARE WIRD „WIE BESEHEN“ ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE AUSDRÜCKLICHE ODER GEWÄHRLEISTUNG
STILLSCHWEIGEND, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GARANTIEN DER MARKTGÄNGIGKEIT,
EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG. IN KEINEM FALL DÜRFEN DIE
Die Autoren oder Urheberrechtsinhaber haften für Ansprüche, Schäden oder sonstiges
HAFTUNG, SEI ES AUS EINEM VERTRAG, EINER HANDLUNG AUS VERLETZLICHER HANDLUNG ODER ANDERWEITIG, ENTSTEHEND AUS:
AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN IN DER
SOFTWARE.
Bitte senden Sie eine E-Mail an [email protected].