本公開(kāi)內(nèi)容一般而言涉及用于在微處理器中選擇引導(dǎo)程序的方法,以及實(shí)現(xiàn)此類方法的微處理器。
背景技術(shù):
1、許多電子電路(諸如微控制器,包括片上系統(tǒng)(soc))包括一種使得能夠選擇這些電路中實(shí)現(xiàn)的應(yīng)用所使用的資源和存儲(chǔ)器的安全性級(jí)別的體系架構(gòu)。
2、但是,某些體系架構(gòu)基本上不使得能夠在多個(gè)安全性級(jí)別之間進(jìn)行選擇。
技術(shù)實(shí)現(xiàn)思路
1、需要提供用于使得能夠在具有基本上不支持在多個(gè)安全性級(jí)別之間進(jìn)行選擇的體系架構(gòu)的電路中在多個(gè)安全性級(jí)別之間進(jìn)行選擇的方法。
2、實(shí)施例克服了已知方法的全部或部分缺點(diǎn)。
3、實(shí)施例提供了一種用于選擇引導(dǎo)程序的方法,每個(gè)引導(dǎo)程序包含在微處理器的兩個(gè)單獨(dú)的存儲(chǔ)存儲(chǔ)器中,其中在所述微處理器重置期間首先被讀取的選項(xiàng)寄存器決定(condition)對(duì)所述引導(dǎo)程序之一的選擇。
4、在實(shí)施例中,第一引導(dǎo)程序包含在用戶存儲(chǔ)器中,并且第二引導(dǎo)程序包含在系統(tǒng)存儲(chǔ)器中。
5、在實(shí)施例中,在系統(tǒng)初始化時(shí),當(dāng)所述選項(xiàng)寄存器具有第一值時(shí),選擇第一引導(dǎo)程序。
6、在實(shí)施例中,在系統(tǒng)初始化時(shí),當(dāng)所述選項(xiàng)寄存器具有另一個(gè)值時(shí),選擇第二引導(dǎo)程序。
7、在實(shí)施例中,當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序被配置為修改代表包含第二引導(dǎo)程序的系統(tǒng)存儲(chǔ)器的被禁止訪問(wèn)區(qū)域的尺寸的第二寄存器的值,使得所述第二引導(dǎo)程序不可訪問(wèn)。
8、在實(shí)施例中,當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序被配置為修改代表包含第二引導(dǎo)程序和第三引導(dǎo)程序的系統(tǒng)存儲(chǔ)器的被禁止訪問(wèn)區(qū)域的尺寸的第二寄存器的值,使得所述第二引導(dǎo)程序和第三引導(dǎo)程序不可訪問(wèn)。
9、在實(shí)施例中,第二寄存器的值只能遞增。
10、在實(shí)施例中,第二寄存器的所述值的修改是增加多于一位。
11、在實(shí)施例中,在選擇第一引導(dǎo)程序之后,可從用戶存儲(chǔ)器中執(zhí)行至少一個(gè)應(yīng)用。
12、在實(shí)施例中,當(dāng)選擇第一引導(dǎo)程序時(shí),該第一引導(dǎo)程序?qū)崿F(xiàn)微處理器的配置,使得它處于安全模式,當(dāng)非安全事務(wù)要求訪問(wèn)微處理器的安全資源時(shí),返回錯(cuò)誤。
13、在實(shí)施例中,當(dāng)選擇第一引導(dǎo)程序時(shí),該第一引導(dǎo)程序?qū)崿F(xiàn)微處理器的配置,使得它處于安全模式,當(dāng)安全事務(wù)要求訪問(wèn)微處理器的非安全資源時(shí),返回錯(cuò)誤。
14、在實(shí)施例中,當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序使得能夠?qū)崿F(xiàn)被授權(quán)訪問(wèn)與包含第二引導(dǎo)程序和第三引導(dǎo)程序的第二寄存器的值對(duì)應(yīng)的存儲(chǔ)器的一個(gè)或多個(gè)區(qū)域的調(diào)試功能。
15、在實(shí)施例中,用戶存儲(chǔ)器是非易失性存儲(chǔ)器或ram型存儲(chǔ)器。
16、在實(shí)施例中,在使用第一引導(dǎo)程序之后可從用戶存儲(chǔ)器執(zhí)行多個(gè)應(yīng)用,并且這些應(yīng)用中的每一個(gè)都處于相同的安全模式。
17、實(shí)施例提供了一種微處理器,包括系統(tǒng)存儲(chǔ)器和用戶存儲(chǔ)器,并且被配置為實(shí)現(xiàn)如上所述的方法。
1.一種從多個(gè)引導(dǎo)程序中選擇引導(dǎo)程序的方法,每個(gè)引導(dǎo)程序包含在微處理器的兩個(gè)單獨(dú)的存儲(chǔ)存儲(chǔ)器中,其中在微處理器重置期間首先被讀取的選項(xiàng)寄存器決定對(duì)所述多個(gè)引導(dǎo)程序之一的選擇。
2.如權(quán)利要求1所述的方法,其中第一引導(dǎo)程序包含在用戶存儲(chǔ)器中并且第二引導(dǎo)程序包含在系統(tǒng)存儲(chǔ)器中。
3.如權(quán)利要求1所述的方法,其中在包括微處理器的系統(tǒng)的初始化時(shí),當(dāng)選項(xiàng)寄存器具有第一值時(shí),選擇第一引導(dǎo)程序。
4.如權(quán)利要求3所述的方法,其中在系統(tǒng)初始化時(shí),當(dāng)選項(xiàng)寄存器具有除第一值以外的值時(shí),選擇第二引導(dǎo)程序。
5.如權(quán)利要求3所述的方法,其中當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序被配置為修改代表包含第二引導(dǎo)程序的系統(tǒng)存儲(chǔ)器的被禁止訪問(wèn)區(qū)域的尺寸的第二寄存器的值,使得第二引導(dǎo)程序不可訪問(wèn)。
6.如權(quán)利要求5的方法,其中當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序被配置為修改代表包含第二引導(dǎo)程序和第三引導(dǎo)程序的系統(tǒng)存儲(chǔ)器的被禁止訪問(wèn)區(qū)域的尺寸的第二寄存器的值,使得第二引導(dǎo)程序和第三引導(dǎo)程序不可訪問(wèn)。
7.如權(quán)利要求5所述的方法,其中第二寄存器的值只能遞增。
8.如權(quán)利要求6所述的方法,其中修改第二寄存器的值包括增加多于一位。
9.如權(quán)利要求2所述的方法,其中在選擇第一引導(dǎo)程序之后,至少一個(gè)應(yīng)用可從用戶存儲(chǔ)器中執(zhí)行。
10.如權(quán)利要求2所述的方法,其中當(dāng)選擇第一引導(dǎo)程序時(shí),該第一引導(dǎo)程序?qū)崿F(xiàn)微處理器的配置,使得它處于安全模式,當(dāng)非安全事務(wù)要求訪問(wèn)微處理器的安全資源時(shí),返回錯(cuò)誤。
11.如權(quán)利要求2所述的方法,其中當(dāng)選擇第一引導(dǎo)程序時(shí),該第一引導(dǎo)程序?qū)崿F(xiàn)微處理器的配置,使得它處于安全模式,當(dāng)安全事務(wù)要求訪問(wèn)微處理器的非安全資源時(shí),返回錯(cuò)誤。
12.如權(quán)利要求6所述的方法,其中當(dāng)選擇第一引導(dǎo)程序時(shí),第一引導(dǎo)程序使得能夠?qū)崿F(xiàn)被授權(quán)訪問(wèn)與包含第二引導(dǎo)程序和第三引導(dǎo)程序的第二寄存器的值對(duì)應(yīng)的系統(tǒng)存儲(chǔ)器的一個(gè)或多個(gè)區(qū)域的調(diào)試功能。
13.如權(quán)利要求2所述的方法,其中用戶存儲(chǔ)器是非易失性存儲(chǔ)器或ram型存儲(chǔ)器。
14.如權(quán)利要求9所述的方法,其中在使用第一引導(dǎo)程序之后可從用戶存儲(chǔ)器執(zhí)行多個(gè)應(yīng)用,并且這些應(yīng)用中的每個(gè)應(yīng)用都處于相同的安全模式。
15.如權(quán)利要求1所述的方法,其中所述選項(xiàng)寄存器在所述微處理器外部。
16.如權(quán)利要求15所述的方法,其中所述選項(xiàng)寄存器在耦合到所述微處理器的計(jì)算機(jī)中。
17.一種微處理器,包括系統(tǒng)存儲(chǔ)器和用戶存儲(chǔ)器,其中微處理器被配置為實(shí)現(xiàn)如權(quán)利要求1所述的方法。