本技術(shù)涉及閃存,特別涉及一種閃存接口電路、閃存控制方法、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、在嵌入式系統(tǒng)中,閃存作為一種非易失性存儲器,存儲在內(nèi)的數(shù)據(jù)不會因為掉電而丟失,能夠多次擦除編程,通常用來存儲程序代碼,系統(tǒng)管理參數(shù)及用戶數(shù)據(jù)。而對于閃存來說,在進行擦除或編程操作的同時不能對其進行讀數(shù)據(jù)操作,因此無法使用閃存中存儲的擦除或編程應(yīng)用編程接口對閃存自身進行擦除編程操作。
2、相關(guān)技術(shù)中,在對閃存執(zhí)行擦除或編程操作之前,先將閃存中存儲的相關(guān)的閃存應(yīng)用編程接口程序代碼復制到內(nèi)存中,再由中央處理器(central?processing?unit,cpu)從內(nèi)存中讀取相關(guān)的閃存應(yīng)用編程接口程序代碼,來執(zhí)行擦除或編程指令,從而對閃存執(zhí)行擦除或編程操作。然而將相關(guān)的閃存應(yīng)用編程接口程序代碼從閃存復制到內(nèi)存中往往會耗費部分程序執(zhí)行的時間,對閃存執(zhí)行擦除或編程操作的效率不高。
技術(shù)實現(xiàn)思路
1、本技術(shù)旨在提出一種閃存接口電路、閃存控制方法、電子設(shè)備及存儲介質(zhì),能夠解決對閃存執(zhí)行擦除或編程操作的效率不高問題。
2、第一方面,本技術(shù)實施例提供了一種閃存接口電路,用于連接cpu和閃存,所述閃存包括至少一個第一閃存組和至少一個第二閃存組,所述第一閃存組存儲有擦除程序代碼和/或編程程序代碼,所述閃存接口電路包括:
3、至少一個第一控制寄存器,所述第一控制寄存器與所述第一閃存組對應(yīng),所述第一控制寄存器與所述cpu連接;
4、至少一個第二控制寄存器,所述第二控制寄存器與所述第二閃存組對應(yīng),所述第二控制寄存器與所述cpu連接;
5、時序發(fā)生單元,所述第一控制寄存器、所述第二控制寄存器、所述第一閃存組和所述第二閃存組皆與所述時序發(fā)生單元連接;
6、所述第一控制寄存器用于接收第一指令,所述第一指令用于配置所述第一控制寄存器,使得所述第一控制寄存器通過所述時序發(fā)生單元產(chǎn)生并輸出第一時序信號至所述第一閃存組,從而讀取所述第一閃存組存儲的擦除程序代碼或編程程序代碼,所述第一時序信號為用于控制讀取操作的時序信號,所述讀取操作用于讀取所述第一閃存組內(nèi)存儲的所述擦除程序代碼和/或所述編程程序代碼;
7、所述第二控制寄存器用于接收第二指令,所述第二指令基于所述擦除程序代碼或所述編程程序代碼得到,所述第二指令用于配置所述第二控制寄存器,使得所述第二控制寄存器通過所述時序發(fā)生單元產(chǎn)生并輸出第二時序信號或第三時序信號至所述第二閃存組,從而對所述第二閃存組執(zhí)行擦除操作或編程操作,所述第二時序信號為用于控制所述擦除操作的時序信號,所述第三時序信號為用于控制所述編程操作的時序信號。
8、根據(jù)本技術(shù)的一些實施例,所述時序發(fā)生單元包括:
9、狀態(tài)機,所述第一控制寄存器和所述第二控制寄存器皆與所述狀態(tài)機連接;
10、時序發(fā)生器,所述狀態(tài)機連接所述時序發(fā)生器,所述第一閃存組和所述第二閃存組皆與所述時序發(fā)生器連接。
11、根據(jù)本技術(shù)的一些實施例,還包括:
12、至少一個第一狀態(tài)寄存器,所述第一狀態(tài)寄存器與所述第一閃存組對應(yīng),cpu和所述時序發(fā)生單元皆與所述第一狀態(tài)寄存器連接。
13、根據(jù)本技術(shù)的一些實施例,還包括:
14、至少一個第二狀態(tài)寄存器,所述第二狀態(tài)寄存器與所述第二閃存組對應(yīng),cpu和所述時序發(fā)生單元皆與所述第二狀態(tài)寄存器連接。
15、第二方面,本技術(shù)實施例提供了一種閃存控制方法,應(yīng)用于如上述的閃存接口電路,所述方法包括:
16、發(fā)送第一指令至第一控制寄存器,所述第一指令用于配置所述第一控制寄存器,使得所述第一控制寄存器通過時序發(fā)生單元產(chǎn)生并輸出第一時序信號至第一閃存組,從而讀取所述第一閃存組存儲的擦除程序代碼或編程程序代碼,所述第一時序信號為用于控制讀取操作的時序信號,所述讀取操作用于讀取所述第一閃存組內(nèi)存儲的所述擦除程序代碼和/或所述編程程序代碼;
17、基于所述擦除程序代碼或所述編程程序代碼,發(fā)送第二指令至第二控制寄存器,所述第二指令用于配置所述第二控制寄存器,使得所述第二控制寄存器通過所述時序發(fā)生單元產(chǎn)生并輸出第二時序信號或第三時序信號至第二閃存組,從而對所述第二閃存組執(zhí)行擦除操作或編程操作,所述第二時序信號為用于控制所述擦除操作的時序信號,所述第三時序信號為用于控制所述編程操作的時序信號。
18、根據(jù)本技術(shù)的一些實施例,所述時序發(fā)生單元包括狀態(tài)機和時序發(fā)生器,所述第一控制寄存器和所述第二控制寄存器皆與所述狀態(tài)機連接,所述狀態(tài)機連接所述時序發(fā)生器,所述第一閃存組和所述第二閃存組皆與所述時序發(fā)生器連接;所述基于所述擦除程序代碼或所述編程程序代碼,發(fā)送第二指令至第二控制寄存器,所述第二指令用于配置所述第二控制寄存器,使得所述第二控制寄存器通過所述時序發(fā)生單元產(chǎn)生第二時序信號或第三時序信號,并輸出至第二閃存組,包括:
19、發(fā)送第二指令至所述第二控制寄存器,所述第二指令用于配置所述第二控制寄存器,使得所述第二控制寄存器控制所述狀態(tài)機進入擦除狀態(tài)或編程狀態(tài),所述狀態(tài)機在所述擦除狀態(tài)下控制所述時序發(fā)生器產(chǎn)生并輸出所述第二時序信號至所述第二閃存組,所述狀態(tài)機在所述編程狀態(tài)下控制所述時序發(fā)生器產(chǎn)生并輸出所述第三時序信號至所述第二閃存組。
20、根據(jù)本技術(shù)的一些實施例,所述閃存接口電路還包括至少一個第一狀態(tài)寄存器,所述第一狀態(tài)寄存器與所述第一閃存組對應(yīng),所述cpu和所述時序發(fā)生單元皆與所述第一狀態(tài)寄存器連接,所述方法還包括:
21、讀取所述第一狀態(tài)寄存器的第一狀態(tài)數(shù)據(jù),根據(jù)所述第一狀態(tài)數(shù)據(jù)確認所述第一閃存組的狀態(tài),所述第一狀態(tài)數(shù)據(jù)由所述時序發(fā)生單元反饋得到。
22、根據(jù)本技術(shù)的一些實施例,所述閃存接口電路還包括至少一個第二狀態(tài)寄存器,所述第二狀態(tài)寄存器與所述第二閃存組對應(yīng),所述cpu和所述時序發(fā)生單元皆與所述第二狀態(tài)寄存器連接,所述方法還包括:
23、讀取所述第二狀態(tài)寄存器的第二狀態(tài)數(shù)據(jù),根據(jù)所述第二狀態(tài)數(shù)據(jù)確認所述第二閃存組的狀態(tài),所述第二狀態(tài)數(shù)據(jù)由所述時序發(fā)生單元反饋得到。
24、第三方面,本技術(shù)實施例提供了一種電子設(shè)備,包括:
25、至少一個處理器;
26、至少一個存儲器,用于存儲至少一個程序;
27、當至少一個所述程序被至少一個所述處理器執(zhí)行時實現(xiàn)如上述的閃存控制方法。
28、第四方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),其中存儲有處理器可執(zhí)行的程序,所述處理器可執(zhí)行的程序被處理器執(zhí)行時用于實現(xiàn)如上述的閃存控制方法。
29、本技術(shù)實施例中,由于第一閃存組對應(yīng)設(shè)置有第一控制寄存器,第二閃存組對應(yīng)設(shè)置有第二控制寄存器,通過第一控制寄存器和時序發(fā)生單元,能夠直接調(diào)用第一閃存組內(nèi)存儲的擦除程序代碼或編程程序代碼,基于擦除程序代碼或編程程序代碼,通過第二控制寄存器和時序發(fā)生單元對第二閃存組進行擦除操作或編程操作。相較于傳統(tǒng)的閃存技術(shù),能夠在不復制擦除程序代碼或編程程序代碼到內(nèi)存的情況下,直接調(diào)用閃存中存儲的擦除程序代碼或編程程序代碼,對閃存自身進行擦除操作或編程操作,提高了效率。
30、本技術(shù)的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本技術(shù)的實踐了解到。