上一節,學習了NandFlash的按頁讀的操作,下面是實現NandFlash的按頁寫。首先還是查看NandFlash芯片K9F2G08U0A的時序圖
根據I/O pin角的信號信息,知道要實現NandFlash的寫操作需要的步驟如下:
最后實現按頁寫的函數:
int NF_WritePage(unsigned long addr, unsigned char* buff)
{
int ret;
int i;
//選中flash芯片
select_chip();
//清除RnB
clear_RnB();
//發送命令0x80
send_cmd(0x80);
//發送列地址
send_addr(0x00);
send_addr(0x00);
//發送行地址
send_addr(addr&0xff);
send_addr((addr>>8)&0xff);
send_addr((addr>>16)&0xff);
//寫入數據
for(i=0;i<2048;i++)
{
NFDATA = buff[i];
}
//發送命令0x10
send_cmd(0x10);
//等待RnB
wait_RnB();
//發送命令0x70
send_cmd(0x70);
//讀取寫入結果
ret = NFDATA;
//取消選中flash芯片
deselect_chip();
return ret;
}
編譯make一下,沒有錯誤的情況下,還不能燒寫到開發板,因為不管是norflash或者是NandFlash,在進行寫之前必須進行擦除。接下來就是實現擦除函數:
void NF_Erase(unsigned long addr)
該函數有一個參數,就是頁地址。
接下來看NandFlash芯片K9F2G08U0A擦除的信息:
注意的是,在擦除的時候,不會按照頁擦除的,而是把該頁所在的整塊全部擦除。
根據上面擦除的時序圖,擦除函數的實現步驟:
void NF_Erase(unsigned long addr)
{
int ret;
//選中flash芯片
select_chip();
//清除RnB
clear_RnB();
//發送命令0x60
send_cmd(0x60);
//發送行地址
send_addr(addr&0xff);
send_addr((addr>>8)&0xff);
send_addr((addr>>16)&0xff);
//發送命令D0
send_cmd(0xD0);
//等待RnB
wait_RnB();
//發送命令0x70
send_cmd(0x70);
//讀取擦除結果
ret = NFDATA;
//取消選中flash芯片
deselect_chip();
return ret;
}
最后在main.c里面添加測試代碼:
上面的測試代碼中,先定義一個頁大小的char buffer。然后格式化一個塊大小的空間。接著將123寫入NandFlash,接著通過NF_PageRead函數把剛才寫入的值讀出。最后通過點燈判斷讀出的是不是剛才寫入的數字。來驗證對NandFlash的寫操作是否成功:成功就是沒加NandFlash的操作代碼,燒寫到開發板,燈亮。加上上面的代碼后燒寫到開發板,燈不亮。
上一篇:9.NandFlash的驅動_讀操作2440
下一篇:8.NandFlash原理分析
推薦閱讀最新更新時間:2025-04-24 21:44


設計資源 培訓 開發板 精華推薦
- S12ZVL和NCx3320 NFC門把手解決方案
- LTC2633-LZ10 雙路 10 位數模轉換器的典型應用
- ZXCT1086EV1,基于 ZXCT1086 60V 高端電流監視器的評估板
- DC1016A-B,LT6558 演示板,5V 三路高速視頻放大器
- 使用 Infineon Technologies AG 的 OMR9806SF 的參考設計
- LTC1728ES5-2.5 單 5V 電源監視器的典型應用
- ADR3512 微功率、高精度 1.2V 基準電壓源的典型應用電路,用于基本基準電壓源連接
- 使用 ON Semiconductor 的 KA7824AE 的參考設計
- AM6TW-2424SZ 24V 6 瓦雙路輸出 DC-DC 轉換器的典型應用
- LTM8064IY 58Vin、5Vout 降壓型 CVCC 轉換器的典型應用電路
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創新升級
- 工業市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現100%美國生產
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產品
- 強化中國市場戰略布局,德州儀器正靈活應對全球關稅挑戰
- Molex莫仕通過本地合作和創新加強支持中國汽車行業
- 貿澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實現車載充電器小型化!
- 用上車規級UFS 4.0,讓出行變得高效且可靠
- 車載測試技術解析:聚焦高帶寬、多通道同步采集與協議分析