
am_is25xx_handle_t is25xx_handle = am_microport_flash_is25xx_inst_init(void);
SPI Flash比較特殊,在寫(xiě)入數(shù)據(jù)之前必須確保相應(yīng)的地址單元已經(jīng)被擦除,因此除了讀、寫(xiě)函數(shù)外,還有一個(gè)擦除函數(shù)。IS25功能接口函數(shù)如圖2所示。
圖2 IS25xx功能接口函數(shù)
1.擦除
擦除就是將數(shù)據(jù)全部重置為0xFF,即所有存儲(chǔ)單元的位設(shè)置為1。擦除操作不能直接擦除某個(gè)單一地址單元,擦除的最小單元是扇區(qū),IS25一個(gè)扇區(qū)大小為4KB,即每次只能擦除單個(gè)或多個(gè)扇區(qū)。擦除函數(shù)原型為:
int am_is25xx_erase(am_is25xx_handle_t handle, uint32_t addr, uint32_t len);
其中,handle為IS25xx的實(shí)例句柄,addr為待擦除區(qū)域的首地址,由于擦除的最小單元為扇區(qū),因此該地址必須為某個(gè)扇區(qū)的起始地址,len為擦除長(zhǎng)度,必須為扇區(qū)大小的整數(shù)倍。返回AM_OK,說(shuō)明擦除成功;
2.寫(xiě)入數(shù)據(jù)
在寫(xiě)入數(shù)據(jù)前,必須確保寫(xiě)入地址已被擦除。即需要變?yōu)?的位清0,寫(xiě)入操作無(wú)法將0變?yōu)?。從指定的起始地址開(kāi)始寫(xiě)入一段數(shù)據(jù)的函數(shù)原型為:
int am_is25xx_write(am_is25xx_handle_t handle, uint32_t addr, uint8_t *p_buf, uint32_t len);
其中,addr為待寫(xiě)入?yún)^(qū)域的首地址,只要確保addr之后的區(qū)域已經(jīng)經(jīng)過(guò)擦除,則可以從該芯片中任一存儲(chǔ)地址開(kāi)始寫(xiě)入,len為寫(xiě)入數(shù)據(jù)長(zhǎng)度。返回AM_OK,說(shuō)明寫(xiě)入數(shù)據(jù)成功;
3.讀取數(shù)據(jù)
從指定的起始地址開(kāi)始讀取一段數(shù)據(jù)的函數(shù)原型為:
int am_is25xx_read(am_is25xx_handle_t handle, uint32_t addr, uint8_t *p_buf, uint32_t len);
其中,addr為待讀取區(qū)域的首地址,可以指定該芯片中任一存儲(chǔ)地址開(kāi)始讀取,len為讀取數(shù)據(jù)長(zhǎng)度。返回AM_OK,說(shuō)明讀取數(shù)據(jù)成功。
由于讀、寫(xiě)數(shù)據(jù)需要的緩存空間較大,最好從全局?jǐn)?shù)據(jù)區(qū)域中分配緩存。如果直接從函數(shù)的運(yùn)行棧中分配較大字節(jié)空間,則完全有可能導(dǎo)致棧溢出,進(jìn)而系統(tǒng)崩潰。
AMetal平臺(tái)提供了較全面的功能接口函數(shù),所有接口函數(shù)均脫離底層,不與具體硬件綁定,切換MCU可快速移植。AMetal助你快速實(shí)現(xiàn)SPI Flash功能,將專(zhuān)注力投入到核心應(yīng)用部分,讓具有競(jìng)爭(zhēng)力的產(chǎn)品更快走向市場(chǎng)!
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電源網(wǎng)。本網(wǎng)站原創(chuàng)內(nèi)容,如需轉(zhuǎn)載,請(qǐng)注明出處;本網(wǎng)站轉(zhuǎn)載的內(nèi)容(文章、圖片、視頻)等資料版權(quán)歸原作者所有。如我們采用了您不宜公開(kāi)的文章或圖片,未能及時(shí)和您確認(rèn),避免給雙方造成不必要的經(jīng)濟(jì)損失,請(qǐng)電郵聯(lián)系我們,以便迅速采取適當(dāng)處理措施;歡迎投稿,郵箱∶editor@netbroad.com。
如何使用帶有I2C和SPI解碼的示波器排查系統(tǒng)問(wèn)題 | 24-05-14 16:29 |
---|---|
地質(zhì)監(jiān)測(cè)行業(yè)LoRaWAN無(wú)線通訊方案 | 20-12-26 07:47 |
汽車(chē)尾燈的新寵—E522.49 | 20-12-15 11:20 |
邁入新基建,充電樁為新能源汽車(chē)賦能 | 20-09-14 17:28 |
如何利用EN腳設(shè)計(jì)出好電源? | 20-08-26 19:17 |
微信關(guān)注 | ||
![]() |
技術(shù)專(zhuān)題 | 更多>> | |
![]() |
技術(shù)專(zhuān)題之EMC |
![]() |
技術(shù)專(zhuān)題之PCB |