一種eeprom數(shù)據(jù)寫入的方法
【專利摘要】本發(fā)明提供了一種EEPROM數(shù)據(jù)寫入的方法,包括:步驟1,寫入的起始地址為EEPROM的有效地址,且待寫入的數(shù)據(jù)總長度不超過從所述的起始地址到EEPROM的最高地址的有效長度時(shí),則執(zhí)行步驟2,否則退出;步驟2,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPROM;步驟3,EEPROM將接收到的待寫入數(shù)據(jù)寫入EEPROM。采用本發(fā)明方法后,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPROM,所述EEPROM依次將接收到的待寫入數(shù)據(jù)寫入EEPROM,避免了EEPROM數(shù)據(jù)寫入時(shí)的自動翻頁現(xiàn)象,更由于將待寫入數(shù)據(jù)分批傳送,每傳送完一批,EEPROM寫入一批,提高了效率,避免了每傳送完一個(gè)byte后延時(shí)一定的時(shí)間讓EEPROM寫入硬件效率低的問題。
【專利說明】—種EEPROM數(shù)據(jù)寫入的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及泛洪攻擊的【技術(shù)領(lǐng)域】,尤其涉及一種EEPROM數(shù)據(jù)寫入的方法。
【背景技術(shù)】
[0002]EEPROM(帶電可擦寫可編程只讀存儲器)是用戶可更改的只讀存儲器,其可通過高于普通電壓的作用來擦除和重編程,因此EEPROM應(yīng)用廣泛。
[0003]EEPROM有一個(gè)特點(diǎn),寫入數(shù)據(jù)會出現(xiàn)頁翻轉(zhuǎn)現(xiàn)象。例如一個(gè)AT24C02BN EEPROM芯片存儲空間是2kbit,也就是256byte,AT24分為32頁,每頁的長度為8byte,如果從地址0x5 開始寫入 data[8] = {0,1,2,3,4,5,6,7},完成之后第一頁內(nèi)容為:0x0 ?0x7:3、4、5、6、7、0、1、2。EEPROM在調(diào)用I2C寫入接口后,每傳輸完一個(gè)byte,當(dāng)前頁地址會自加1,傳輸完當(dāng)前頁最后一個(gè)byte后地址重回到當(dāng)前頁頁首。無論傳輸多少個(gè)byte,只要是寫入時(shí)到達(dá)當(dāng)前頁最后一個(gè)byte,地址都會自動回到當(dāng)前頁頁首,其它地址則自動加I。這就是EEPROM自動頁寫自動翻轉(zhuǎn)。基于EEPROM的頁寫翻轉(zhuǎn)現(xiàn)象,如果通過I2C批量傳輸數(shù)據(jù)到EEPROM寫入,將無法逐頁寫入。另外,EEPROM收到I2C傳輸過來的數(shù)據(jù)后,硬件需要一定的時(shí)間寫入。所以,如果每次調(diào)用I2C只傳輸一個(gè)byte的話,一方面重復(fù)調(diào)用會增加I2C占用率和時(shí)間,另一方面每輸完一個(gè)byte后延時(shí)一定的時(shí)間讓EEPROM寫入硬件又大大降低了執(zhí)行效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明需解決的技術(shù)問題是克服上述的不足,提供一種高效率的EEPROM數(shù)據(jù)寫入的方法,其特征在于,包括:
[0005]步驟1,在寫入的起始地址為EEPROM的有效地址,且待寫入的數(shù)據(jù)總長度不超過從所述的起始地址到EEPROM的最高地址的有效長度時(shí),執(zhí)行步驟2 ;
[0006]步驟2,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPROM ;
[0007]步驟3,EEPROM依次將接收到的待寫入數(shù)據(jù)寫入EEPR0M。
[0008]進(jìn)一步的,所述待寫入數(shù)據(jù)預(yù)處理的步驟具體包括:
[0009]步驟A,若待寫入數(shù)據(jù)總長度小于等于所述起始地址到EEPROM當(dāng)前頁最高地址的長度,則將待寫入數(shù)據(jù)一次性傳送到EEPR0M,否則執(zhí)行步驟B ;
[0010]步驟B,若待寫入數(shù)據(jù)總長度大于所述起始地址到EEPROM當(dāng)前頁最高地址的長度,則向EEPROM傳送所述起始地址到EEPROM當(dāng)前頁最高地址的長度的數(shù)據(jù),更新所述起始地址和所述待寫入數(shù)據(jù)總長度,執(zhí)行步驟A。
[0011]進(jìn)一步的,所述待寫入數(shù)據(jù)向EEPROM傳送采用I2C傳輸。
[0012]進(jìn)一步的,所述起始地址為EEPROM的頁首地址。
[0013]進(jìn)一步的,所述EEPROM 為 AT24C02BN。
[0014]采用本發(fā)明方法后,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPR0M,所述EEPROM依次將接收到的待寫入數(shù)據(jù)寫入EEPR0M,避免了 EEPROM數(shù)據(jù)寫入時(shí)的自動翻頁現(xiàn)象,更由于將待寫入數(shù)據(jù)分批傳送,每傳送完一批,EEPROM寫入一批,提高了效率,避免了每傳送完一個(gè)byte后延時(shí)一定的時(shí)間讓EEPROM寫入硬件效率低的問題。
【專利附圖】
【附圖說明】
[0015]圖1是本發(fā)明提供的EEPROM數(shù)據(jù)寫入的方法流程圖;
[0016]圖2是本發(fā)明提供的待寫入數(shù)據(jù)預(yù)處理的流程圖。
【具體實(shí)施方式】
[0017]為了使本領(lǐng)域相關(guān)技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施方式的附圖,對本發(fā)明實(shí)施方式中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施方式僅僅是本發(fā)明一部分實(shí)施方式,而不是全部的實(shí)施方式。
[0018]下面結(jié)合附圖和實(shí)施方式對本發(fā)明作進(jìn)一步說明。
[0019]參閱圖1,為本發(fā)明提供的一種實(shí)施方式的EEPROM數(shù)據(jù)寫入的方法,本方法包括:
[0020]步驟S100,在寫入的起始地址為EEPROM的有效地址,且待寫入的數(shù)據(jù)總長度不超過從的起始地址到EEPROM的最高地址的有效長度時(shí),執(zhí)行步驟S200 ;
[0021]本實(shí)施例中,起始地址為頁首地址。
[0022]一個(gè) AT24C02BN EEPROM 芯片存儲空間是 2kbit,也就是 256byte,AT24 分為 32 頁,0x00?Oxff為EEPROM的有效地址,當(dāng)寫入的起始地址為0x00,其可寫入的待寫入的數(shù)據(jù)總長度最大為256byte。
[0023]步驟200,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPROM ;
[0024]將待寫入EEPROM的待寫入數(shù)據(jù)預(yù)處理分批傳送,每傳送完一批等待EEPROM寫入。
[0025]步驟S300,EEPROM依次將接收到的待寫入數(shù)據(jù)寫入EEPR0M。
[0026]EEPROM每接收一批待寫入數(shù)據(jù),就寫入一批。
[0027]在優(yōu)選實(shí)施方式中,所述待寫入數(shù)據(jù)預(yù)處理包括:
[0028]步驟S201,判斷待寫入數(shù)據(jù)總長度是否小于等于所述起始地址到EEPROM當(dāng)前頁最高地址的長度;
[0029]步驟S202,若待寫入數(shù)據(jù)總長度小于等于所述起始地址到EEPROM當(dāng)前頁最高地址的長度,則將待寫入數(shù)據(jù)一次性傳送到EEPR0M,否則執(zhí)行步驟S203 ;
[0030]步驟S203,向EEPROM傳送所述起始地址到EEPROM當(dāng)前頁最高地址的長度的數(shù)據(jù),更新所述起始地址和所述待寫入數(shù)據(jù)總長度,執(zhí)行步驟S201。
[0031]通過步驟S201?S203,不斷更新所述起始地址和所述待寫入數(shù)據(jù)總長度,直至在EEPROM 一頁上就將待寫入數(shù)據(jù)寫入,然后傳送給EEPR0M,寫入EEPR0M。
[0032]本實(shí)施例中,起始地址為頁首地址,所以每次向EEPROM傳送的數(shù)據(jù)長度就是該頁的長度。
[0033]上述步驟中,將待寫入數(shù)據(jù)傳一批,寫入一批。傳入的這批數(shù)據(jù)剛好能夠從寫入的起始地址到當(dāng)前頁最后一個(gè)地址的長度,避免了寫一批數(shù)據(jù)時(shí)產(chǎn)生頁翻轉(zhuǎn)的現(xiàn)象,也避免了傳一個(gè)字節(jié)寫一個(gè)字節(jié)效率低的問題。
[0034]以上僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【權(quán)利要求】
1.一種EEPROM數(shù)據(jù)寫入的方法,其特征在于,包括: 步驟1,在寫入的起始地址為EEPROM的有效地址,且待寫入的數(shù)據(jù)總長度不超過從所述的起始地址到EEPROM的最高地址的有效長度時(shí),執(zhí)行步驟2 ; 步驟2,待寫入數(shù)據(jù)預(yù)處理后分批傳送到EEPROM ; 步驟3,EEPROM將接收到的待寫入數(shù)據(jù)寫入EEPR0M。
2.根據(jù)權(quán)利要求1所述的EEPROM數(shù)據(jù)寫入的方法,其特征在于,所述待寫入數(shù)據(jù)預(yù)處理的步驟具體包括: 步驟A,若待寫入數(shù)據(jù)總長度小于等于所述起始地址到EEPROM當(dāng)前頁最高地址的長度,則將待寫入數(shù)據(jù)一次性傳送到EEPR0M,否則執(zhí)行步驟B ; 步驟B,若待寫入數(shù)據(jù)總長度大于所述起始地址到EEPROM當(dāng)前頁最高地址的長度,則向EEPROM傳送所述起始地址到EEPROM當(dāng)前頁最高地址的長度的數(shù)據(jù),更新所述起始地址和所述待寫入數(shù)據(jù)總長度,執(zhí)行步驟A。
3.根據(jù)權(quán)利要求1所述的EEPROM數(shù)據(jù)寫入的方法,其特征在于,所述待寫入數(shù)據(jù)向EEPROM傳送采用I2C傳輸。
4.根據(jù)權(quán)利要求1所述的EEPROM數(shù)據(jù)寫入的方法,其特征在于,所述起始地址為EEPROM的頁首地址。
5.根據(jù)權(quán)利要求1所述的EEPROM數(shù)據(jù)寫入的方法,其特征在于,所述EEPROM為AT24C02BN。
【文檔編號】G06F3/06GK104375783SQ201410619209
【公開日】2015年2月25日 申請日期:2014年11月5日 優(yōu)先權(quán)日:2014年11月5日
【發(fā)明者】陸丹宏 申請人:上海斐訊數(shù)據(jù)通信技術(shù)有限公司