片上系統(tǒng)和用于片上系統(tǒng)端口功能初始化的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及嵌入式技術(shù)領(lǐng)域,特別涉及一種用于片上系統(tǒng)端口功能初始化的方法、一種用于片上系統(tǒng)端口功能初始化的裝置和一種片上系統(tǒng)。
【背景技術(shù)】
[0002]當(dāng)前嵌入式領(lǐng)域發(fā)展迅速,單片機和片上系統(tǒng)的功能越來越強大。由于每一個單片機和片上系統(tǒng)都包含許多的復(fù)雜功能,因此片上系統(tǒng)的端口也逐漸趨于復(fù)雜的功能化、復(fù)用化,甚至每一個引腳對應(yīng)著三種、四種或者更多種復(fù)用功能,從而在應(yīng)用中能夠支持多種功能開發(fā)和使用,其中,端口的功能在使用中動態(tài)切換。
[0003]每當(dāng)單片機和片上系統(tǒng)開始工作時,單片機和片上系統(tǒng)的端口功能會首先被分配為系統(tǒng)硬件固化的初始化功能(例如芯片硬件邏輯默認外部引腳在單片機和片上系統(tǒng)上電復(fù)位后全部為通用輸入輸出端口的功能),然后依據(jù)系統(tǒng)內(nèi)部的驅(qū)動程序,對所有的端口一一進行軟件的功能初始配置,以滿足該系統(tǒng)在該軟件應(yīng)用場合下的端口功能,之后系統(tǒng)便可根據(jù)軟件配置的各端口功能,進行相應(yīng)的工作。該單片機和片上系統(tǒng)的端口功能初始化的方式具體為:當(dāng)單片機和片上系統(tǒng)處于從接通電源到系統(tǒng)通電穩(wěn)定這段過程中,端口受系統(tǒng)硬件邏輯的復(fù)位控制,端口功能狀態(tài)始終為系統(tǒng)硬件邏輯所設(shè)定好的唯一功能狀態(tài),該功能狀態(tài)大多數(shù)情況下不符合系統(tǒng)的具體功能應(yīng)用,因此在系統(tǒng)通電穩(wěn)定后,系統(tǒng)會通過軟件驅(qū)動程序再次進行軟件初始化以配置端口的功能狀態(tài),之后系統(tǒng)和端口才能執(zhí)行正確功能。
[0004]上述當(dāng)前單片機和片上系統(tǒng)從開始到工作,外部端口功能初始化的方式仍存在著一定的不足和局限:當(dāng)單片機和片上系統(tǒng)每次接通電源到開始工作時,都需經(jīng)過一次端口的軟件初始化過程才能滿足系統(tǒng)的應(yīng)用需要,而且該軟件初始化過程實際上為軟件驅(qū)動程序執(zhí)行的過程,需要耗費一定的處理時間,尤其在系統(tǒng)端口數(shù)量和功能繁多的情況下,或者是系統(tǒng)運行頻率較低的情況下,耗費的處理時間更長。另外,在即時性要求較高的應(yīng)用中,可能會在系統(tǒng)接通電源后的極短時間就需要外部端口的功能能夠正確運行,軟件初始化端口的方式面臨很大的局限性。同時,軟件初始化的運行和操作風(fēng)險比系統(tǒng)硬件邏輯控制初始化的風(fēng)險性大,可靠性相對較低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的旨在至少從一定程度上解決上述的技術(shù)問題之一。
[0006]為此,本發(fā)明的一個目的在于提出一種用于片上系統(tǒng)端口功能初始化的方法,該用于片上系統(tǒng)端口功能初始化的方法使得片上系統(tǒng)無需在每次接通電源到開始工作時,都經(jīng)過一次端口的軟件初始化過程,有效節(jié)省了端口功能初始化過程的時間,改善了系統(tǒng)的即時性,并且通過硬件實現(xiàn)端口功能初始化,可靠性高。
[0007]本發(fā)明的另一個目的在于提出一種用于片上系統(tǒng)端口功能初始化的裝置。
[0008]本發(fā)明的再一個目的在于提出一種片上系統(tǒng)。
[0009]為達到上述目的,本發(fā)明一方面實施例提出了一種用于片上系統(tǒng)端口功能初始化的方法,其中,所述片上系統(tǒng)具有非易失性存儲空間,所述非易失性存儲空間存儲用于初始化所述片上系統(tǒng)端口的配置信息和用于標(biāo)志所述片上系統(tǒng)啟動狀態(tài)的標(biāo)志位,所述用于片上系統(tǒng)端口功能初始化的方法包括以下步驟:所述片上系統(tǒng)通電;所述非易失性存儲空間發(fā)送所述標(biāo)志位至所述片上系統(tǒng)的啟動控制程序;所述啟動控制程序根據(jù)所述標(biāo)志位判斷所述片上系統(tǒng)是否為首次通電;如果所述片上系統(tǒng)不為首次通電,則所述非易失性存儲空間向所述片上系統(tǒng)的啟動控制程序發(fā)送標(biāo)志中斷,以使所述啟動控制程序跳過軟件初始化端口的程序段過程;以及所述配置電路讀取所述非易失性存儲空間中的配置信息對所述片上系統(tǒng)的端口進行配置。
[0010]本發(fā)明實施例提出的用于片上系統(tǒng)端口功能初始化的方法,在片上系統(tǒng)通電后,非易失性存儲空間發(fā)送標(biāo)志位至片上系統(tǒng)的啟動控制程序,進而啟動控制程序根據(jù)標(biāo)志位判斷片上系統(tǒng)是否為首次通電,如果片上系統(tǒng)不為首次通電,則非易失性存儲空間向片上系統(tǒng)的啟動控制程序發(fā)送標(biāo)志中斷,以使啟動控制程序跳過軟件初始化端口的程序段過程,最后配置電路讀取非易失性存儲空間中的配置信息對片上系統(tǒng)的端口進行配置。該用于片上系統(tǒng)端口功能初始化的方法避免了片上系統(tǒng)除首次通電外在后續(xù)端口功能初始化過程中不必要的多次冗余操作,有效節(jié)省了端口功能初始化過程的時間,改善了系統(tǒng)的即時性,提高了系統(tǒng)的啟動效率,并且通過硬件快速實現(xiàn)端口功能初始化,可靠性高,成本極低。
[0011]為達到上述目的,本發(fā)明另一方面實施例還提出了一種用于片上系統(tǒng)端口功能初始化的裝置,該用于片上系統(tǒng)端口功能初始化的裝置包括:非易失性存儲空間,所述非易失性存儲空間存儲用于初始化所述片上系統(tǒng)端口的配置信息和用于標(biāo)志所述片上系統(tǒng)啟動狀態(tài)的標(biāo)志位,當(dāng)所述片上系統(tǒng)通電時,所述非易失性存儲空間發(fā)送所述標(biāo)志位至所述片上系統(tǒng)的啟動控制程序,以及如果所述啟動控制程序判斷所述片上系統(tǒng)不為首次通電,所述非易失性存儲空間向所述啟動控制程序發(fā)送標(biāo)志中斷,以使所述啟動控制程序跳過軟件初始化端口的程序段過程;以及配置電路,所述配置電路讀取所述非易失性存儲空間中的配置信息對所述片上系統(tǒng)的端口進行配置。
[0012]本發(fā)明實施例提出的用于片上系統(tǒng)端口功能初始化的裝置,通過非易失性存儲空間存儲用于初始化片上系統(tǒng)端口的配置信息和用于標(biāo)志片上系統(tǒng)啟動狀態(tài)的標(biāo)志位,當(dāng)片上系統(tǒng)通電時,非易失性存儲空間發(fā)送標(biāo)志位至片上系統(tǒng)的啟動控制程序,以及如果啟動控制程序判斷片上系統(tǒng)不為首次通電,非易失性存儲空間向啟動控制程序發(fā)送標(biāo)志中斷,以使啟動控制程序跳過軟件初始化端口的程序段過程,以及通過配置電路讀取非易失性存儲空間中的配置信息對片上系統(tǒng)的端口進行配置。該用于片上系統(tǒng)端口功能初始化的裝置可以避免片上系統(tǒng)除首次通電外在后續(xù)端口功能初始化過程中不必要的多次冗余操作,有效節(jié)省了系統(tǒng)端口功能初始化過程的時間,改善了系統(tǒng)由于初始化過程帶來的即時性相對不足的情況,提高了系統(tǒng)的啟動效率,并且通過硬件快速實現(xiàn)端口功能初始化,可靠性高,成本極低。
[0013]為達到上述目的,本發(fā)明再一方面實施例還提出了一種片上系統(tǒng),該片上系統(tǒng)包括至少一個端口 ;啟動控制程序,當(dāng)所述片上系統(tǒng)通電時,所述啟動控制程序根據(jù)所述標(biāo)志位判斷所述片上系統(tǒng)是否為首次通電;以及所述的用于片上系統(tǒng)端口功能初始化的裝置。
[0014]本發(fā)明實施例提出的片上系統(tǒng),通過用于片上系統(tǒng)端口功能初始化的裝置避免片上系統(tǒng)除首次通電外在后續(xù)端口功能初始化過程中不必要的多次冗余操作,從而有效節(jié)省了系統(tǒng)端口功能初始化過程的時間,改善了系統(tǒng)的即時性,提高了系統(tǒng)的啟動效率,并且通過硬件快速實現(xiàn),可靠性高,端口功能初始化成本極低。
[0015]本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
【附圖說明】
[0016]本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
[0017]圖1為根據(jù)本發(fā)明實施例的用于片上系統(tǒng)端口功能初始化的方法的流程圖;
[0018]圖2為根據(jù)本發(fā)明一個具體實施例的用于片上系統(tǒng)端口功能初始化的方法的端口功能列表的不意圖;
[0019]圖3為根據(jù)本發(fā)明一個具體實施例的用于片上系統(tǒng)端口功能初始化的方法的流程圖;
[0020]圖4為根據(jù)本發(fā)明一個具體實施例的用于片上系統(tǒng)端口功能初始化的方法的配置信息存儲順序和格式列表的示意圖;
[0021]圖5為根據(jù)本發(fā)明實施例的用于片上系統(tǒng)端口功能初始化的裝置的方框示意圖;
[0022]圖6為根據(jù)本發(fā)明一個實施例的用于片上系統(tǒng)端口功能初始化的裝置的方框示意圖;以及
[0023]圖7為根據(jù)本發(fā)明實施例的片上系統(tǒng)的方框示意圖。
【具體實施方式】
[0024]下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖