อังกฤษ | 简体中文 | 繁體中文 | ภาษาญี่ปุ่น | เยอรมัน | เกาหลี
หน่วยความจำแฟลชแบบอนุกรม W25Q25XX มอบโซลูชันการจัดเก็บข้อมูลสำหรับระบบที่มีพื้นที่ พิน และพลังงานที่จำกัด ซีรีส์ 25Q มอบความยืดหยุ่นและประสิทธิภาพที่เหนือกว่าอุปกรณ์แฟลชซีเรียลทั่วไป เหมาะอย่างยิ่งสำหรับการทำแชโดว์โค้ดไปยัง RAM การรันโค้ดโดยตรงจาก Dual/Quad SPI (XIP) และการจัดเก็บเสียง ข้อความ และข้อมูล อุปกรณ์ทำงานบนแหล่งจ่ายไฟเดี่ยว 2.7V ถึง 3.6V โดยกินกระแสไฟต่ำเพียง 4mA ขณะทำงาน และ 1μA สำหรับการปิดเครื่อง อุปกรณ์ทั้งหมดนำเสนอในแพ็คเกจประหยัดพื้นที่
LibDriver W25QXX คือไดรเวอร์ฟังก์ชันเต็มรูปแบบของ W25QXX ที่เปิดตัวโดย LibDriver โดยมีฟังก์ชันการอ่านแฟลช การเขียนแฟลช ฯลฯ LibDriver เป็นไปตามมาตรฐาน MISRA
/src รวมไฟล์ต้นฉบับ LibDriver W25QXX
/interface มีเทมเพลตอิสระของแพลตฟอร์ม LibDriver W25QXX SPI หรือ QSPI
/test มีโค้ดทดสอบไดรเวอร์ LibDriver W25QXX และโค้ดนี้สามารถทดสอบฟังก์ชันที่จำเป็นของชิปได้ง่ายๆ
/example รวมโค้ดตัวอย่าง LibDriver W25QXX
/doc รวมเอกสารออฟไลน์ LibDriver W25QXX
/datasheet รวมแผ่นข้อมูล W25QXX
/project รวมโค้ดตัวอย่างบอร์ดพัฒนา Linux และ MCU ทั่วไป ทุกโปรเจ็กต์ใช้เชลล์สคริปต์เพื่อดีบักไดรเวอร์ และรายละเอียดคำแนะนำสามารถพบได้ใน README.md ของแต่ละโปรเจ็กต์
/misra รวมผลการสแกนโค้ด LibDriver MISRA
อ้างอิง /interface SPI หรือเทมเพลตอิสระของแพลตฟอร์ม QSPI และเสร็จสิ้นไดรเวอร์แพลตฟอร์ม SPI หรือ QSPI ของคุณ
เพิ่มไดเร็กทอรี /src ไดรเวอร์อินเทอร์เฟซสำหรับแพลตฟอร์มของคุณ และไดรเวอร์ของคุณเองลงในโปรเจ็กต์ของคุณ หากคุณต้องการใช้ไดรเวอร์ตัวอย่างเริ่มต้น ให้เพิ่มไดเร็กทอรี /example ให้กับโปรเจ็กต์ของคุณ
คุณสามารถดูตัวอย่างในไดเร็กทอรี /example เพื่อจัดทำไดรเวอร์ของคุณเอง หากคุณต้องการใช้ตัวอย่างการเขียนโปรแกรมเริ่มต้น ต่อไปนี้เป็นวิธีการใช้งาน
#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 ;
เอกสารออนไลน์: https://www.libdriver.com/docs/w25qxx/index.html
เอกสารออฟไลน์: /doc/html/index.html
โปรดดูที่ CONTRIBUTING.md
ลิขสิทธิ์ (c) 2015 - ปัจจุบัน LibDriver สงวนลิขสิทธิ์
ใบอนุญาต MIT (MIT)
อนุญาตให้บุคคลใด ๆ ที่ได้รับสำเนาอนุญาตโดยไม่คิดค่าใช้จ่าย
ของซอฟต์แวร์นี้และไฟล์เอกสารที่เกี่ยวข้อง ("ซอฟต์แวร์") เพื่อจัดการ
ในซอฟต์แวร์โดยไม่มีข้อจำกัด รวมถึงแต่ไม่จำกัดเพียงสิทธิ์
เพื่อใช้ คัดลอก แก้ไข รวม เผยแพร่ แจกจ่าย ให้อนุญาตช่วง และ/หรือขาย
สำเนาของซอฟต์แวร์ และเพื่ออนุญาตบุคคลที่เป็นเจ้าของซอฟต์แวร์
ได้รับการตกแต่งให้ทำเช่นนั้นได้ โดยมีเงื่อนไขดังต่อไปนี้
ประกาศเกี่ยวกับลิขสิทธิ์ข้างต้นและประกาศการอนุญาตนี้จะรวมอยู่ในทั้งหมด
สำเนาหรือส่วนสำคัญของซอฟต์แวร์
ซอฟต์แวร์นี้มีให้ "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือ
โดยนัย รวมถึงแต่ไม่จำกัดเพียงการรับประกันความสามารถในการซื้อขาย
ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะและการไม่ละเมิด ไม่ว่าในกรณีใดก็ตาม
ผู้เขียนหรือผู้ถือลิขสิทธิ์จะต้องรับผิดต่อการเรียกร้องค่าเสียหายหรืออื่น ๆ
ความรับผิดไม่ว่าในการกระทำของสัญญา การละเมิด หรืออย่างอื่นที่เกิดจาก
ออกจากหรือเกี่ยวข้องกับซอฟต์แวร์หรือการใช้งานหรือข้อตกลงอื่น ๆ ใน
ซอฟต์แวร์.
กรุณาส่งอีเมลไปที่ [email protected]