本發(fā)明涉及gnss,尤其涉及一種gnss芯片合封flash異常保護(hù)方法及文件系統(tǒng)。
背景技術(shù):
1、現(xiàn)有技術(shù)中,gnss芯片合封flash,將flash作為存儲(chǔ)介質(zhì),存儲(chǔ)固件及運(yùn)行過(guò)程中需要保存的參數(shù)。因?yàn)閒lash的特性,?gnss芯片內(nèi)合封的flash,在運(yùn)行過(guò)程中存儲(chǔ)數(shù)據(jù)時(shí),如果外部電源突然斷開(kāi),正在擦除或?qū)懭氲膮^(qū)域會(huì)進(jìn)入三態(tài)特性(多次讀取出來(lái)該區(qū)域的數(shù)據(jù)會(huì)不一樣且不是保存的數(shù)據(jù))。因?yàn)檐浖鲜鞘褂梦募到y(tǒng)以文件的方式進(jìn)行數(shù)據(jù)的讀取與寫入,所以如果發(fā)生三態(tài),文件的文件信息(地址、長(zhǎng)度、文件名等)就會(huì)變化,倒至下次上電有寫操作時(shí),因?yàn)榈刂纷兓?,使用寫falsh操作誤操作了flash的程序固件區(qū),從后倒至代碼無(wú)法運(yùn)行,產(chǎn)生死機(jī),gnss芯片無(wú)輸出。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明實(shí)施例所要解決的技術(shù)問(wèn)題在于,提供一種gnss芯片合封flash異常保護(hù)方法及文件系統(tǒng),以防止在flash發(fā)生三態(tài)后出現(xiàn)死機(jī)情況。
2、為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提出了一種gnss芯片合封flash異常保護(hù)方法,包括:
3、文件寫入步驟:讀取flash中是否存在待寫入文件,其中,待寫入文件包括需要寫入文件數(shù)據(jù)和文件頭信息,若否,則向待寫入文件的文件頭信息中增加一個(gè)對(duì)應(yīng)的crc32字段,再將待寫入文件寫入flash中;則讀取flash中存在的文件,對(duì)所讀取的文件的文件頭信息除crc32字段外進(jìn)行crc32校驗(yàn),校驗(yàn)若通過(guò),則根據(jù)需要寫入文件數(shù)據(jù)更新所讀取的文件的文件頭信息,并根據(jù)crc32校驗(yàn)的校驗(yàn)值更新所讀取的文件的文件頭信息中對(duì)應(yīng)的crc32字段,最后將更新的文件頭信息與需要寫入文件數(shù)據(jù)寫入flash;校驗(yàn)若不通過(guò),則直接返回錯(cuò)誤;
4、文件讀取步驟:讀取flash中的目標(biāo)文件,其中,在讀取時(shí),讀取若干次,若若干次的結(jié)果都一樣,則返回目標(biāo)文件的數(shù)據(jù)。
5、相應(yīng)地,本發(fā)明實(shí)施例還提供了一種gnss芯片合封flash異常保護(hù)的文件系統(tǒng),
6、所述系統(tǒng)在文件寫入時(shí),讀取flash的接口,判斷flash中是否存在待寫入文件,其中,待寫入文件包括需要寫入文件數(shù)據(jù)和文件頭信息,若否,所述系統(tǒng)則向待寫入文件的文件頭信息中增加一個(gè)對(duì)應(yīng)的crc32字段,再將待寫入文件寫入flash中;則讀取flash中存在的文件,對(duì)所讀取的文件的文件頭信息除crc32字段外進(jìn)行crc32校驗(yàn),校驗(yàn)若通過(guò),則根據(jù)需要寫入文件數(shù)據(jù)更新所讀取的文件的文件頭信息,并根據(jù)crc32校驗(yàn)的校驗(yàn)值更新所讀取的文件的文件頭信息中對(duì)應(yīng)的crc32字段,最后將更新的文件頭信息與需要寫入文件數(shù)據(jù)寫入flash;校驗(yàn)若不通過(guò),則直接返回錯(cuò)誤;
7、所述系統(tǒng)在文件讀取時(shí),讀取flash的接口,在讀取時(shí),讀取若干次,若若干次的結(jié)果都一樣,則返回目標(biāo)文件的數(shù)據(jù)。
8、本發(fā)明的有益效果為:本發(fā)明可以在flash發(fā)生三態(tài)后,不產(chǎn)生誤操作,不會(huì)操作到flash的固件區(qū),從而不會(huì)使gnss芯片無(wú)法運(yùn)行,不輸出定位結(jié)果。
1.一種gnss芯片合封flash異常保護(hù)方法,其特征在于,包括:
2.如權(quán)利要求1所述的gnss芯片合封flash異常保護(hù)方法,其特征在于,文件寫入步驟之后還包括地址判斷步驟:
3.一種gnss芯片合封flash異常保護(hù)的文件系統(tǒng),其特征在于,所述系統(tǒng)在文件寫入時(shí),讀取flash的接口,判斷flash中是否存在待寫入文件,其中,待寫入文件包括需要寫入文件數(shù)據(jù)和文件頭信息,若否,所述系統(tǒng)則向待寫入文件的文件頭信息中增加一個(gè)對(duì)應(yīng)的crc32字段,再將待寫入文件寫入flash中;則讀取flash中存在的文件,對(duì)所讀取的文件的文件頭信息除crc32字段外進(jìn)行crc32校驗(yàn),校驗(yàn)若通過(guò),則根據(jù)需要寫入文件數(shù)據(jù)更新所讀取的文件的文件頭信息,并根據(jù)crc32校驗(yàn)的校驗(yàn)值更新所讀取的文件的文件頭信息中對(duì)應(yīng)的crc32字段,最后將更新的文件頭信息與需要寫入文件數(shù)據(jù)寫入flash;校驗(yàn)若不通過(guò),則直接返回錯(cuò)誤;
4.如權(quán)利要求3所述的gnss芯片合封flash異常保護(hù)的文件系統(tǒng),其特征在于,所述系統(tǒng)在文件寫入時(shí),判斷待寫入的flash地址是否為固件區(qū)域,若是,則直接返回錯(cuò)誤,不再寫入。