欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

集成電路無線電的制作方法

文檔序號:6534420閱讀:277來源:國知局
集成電路無線電的制作方法
【專利摘要】一種集成電路無線電通訊裝置(1)包含處理器(7)、存儲器(13)以及無線電通訊邏輯(17)。存儲器(13)具有儲存于固件內(nèi)存地址的固件模塊(23),固件模塊(23)包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯(17)的多個(gè)指令。處理器(7)配置成接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(i)調(diào)用固件模塊(23)里的管理程序調(diào)用處理器以及(ii)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令。軟件應(yīng)用(27)被載入至該裝置(1)的存儲器(13),并被儲存在預(yù)定的應(yīng)用內(nèi)存地址。其配置成通過發(fā)出一個(gè)管理程序調(diào)用指令而從固件模塊(23)中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼對應(yīng)于被調(diào)用的功能函數(shù)。
【專利說明】集成電路無線電

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種集成電路無線電(rad1)通訊裝置以及配置這些裝置的方法。

【背景技術(shù)】
[0002]傳統(tǒng)的集成電路通訊裝置通常將處理器、存儲器以及無線電通訊邏輯集成在一個(gè)硅芯片上。天線可以被制造在該硅芯片上或是由外部連接。該裝置將具有用于連接至電源的數(shù)個(gè)管腳、時(shí)鐘源以及任何外圍設(shè)備,例如傳感器、計(jì)時(shí)器、數(shù)字模擬轉(zhuǎn)換器以及輸出裝置。該處理器提供與該無線電通訊邏輯的接口用以監(jiān)督無線電訊息的傳送和/或接收。
[0003]這樣的無線電通訊裝置或芯片可以被廣泛使用在無線產(chǎn)品上,例如無線鼠標(biāo)及鍵盤、游戲機(jī)的控制器、自行車速度表、遙控器、車庫開啟器、無線擴(kuò)音器等。
[0004]在此裝置上的該處理器可以直接地從非易失性存儲器上運(yùn)行軟件,以根據(jù)一個(gè)預(yù)定無線協(xié)議(rad1 protocol),例如藍(lán)牙(Bluetooth)或無線無線電識別技術(shù)(ZigBee)協(xié)議,而控制該無線電通訊邏輯。
[0005]引入無線電通訊晶片的完整產(chǎn)品的制造過程通常涉及該無線電芯片的制造者,其提供該芯片給產(chǎn)品制造者,該產(chǎn)品制造者再將該芯片集成至該產(chǎn)品的其余部分中,完整產(chǎn)品例如為無線鼠標(biāo)。該芯片制造者也可提供開發(fā)套件和文件,讓該產(chǎn)品制造者可以對用于該無線電裝置的定制應(yīng)用軟件進(jìn)行開發(fā)、安裝及調(diào)試,該開發(fā)套件包含多種工具,例如交互編譯器、載入器及調(diào)試器。例如,該定制應(yīng)用軟件可以包括數(shù)個(gè)例程,用于接收來自于無線鼠標(biāo)的移動傳感器的輸入以及根據(jù)所需的協(xié)議傳送合適的無線電訊息。
[0006]開發(fā)套件可額外包含用于軟件庫和/或操作系統(tǒng)的源代碼,該源代碼由該芯片制造者寫入。接著該產(chǎn)品制造者可用其自己定制的軟件應(yīng)用編譯并鏈接所提供的源代碼,用以創(chuàng)造單一對象文件用于載入每一芯片的存儲器里的一個(gè)預(yù)定地址。
[0007]該庫或操作系統(tǒng)可以包含用于執(zhí)行一個(gè)特定無線協(xié)議的數(shù)個(gè)指令。其可包括其他功能函數(shù),例如存儲器管理、處理器調(diào)度、內(nèi)部處理器通訊等等。該應(yīng)用開發(fā)者可以從應(yīng)用代碼調(diào)用這些被提供的功能函數(shù),而不需從頭開始將其寫入。故可使應(yīng)用軟件的開發(fā)更加簡單和快速。它也可以緩解不同型號的無線電芯片之間的可移植性。
[0008]然而,本發(fā)明人已經(jīng)認(rèn)識到,這樣的傳統(tǒng)方法是可以改進(jìn)的。


【發(fā)明內(nèi)容】

[0009]根據(jù)本發(fā)明的一個(gè)方面,提供一種配置集成電路無線電通訊裝置的方法,其中:
[0010]該裝置包括處理器、存儲器以及無線電通訊邏輯;
[0011]該存儲器具有固件模塊,固件模塊被儲存于固件內(nèi)存地址,該固件模塊包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯的多個(gè)指令;以及
[0012]該處理器被配置用以接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有一關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令,該方法包括載入一個(gè)軟件應(yīng)用至該裝置的存儲器,使該應(yīng)用被儲存在預(yù)定的應(yīng)用內(nèi)存地址,其中該軟件應(yīng)用設(shè)置成通過發(fā)出一個(gè)管理程序調(diào)用指令而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有對應(yīng)于該被調(diào)用的功能函數(shù)的關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼。
[0013]因此本領(lǐng)域的技術(shù)人員根據(jù)本發(fā)明可以得知,軟件應(yīng)用可以被載入至無線電通訊芯片,以經(jīng)由管理程序調(diào)用指令提供與固件模塊的接口,該固件模塊提供無線電控制功能函數(shù)。
[0014]此方法移除了軟件應(yīng)用開發(fā)者將應(yīng)用代碼與芯片制造者所提供的庫或操作系統(tǒng)連接的必要性,借此產(chǎn)生更簡易且更有效率的開發(fā)過程。借由避免鏈接-時(shí)間依賴關(guān)系的必要性,在該軟件應(yīng)用開發(fā)時(shí)期出現(xiàn)錯(cuò)誤的機(jī)會可以減少。由于在相繼的開發(fā)階段不需要與提供無線電控制功能函數(shù)的固件模塊保持重新鏈接,該存儲器的各成員目標(biāo)的地址在該開發(fā)過程里可以維持不變。該內(nèi)存地址的連續(xù)性可以避免錯(cuò)誤發(fā)生,并且如果出現(xiàn)這樣的錯(cuò)誤,也可以幫助調(diào)試、除錯(cuò)。
[0015]在優(yōu)選實(shí)施例中,儲存于固件內(nèi)存地址的該固件模塊是鏈接的二進(jìn)制。因此該固件模塊與該軟件應(yīng)用之間沒有鏈接是需要的,或者該固件模塊與該軟件應(yīng)用之間沒有鏈接甚至是可能的。在此假設(shè)該固件模塊通常將是被編譯的二進(jìn)制模塊(例如由C編程語言編譯),盡管其也可能直接由機(jī)器代碼組合。
[0016]為了開發(fā)該軟件應(yīng)用,該應(yīng)用開發(fā)者所需要知道的非標(biāo)準(zhǔn)信息(即不是由處理器或裝置結(jié)構(gòu)決定的)僅是:預(yù)定的軟件應(yīng)用內(nèi)存地址;關(guān)于任何可使用于該軟件應(yīng)用的數(shù)據(jù)存儲器(例如在RAM里)數(shù)量的信息,以及管理程序調(diào)用號碼和該固件模塊里的無線電通訊功能函數(shù)間的預(yù)定對應(yīng)關(guān)系。此信息足以寫入、編譯及載入該裝置的軟件應(yīng)用。假設(shè)該應(yīng)用開發(fā)者可以傳統(tǒng)地具有一個(gè)包含該信息的頭文件(例如用C編程語言)。(當(dāng)然,該頭文件可以選擇地包含其他附加特征用以提供更多幫助給該應(yīng)用開發(fā)者。)
[0017]根據(jù)本發(fā)明方法配置裝置的另一優(yōu)點(diǎn)是該裝置制造者不需要在其固件模塊里透露機(jī)密的源代碼給該應(yīng)用開發(fā)者。
[0018]將集成電路裝置提供給軟件應(yīng)用的開發(fā)者,該集成電路裝置配有已預(yù)先載入該裝置的固件模塊。這可以進(jìn)一步增加任何被包含在該固件模塊里的機(jī)密信息的安全性。然而,這并非是必須的。該應(yīng)用的開發(fā)者可以反而接收該固件模塊作為預(yù)先編譯的指令的二進(jìn)制圖像,并且將固件模塊載入該裝置。
[0019]因此,從另一方面來看,本發(fā)明提供一種配置集成電路無線電通訊裝置的方法,其中該裝置包含處理器、存儲器以及無線電通訊邏輯,該方法包括:
[0020]載入軟件應(yīng)用至該裝置的存儲器,以使該應(yīng)用被儲存于預(yù)定的應(yīng)用內(nèi)存地址;以及
[0021]載入固件模塊至該裝置的存儲器,以使該固件模塊被儲存于預(yù)定的固件內(nèi)存地址,該固件模塊包括用于根據(jù)預(yù)定的無線電協(xié)議來控制該無線電通訊邏輯的多個(gè)指令,
[0022]其中:
[0023]該處理器配置成接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令;以及
[0024]該軟件應(yīng)用設(shè)置為通過發(fā)出管理程序調(diào)用指令,而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有對應(yīng)于被調(diào)用的功能函數(shù)的關(guān)聯(lián)預(yù)定管理程序調(diào)用號碼。
[0025]該固件模塊和該軟件應(yīng)用可按任何順序或?qū)嵸|(zhì)上同時(shí)地被載入于該裝置。由此可知將兩者同時(shí)載入仍然根本上不同于載入單個(gè)鏈接的軟件應(yīng)用和庫,如該領(lǐng)域的技術(shù)人員已在過去所完成的。如前所述,該固件模塊優(yōu)選地是編譯和鏈接的二進(jìn)制模塊(但沒有被鏈接到該軟件應(yīng)用)。
[0026]本發(fā)明也可擴(kuò)展至集成電路無線電裝置本身。
[0027]因此,從第三方面來看,本發(fā)明提供了一種集成電路無線電通訊裝置,其中:
[0028]該裝置包括處理器、存儲器以及無線電通訊邏輯;
[0029]該存儲器具有被儲存在固件內(nèi)存地址的固件模塊,該固件模塊包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯的多個(gè)指令;以及
[0030]該處理器配置成用以接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令;
[0031]該存儲器具有儲存于預(yù)定的應(yīng)用內(nèi)存地址的軟件應(yīng)用,該軟件應(yīng)用被設(shè)置成用以借由發(fā)出管理程序調(diào)用指令而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有對應(yīng)于被調(diào)用的功能函數(shù)的關(guān)聯(lián)預(yù)定管理程序調(diào)用號碼。
[0032]從進(jìn)一步的方面來看,本發(fā)明提供了固件模塊以及儲存該固件模塊的暫存或非暫存媒體,用于載入集成電路無線電通訊裝置,位于固件內(nèi)存地址,該裝置包括處理器、存儲器以及無線電通訊邏輯,該固件模塊包括:
[0033]多數(shù)指令,用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯;以及
[0034]管理程序調(diào)用處理器,被設(shè)置成通過執(zhí)行無線電通訊功能函數(shù)而響應(yīng)軟件應(yīng)用所發(fā)出的管理程序調(diào)用指令,該無線電通訊功能函數(shù)對應(yīng)于與該管理程序調(diào)用指令關(guān)聯(lián)的管理程序調(diào)用號碼。
[0035]該固件模塊優(yōu)選地是鏈接的二進(jìn)制模塊。
[0036]從更進(jìn)一步的方面來看,本發(fā)明提供軟件應(yīng)用以及儲存該軟件應(yīng)用的暫存或非暫存媒體,用于載入集成電路無線電通訊裝置,位于軟件應(yīng)用內(nèi)存地址,集成電路無線電通訊裝置包括處理器、存儲器以及無線電通訊邏輯,該軟件應(yīng)用被設(shè)置成用以通過發(fā)出管理程序調(diào)用指令而調(diào)用無線電通訊功能函數(shù),管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,該管理程序調(diào)用號碼是對應(yīng)于該被調(diào)用的功能函數(shù)。
[0037]在上述任一方面的優(yōu)選實(shí)施例中,該固件模塊被設(shè)置成:使得由該固件模塊所提供的所有無線電通訊功能函數(shù)被具有各自管理程序調(diào)用號碼的多個(gè)管理程序調(diào)用指令所調(diào)用,其是根據(jù)號碼與功能函數(shù)間的預(yù)定相對應(yīng)關(guān)系。以這種方式,該裝置無須支持其它用于調(diào)用功能函數(shù)的機(jī)制,借此避免大量靜態(tài)或運(yùn)行時(shí)間鏈接依賴性,并且簡化該裝置和該軟件應(yīng)用的開發(fā)。
[0038]由此將得知該固件模塊可以提供其它無須與無線電通訊相關(guān)的功能函數(shù),該功能函數(shù)可被該軟件應(yīng)用所調(diào)用;舉例來說,加密的算法。優(yōu)選地是該裝置配置成使得所有這種功能函數(shù)的調(diào)用是借由這種管理程序調(diào)用指令的發(fā)出而被執(zhí)行。
[0039]由于該裝置的實(shí)施例不需包含傳統(tǒng)的完全的操作系統(tǒng),該應(yīng)用開發(fā)者可以自由開發(fā)軟件應(yīng)用,作為該處理器架構(gòu)的本機(jī)應(yīng)用,而無須學(xué)習(xí)如何提供與芯片制造者所提供的適當(dāng)?shù)牟僮飨到y(tǒng)接口。特別是當(dāng)處理器為該領(lǐng)域所熟知時(shí),這對于該應(yīng)用開發(fā)者而言是特別具有吸引力的特性。
[0040]假如該裝置除了該固件模塊外具有硬件抽象層,該軟件應(yīng)用可以提供直接與該層的接口。應(yīng)用-特定驅(qū)動器也可以被載入至該裝置。
[0041]設(shè)定配置該裝置可包含在編譯該軟件應(yīng)用時(shí)使用在多個(gè)管理程序調(diào)用號碼和多個(gè)無線電通訊功能函數(shù)之間的對應(yīng)關(guān)系。編譯或載入該軟件應(yīng)用可以利用該預(yù)定軟件-應(yīng)用內(nèi)存地址。在一些實(shí)施例里,配置該裝置可以包括接收在多個(gè)管理程序調(diào)用號碼和多個(gè)無線電通訊功能函數(shù)之間的對應(yīng)關(guān)系和/或接收該預(yù)定軟件-應(yīng)用內(nèi)存地址,例如頭文件。當(dāng)編譯該軟件應(yīng)用時(shí),該信息可以接著被使用。
[0042]該裝置優(yōu)選地配置成使得當(dāng)執(zhí)行該裝置上的軟件應(yīng)用時(shí)需要沒有運(yùn)行時(shí)間鏈接。
[0043]該處理器可用任何合適的方法執(zhí)行管理程序調(diào)用指令。在一組較佳實(shí)施例里,該處理器是ARM Ltd.(RTM)處理器,如來自該Cortex-M系列的處理器,并且該管理程序調(diào)用指令然后為由該處理器所支援的SVC指令。
[0044]該軟件應(yīng)用可借由執(zhí)行專用的SVC處理器指令而發(fā)出管理程序調(diào)用指令。這樣的指令可以由編譯器在編譯該軟件應(yīng)用時(shí)產(chǎn)生,例如借由開發(fā)者,包括該軟件應(yīng)用的源代碼里的特定前處理器指令。
[0045]關(guān)聯(lián)于該管理程序調(diào)用的號碼可以經(jīng)由寄存器或經(jīng)由該調(diào)用堆?;蚪?jīng)由任何其它合適的機(jī)制而可用于該調(diào)用處理器。
[0046]優(yōu)選地,該處理器和/或軟件應(yīng)用配置成使一個(gè)或多個(gè)參數(shù)值可用于管理程序調(diào)用處理器。以此方式,軟件應(yīng)用可以傳送這些參數(shù)至無線電通訊功能函數(shù),例如要傳送的數(shù)據(jù)。該調(diào)用處理器能將來自無線電通訊功能函數(shù)的返回值傳送給該軟件應(yīng)用。
[0047]該處理器優(yōu)選地配置成處理來自該軟件應(yīng)用的管理程序調(diào)用指令作為例外(軟件中斷)。通過這種方式,當(dāng)一個(gè)時(shí)間-關(guān)鍵無線電通訊功能函數(shù)需要被調(diào)用時(shí),該軟件應(yīng)用可中斷較少的時(shí)間-關(guān)鍵處理。
[0048]該處理器優(yōu)選地支持?jǐn)?shù)個(gè)中斷優(yōu)先級。在一些實(shí)施例里,一些該固件模塊里的事件-驅(qū)動功能函數(shù)被分配相對較高的優(yōu)先級,而其他的則被分配相對較低的優(yōu)先級。優(yōu)選地,與時(shí)間-關(guān)鍵無線電通訊操作相關(guān)的功能函數(shù)被分配相對較高的優(yōu)先級。
[0049]該軟件應(yīng)用可以被設(shè)置成處理數(shù)個(gè)中斷(由固件模塊轉(zhuǎn)發(fā),如在下面解釋)并且可以具有用于一些事件驅(qū)動功能函數(shù)的相對較高的優(yōu)先級以及用于其他的相對較低的優(yōu)先級。該軟件應(yīng)用優(yōu)先級優(yōu)選地與固件模塊的優(yōu)先級交錯(cuò)。優(yōu)選地,該最高的固件優(yōu)先級等級是高于該最高的軟件-應(yīng)用優(yōu)先級等級,以至于在該固件模塊里實(shí)施的關(guān)鍵無線電通訊操作總是可以優(yōu)先于該軟件應(yīng)用。這能防止在該軟件應(yīng)用中草率編程。
[0050]該固件模塊優(yōu)選地配置成調(diào)用該軟件里的功能函數(shù),以響應(yīng)該固件模塊接收到一個(gè)中斷。該中斷可能出現(xiàn),例如從外圍設(shè)備,例如移動傳感器。
[0051]該固件模塊與該軟件應(yīng)用每一個(gè)可以具有相應(yīng)的中斷向量表。該兩個(gè)表優(yōu)選地互相使用相同中斷向量地址偏移。在該固件模塊的向量表里的中斷向量地址的偏移(也可視為該軟件應(yīng)用的向量表,假如兩者使用相同的偏移)傳統(tǒng)上被該處理器結(jié)構(gòu)所固定。該裝置優(yōu)選地配置成當(dāng)處理一個(gè)中斷時(shí)(即該系統(tǒng)中斷向量表)時(shí)使用該固件模塊的向量表。
[0052]然而,該固件模塊優(yōu)選地配置成,使得該固件模塊沒有被編程以自行處理的所有中斷被傳送至該軟件應(yīng)用。此可借由該固件模塊所實(shí)現(xiàn),造成執(zhí)行分岔至該軟件應(yīng)用的向量表里所包含對應(yīng)偏移的地址,每當(dāng)其不被配置用以處理特定的中斷之時(shí)。這是有可能的,因?yàn)樵撥浖?yīng)用被載入預(yù)定的內(nèi)存地址,使得一旦該應(yīng)用被載入在該裝置上時(shí),該固件模塊可以預(yù)先知道由何處找出該軟件應(yīng)用的向量表。
[0053]舉例來說,在一些實(shí)施例里,該重置中斷處理器地址總是被該編譯器設(shè)置在偏移=O。因此,在該固件模塊的向量表里,該重置處理器地址將位于存儲器中地址0x00000000+0 = 0x0000 0000。在該軟件應(yīng)用的向量表里,該重置處理器地址是CLENR0+0 =CLENRO,此處CLENRO是該預(yù)定基本內(nèi)存地址,即該軟件應(yīng)用被放置的地址。
[0054]此中斷轉(zhuǎn)發(fā)機(jī)制方便地允許該軟件應(yīng)用被編程以利用實(shí)質(zhì)相同的方法來處理硬件中斷,如同沒有固件模塊被呈現(xiàn)在該設(shè)置上,即該固件模塊對于該軟件應(yīng)用為隱藏的,以用于接收中斷的目的。該轉(zhuǎn)發(fā)優(yōu)選地是以如此的方式來實(shí)現(xiàn):與對于軟件應(yīng)用的直接硬件中斷相比,其增加了少于30個(gè)指令的延遲或少于大約3微秒(microseconds)延遲。
[0055]該固件模塊可以設(shè)置為大體上被禁用。該禁用可以經(jīng)由調(diào)用至該固件模塊(優(yōu)選地是使用該SVC機(jī)制)而被執(zhí)行。禁用該固件模塊可以造成該固件模塊用以重置協(xié)議堆棧,并且使任何存儲器保護(hù)失效(假如有呈現(xiàn)),以使資源返回到該軟件應(yīng)用。當(dāng)被禁用時(shí),該固件模塊優(yōu)選地轉(zhuǎn)發(fā)所有中斷至該軟件應(yīng)用(甚至那些可能以其它方式已自行處理的)。
[0056]該處理器優(yōu)選地支持從一個(gè)中斷優(yōu)先級等級至另一中斷優(yōu)先級等級的多個(gè)無縫轉(zhuǎn)換。這有時(shí)被稱為尾鏈(tail-chaining)。其提供轉(zhuǎn)移在該軟件應(yīng)用與該固件模塊之間控制的精簡的方案(或反之亦然),以允許時(shí)間-關(guān)鍵無線電通訊功能函數(shù)在需要時(shí)優(yōu)先考慮。
[0057]該裝置優(yōu)選地包括存儲器保護(hù)邏輯,存儲器保護(hù)邏輯設(shè)置成攔截存儲器存取指令。此邏輯可以被放置在該處理器與該存儲器之間。其可以使用存儲器存取指令的位置(即該處理器讀取該指令之處),以決定是否允許存取。該存儲器保護(hù)邏輯優(yōu)選地被配置成用以避免該軟件應(yīng)用讀取或重寫該固件模塊(或兩者皆是)。
[0058]如此的存儲器保護(hù)可以提供好處:防止固件模塊里的敏感信息被軟件應(yīng)用的開發(fā)者所讀取。也可以使該軟件應(yīng)用中因編程錯(cuò)誤帶來的潛在損害最小化,以及幫助檢測和校正在軟件應(yīng)用中的錯(cuò)誤。
[0059]該存儲器保護(hù)邏輯可以配置成用以防止關(guān)聯(lián)于該固件模塊的RAM被該軟件應(yīng)用所讀取或?qū)懭?或兩者皆是)。
[0060]該處理器、存儲器以及無線電通訊邏輯優(yōu)選地是被集成在單個(gè)硅芯片上。然而,可替換地,它們也可以被集成在多個(gè)芯片模塊中。
[0061]該存儲器優(yōu)選地是一個(gè)非易失性存儲器,例如EEPROM或快閃存儲器。其優(yōu)選地支持隨機(jī)-存取讀取,使得該固件模塊與軟件應(yīng)用可以直接地從該存儲器中被執(zhí)行。
[0062]本領(lǐng)域技術(shù)將理解,該裝置典型地也包括易失性存儲器。其可以附加地包括一個(gè)或多個(gè)外圍設(shè)備。其可具有用于接收電源和一個(gè)時(shí)脈信號的連接。其可以具有用于天線的連接。其可以具有一個(gè)或多個(gè)輸入和/或輸出接口,例如串行連接。
[0063]在此描述的本發(fā)明的一個(gè)方面或?qū)嵤├目蛇x或優(yōu)選的特征,在適當(dāng)情況下,可應(yīng)用于任何其它方面或?qū)嵤├?br>
【專利附圖】

【附圖說明】
[0064]下面將僅僅通過實(shí)例參考附圖描述本發(fā)明的某些優(yōu)選實(shí)施例,其中:
[0065]圖1是本發(fā)明實(shí)施例的微控制器的示意圖。
[0066]圖2是主要軟件元件于該微控制器架構(gòu)里的示意圖。
[0067]圖3是用于該微控制器的內(nèi)存映射的示意圖。
[0068]圖4是不同處理器中斷優(yōu)先等級的表示圖。
[0069]圖5a_5c是各種中斷情形說明的表不圖。
[0070]圖6是源代碼元素展示該軟件應(yīng)用調(diào)用固件模塊中的功能函數(shù)的表示圖。
[0071]圖7是源代碼元素展示該軟件應(yīng)用使用系統(tǒng)調(diào)用以調(diào)用內(nèi)部功能函數(shù)的表示圖。
[0072]圖8是源代碼元素展示該軟件應(yīng)用接收硬件中斷的表示圖。

【具體實(shí)施方式】
[0073]圖1顯示集成電路微控制器I,有時(shí)稱之為片上系統(tǒng),其包含時(shí)脈邏輯3、電源管理電路5、處理器7 (例如一個(gè)ARM (RTM) Cortex-ΜΟ)、存儲器保護(hù)邏輯9、RAM 11、非易失性快閃存儲器13、一個(gè)或多個(gè)外圍設(shè)備15、無線電通訊邏輯17、以及輸入/輸出電路19,該時(shí)脈邏輯3可包括電阻-電容振蕩器及/或可從片外(off-chip)晶體振蕩器(圖中未顯示)接收輸入。
[0074]這些元件以一傳統(tǒng)的方式而互相連接,例如使用線路或總線(圖中未顯示)。該存儲器保護(hù)邏輯9是用來攔截從該處理器7至該RAM 11和該快閃存儲器13的指令。當(dāng)安裝于一個(gè)產(chǎn)品時(shí),該微控制器I可以被連接至數(shù)個(gè)外部的元件,例如電源供應(yīng)器、無線電天線、晶體振蕩器、數(shù)個(gè)傳感器、數(shù)個(gè)輸出裝置等。
[0075]圖2示出了微控制器1,位于其上方的是一個(gè)可選擇的硬件抽象層21,例如ARM(RTM)Cortex微處理器軟件介面標(biāo)準(zhǔn)。該結(jié)構(gòu)也包括固件模塊23、驅(qū)動器25以及軟件應(yīng)用27。該驅(qū)動單元25可特定用于該軟件應(yīng)用27。
[0076]該固件模塊23是一個(gè)二進(jìn)制應(yīng)用,包含數(shù)個(gè)嵌入式軟件塊。一個(gè)無線協(xié)議塊31實(shí)現(xiàn)一個(gè)或多個(gè)無線協(xié)議堆棧。一個(gè)無線電事件管理器33提供用于該無線電通訊邏輯17的存取調(diào)度以及事件多路復(fù)用。一個(gè)庫35提供分享的硬件資源管理與數(shù)個(gè)功能函數(shù),如隨機(jī)數(shù)字的產(chǎn)生、設(shè)定中斷以及優(yōu)先級、電源管理(例如啟用及禁用外圍設(shè)備)、加密功能函數(shù)等。一個(gè)固件模塊管理器37支持啟用及禁用該固件模塊,及啟用及禁用該無線協(xié)議堆棧。
[0077]固件模塊23具有系統(tǒng)向量表,且是程序的入口點(diǎn)重置。
[0078]—個(gè)用于固件模塊23的應(yīng)用編程接口(API) 29允許該軟件應(yīng)用27調(diào)用固件模塊23里的功能函數(shù)。此是完全使用系統(tǒng)調(diào)用來實(shí)現(xiàn)。當(dāng)使用一個(gè)ARM(RTM)處理器,每個(gè)API功能函數(shù)原型在編譯時(shí)間經(jīng)由一關(guān)聯(lián)的管理程序調(diào)用(SVC)號碼而映射至一個(gè)固件功能函數(shù)。此映射可被提供至該軟件應(yīng)用27的開發(fā)者,以允許功能函數(shù)被正確地調(diào)用。
[0079]固件模塊23可以傳遞事件至軟件應(yīng)用27作為軟件中斷,其內(nèi)容被緩存直到被軟件應(yīng)用27所讀取(輪詢)。該讀取經(jīng)由一個(gè)API調(diào)用(例如event_get O)所完成。
[0080]該軟件應(yīng)用27可以直接地訪問該微處理器(I)硬件,或者經(jīng)由一個(gè)硬件抽象層21來訪問該微處理器(I)硬件,例如借由應(yīng)用-特定驅(qū)動器25,除了可使用該固件模塊23來間接地使用該硬件之外。
[0081]圖3顯示如何在固件模塊23和該軟件應(yīng)用27 (包括任何應(yīng)用-特定驅(qū)動器25)之間共享RAM 11和快閃存儲器13。當(dāng)使用一個(gè)ARM(RTM) Cortex-MO處理器7,該快閃13被分配數(shù)個(gè)由零(0x0000 0000)上升的地址至其容量SizeOfProgMen,以及該RAM 11被分配數(shù)個(gè)地址從0x2000 0000上升至(0x2000 OOOO+SizeOfRAM)。假如一個(gè)不同類型的處理器被使用,將可使用不同的地址的值。
[0082]該快閃13包含地址CLEARO (代碼長度區(qū)域0)兩側(cè)的兩個(gè)區(qū)域。位于零和CLEARO之間的區(qū)域0,是該固件模塊23被載入之處。其中斷向量表被儲存在地址零處。由CLEARO向上延伸的區(qū)域1,是該軟件應(yīng)用27被載入之處。其也具有中斷向量表,該表位于CLEARO處,其目的下面說明。在軟件應(yīng)用27之下。由此可以得知該裝置I可具有其他非易失性存儲器(圖未顯示),其他非易失性存儲器可用于其他目的,例如儲存配置信息或數(shù)個(gè)標(biāo)志。
[0083]該RAM 11相似地具有一從該基本地址0x2000 0000至RLENRO的區(qū)域0,以及由RLENRO向上延伸的一個(gè)區(qū)域I。RAM區(qū)域O提供數(shù)據(jù)儲存,用于固件模塊23,而RAM區(qū)域I提供數(shù)據(jù)儲存,用于該軟件應(yīng)用27。一個(gè)調(diào)用堆棧在固件模塊23及軟件應(yīng)用27之間被共享以及該調(diào)用堆棧,例如從0x2000 OOOO+SizeOfRAM,向下發(fā)展。分配至調(diào)用堆棧的存儲器必須足夠大以供軟件應(yīng)用27和固件模塊23兩者的所需。
[0084]可以由芯片制造者為該裝置I發(fā)布固件模塊23調(diào)用-堆棧使用需求。該軟件應(yīng)用27的開發(fā)者必須接著定義一個(gè)初始棧指針,以及為固件模塊與其軟件應(yīng)用27預(yù)留足夠棧存儲器。在重置時(shí)固件模塊23將初始化主要堆棧指針。
[0085]存儲器保護(hù)邏輯9被設(shè)置成攔截從處理器7至快閃13和RAMll的所有存儲器存取請求(例如讀取請求)。其決定存取請求指令的來源(例如是否該請求是來自固件模塊23或來自軟件應(yīng)用27)。其也存取存儲器保護(hù)配置數(shù)據(jù)(例如儲存在一或多個(gè)專屬寄寄存器中),其是為各種來源而特定各個(gè)存取許可,并且依此允許或拒絕該存取需求。
[0086]在一些本發(fā)明較佳的實(shí)施例里,該軟件應(yīng)用27被拒絕讀和/或?qū)懺L問至快閃區(qū)域O和至RAM區(qū)域O。這保護(hù)了固件模塊23的機(jī)密性,并且可以避免軟件應(yīng)用27無意或惡意地寫入至分配給固件模塊23的內(nèi)存位置,借此增加可靠性和安全性。也可以保護(hù)軟件應(yīng)用快閃區(qū)域I免于讀訪問,例如防止通過外部調(diào)試接口(debugging interface)讀回。
[0087]這意味初始堆棧指針不可以位于RAM區(qū)域0,這是由于軟件應(yīng)用27對該區(qū)域沒有寫訪問。在本發(fā)明的其他實(shí)施例里,該調(diào)用堆棧可位于兩部分里,其中該固件模塊23調(diào)用堆棧是位于RAM區(qū)域O里以及該軟件應(yīng)用27調(diào)用堆棧是位于RAM區(qū)域I里。
[0088]圖4顯示ARM(RTM)Cortex-MO處理器所提供的不同的中斷等級41,其沿箭頭方向增加優(yōu)先級別,以及這些等級如何映射至由固件模塊23和軟件應(yīng)用27所使用的中斷等級43。
[0089]在主要背景內(nèi)容之上的是四個(gè)中斷優(yōu)先級,其使用如下,依照優(yōu)先級增加的順序:軟件應(yīng)用低優(yōu)先級、固件模塊低優(yōu)先級、軟件應(yīng)用高優(yōu)先級以及固件模塊高優(yōu)先級。該高-優(yōu)先級軟件應(yīng)用中斷用于要求低延時(shí)的關(guān)鍵中斷(critical interrupts)。
[0090]圖5a至5c顯示數(shù)種優(yōu)先級等級里可能的改變的范例。
[0091]圖5a說明背景主要處理在低優(yōu)先級被該軟件應(yīng)用中斷,例如借由一串行驅(qū)動器。軟件應(yīng)用27接著使API調(diào)用至固件模塊23 (借由觸發(fā)一個(gè)管理程序調(diào)用(SVC)例外)。在返回至應(yīng)用低-優(yōu)先級等級之前,固件模塊23以低-優(yōu)先級固件等級處理該調(diào)用。最后,軟件應(yīng)用27完成其操作,且執(zhí)行返回至該主要背景等級。
[0092]圖5b說明API調(diào)用至固件模塊23,其是從主要內(nèi)容所做出(借由觸發(fā)SVC例外)。該固件低-優(yōu)先級里的API功能函數(shù)的執(zhí)行被一個(gè)高-優(yōu)先級軟件應(yīng)用例外所中斷。舉例來說,其可以用以服務(wù)一個(gè)傳感器輸入。一旦該軟件應(yīng)用結(jié)束其高-優(yōu)先級的執(zhí)行,在最終回歸至該背景主要處理之前,該固件API調(diào)用可以繼續(xù)執(zhí)行于該低優(yōu)先級等級。
[0093]圖5c說明借由該固件模塊23的背景主要處理的高-優(yōu)先級中斷。其可以歸因于時(shí)間-關(guān)鍵無線電通訊中斷,例如一個(gè)輸入無線電分組,無線電事件管理器23必須響應(yīng)該輸入無線電分組。該固件模塊23中的中斷服務(wù)例程設(shè)立一個(gè)低-優(yōu)先級固件異常標(biāo)志用以發(fā)信號至該無線協(xié)議堆棧的較高等級。當(dāng)該高-優(yōu)先級例程完成,由于該處理器7的尾鏈能力(tail-chaining capabilities)(即在此之間無須回復(fù)至該背景主要等級),低-優(yōu)先級例程被立即執(zhí)行。該低-優(yōu)先級固件例程接著設(shè)立異常標(biāo)志用以發(fā)信號通知該軟件應(yīng)用27:—個(gè)無線電數(shù)據(jù)分組已被接收。該例外在該低-優(yōu)先級固件模塊例程完成之后被鏈接。在此范例里,該軟件應(yīng)用27接著經(jīng)由一個(gè)SVC而做出一個(gè)API調(diào)用至該固件模塊23,SVC完成與返回從該SVC而來的內(nèi)容至該軟件應(yīng)用27。最后,該軟件應(yīng)用低-優(yōu)先級操作完成,且執(zhí)行返回至該主要等級。
[0094]圖6至8借由范例展示如何控制該軟件應(yīng)用27和該固件模塊23間的傳送。其以未編譯的C語言代碼的摘錄來說明。當(dāng)然,實(shí)際上,由處理器7執(zhí)行來自快閃存儲器13的二進(jìn)制指令。標(biāo)號的箭頭指示相繼的執(zhí)行步驟。
[0095]圖6顯示軟件應(yīng)用27經(jīng)由該固件模塊23的API 29而調(diào)用功能函數(shù)。該應(yīng)用27調(diào)用一個(gè)具有從該固件API 29使用固件頭文件而引進(jìn)的原型的功能函數(shù),該固件頭文件是借由該芯片制造者而被提供至該軟件-應(yīng)用開發(fā)者。該_3卩(:00編譯指示(pragma)造成該編譯器將一指令插入該目標(biāo)代碼里,這會導(dǎo)致當(dāng)該軟件應(yīng)用23調(diào)用該功能函數(shù)時(shí)引起管理程序調(diào)用(SVC)例外。
[0096]該處理器7通過該固件模塊的中斷向量表(其作為該系統(tǒng)中斷向量表)調(diào)用該SVC處理器。關(guān)聯(lián)于被該軟件應(yīng)用27所調(diào)用的該功能函數(shù)的SVC號碼與任何參數(shù)(arguments) 一起被傳送至該SVC處理器。該參數(shù)是依照該處理器而可經(jīng)由寄存器或經(jīng)由該調(diào)用堆棧而被傳送。該SVC處理器使用該SVC號碼以調(diào)用該正確的固件模塊功能函數(shù)。其可為一個(gè)無線電控制功能函數(shù)(例如一個(gè)借由無線電來傳輸數(shù)據(jù)的指令),或一個(gè)固件管理功能函數(shù)(例如用以禁用該固件模塊),或一個(gè)庫功能函數(shù)(例如用以發(fā)出隨機(jī)號碼)。該功能函數(shù)執(zhí)行并接著返回至該軟件應(yīng)用27。一個(gè)返回值可有用于一寄存器或該調(diào)用堆棧。
[0097]圖7顯示該軟件應(yīng)用27經(jīng)由系統(tǒng)調(diào)用來調(diào)用其自身的功能函數(shù)之一。此動作可用于從一個(gè)低優(yōu)先級改變至高優(yōu)先級執(zhí)行等級。與圖6的情況相似,該軟件應(yīng)用27觸發(fā)SVC因而造成執(zhí)行傳送至該固件模塊27里的一個(gè)SVC處理器。然而,在此例子里,該指令所使用的一個(gè)SVC號碼是位于一個(gè)被預(yù)留給該軟件應(yīng)用自身使用的范圍里。該固件模塊23因此造成執(zhí)行分盆至該軟件應(yīng)用27里的一個(gè)處理器功能函數(shù)(app_systemcall_funct1n()),可能對于先前操作為在不同優(yōu)先級等級。
[0098]圖8顯示如何由該軟件應(yīng)用27接收一個(gè)硬件中斷。該固件模塊23默認(rèn)設(shè)置成轉(zhuǎn)送中斷至該軟件應(yīng)用27,除非它們是該固件模塊23被配置用以處理的中斷。此外,假如該固件模塊23已經(jīng)被該軟件應(yīng)用27所禁用(例如經(jīng)由合適的API調(diào)用至該固件管理器37),接著該固件模塊將轉(zhuǎn)送所有中斷至該軟件應(yīng)用27。
[0099]在接收到例如來自于一個(gè)運(yùn)動傳感器的一個(gè)中斷時(shí),該固件模塊23里的一個(gè)中斷處理器被引導(dǎo)。其將檢查是否該固件模塊23被啟用以及是否此為一個(gè)該固件模塊被設(shè)定用以處理的中斷。如果是,該固件模塊23處理該中斷。假如不是,其將執(zhí)行分岔至該軟件應(yīng)用27里的中斷處理單器例程。因?yàn)樵撥浖?yīng)用向量表的位置(在CLENR0)是為預(yù)定的,故該固件模塊23可以知道在何處找到該例程,并且至該向量表的偏移是相同于至該固件模塊的向量表的偏移。
[0100]以這種方式,一個(gè)固件模塊實(shí)現(xiàn)無線電控制邏輯,其被編程至集成無線電通訊芯片上的一個(gè)固件內(nèi)存地址,可以安全并方便地配置和使用該固件模塊。
【權(quán)利要求】
1.一種配置集成電路無線電通訊裝置的方法,其中: 該裝置包括處理器、存儲器以及無線電通訊邏輯; 該存儲器具有儲存于固件內(nèi)存地址的固件模塊,該固件模塊包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯的多個(gè)指令; 該處理器被配置成接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令,該方法包括: 載入一個(gè)軟件應(yīng)用至該裝置的存儲器,使該應(yīng)用被儲存在預(yù)定的應(yīng)用內(nèi)存地址,其中該軟件應(yīng)用被設(shè)置成借由發(fā)出一個(gè)管理程序調(diào)用指令而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,該關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼對應(yīng)于該被調(diào)用的功能函數(shù)。
2.一種配置集成電路無線電通訊裝置的方法,其中該裝置包括處理器、存儲器以及無線電通訊邏輯,該方法包括: 載入軟件應(yīng)用至該裝置的存儲器,以使該應(yīng)用被儲存于預(yù)定的應(yīng)用內(nèi)存地址;以及 載入固件模塊至該裝置的存儲器,以使該固件模塊被儲存于預(yù)定的固件內(nèi)存地址,該固件模塊包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯的多個(gè)指令, 其中: 該處理器配置成接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,以及該處理器配置成借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令;以及 該軟件應(yīng)用設(shè)置成借由發(fā)出一個(gè)管理程序調(diào)用指令,而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,該關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼對應(yīng)于該被調(diào)用的功能函數(shù)。
3.如權(quán)利要求1或2所述的方法,其中該固件模塊是鏈接的二進(jìn)制模塊。
4.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中該固件模塊被設(shè)置成;使得由該固件模土夾所提供的所有無線電通訊功能函數(shù)被具有各自管理程序調(diào)用號碼的多個(gè)管理程序調(diào)用指令所調(diào)用,其是根據(jù)號碼與功能函數(shù)間的預(yù)定對應(yīng)關(guān)系。
5.如前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括編譯該軟件應(yīng)用以及在該編譯中使用多個(gè)管理程序調(diào)用號碼與多個(gè)無線電通訊功能函數(shù)之間的對應(yīng)關(guān)系。
6.如前述權(quán)利要求中任一項(xiàng)所述的方法,進(jìn)一步包括當(dāng)編譯和/或載入該軟件應(yīng)用時(shí),使用該預(yù)定的軟件應(yīng)用內(nèi)存地址。
7.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中該軟件應(yīng)用設(shè)置成:借由執(zhí)行一專屬的SVC處理器指令而發(fā)出管理程序調(diào)用指令。
8.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中該固件模塊以及該軟件應(yīng)用各自具有相應(yīng)的中斷向量表,其中該裝置被設(shè)配置為在處理一個(gè)中斷時(shí)使用該固件模塊的該向量表,以及其中該固件模塊配置成使得該固件模塊未被編程用以自行處理的所有中斷被傳遞至該軟件應(yīng)用。
9.如權(quán)利要求8所述的方法,其中該固件模塊和該軟件應(yīng)用的中斷向量表互相使用相同的中斷-向量-地址偏移。
10.如前述權(quán)利要求中任一項(xiàng)所述的方法,其中該裝置包括存儲器保護(hù)邏輯,被設(shè)置成用以截取多個(gè)存儲器存取指令,并被配置用來防止軟件應(yīng)用讀取或重寫固件模塊。
11.一種集成電路無線電通訊裝置,其中: 該裝置包括處理器、存儲器以及無線電通訊邏輯; 該存儲器具有儲存在固件內(nèi)存地址的固件模塊,該固件模塊包括用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯的多個(gè)指令;以及 該處理器配置成用以接收多個(gè)管理程序調(diào)用指令,每一管理程序調(diào)用指令具有關(guān)聯(lián)的管理程序調(diào)用號碼,并借由(I)調(diào)用固件模塊里的管理程序調(diào)用處理器以及(2)使該管理程序調(diào)用號碼可用于該調(diào)用處理器,而響應(yīng)管理程序調(diào)用指令; 該存儲器具有儲存于預(yù)定應(yīng)用內(nèi)存地址的軟件應(yīng)用,該軟件應(yīng)用被設(shè)置用以借由發(fā)出管理程序調(diào)用指令而從該固件模塊中調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼對應(yīng)于該被調(diào)用的功能函數(shù)。
12.如權(quán)利要求11所述的裝置,其中該固件模塊被設(shè)置成:使得由該固件模塊所提供的所有無線電通訊功能函數(shù)被具有各自管理程序調(diào)用號碼的多個(gè)管理程序調(diào)用指令所調(diào)用,其是根據(jù)號碼與功能函數(shù)間的預(yù)定相對應(yīng)關(guān)系。
13.如權(quán)利要求11或12所述的裝置,其中該固件模塊被設(shè)置成:使得由該固件模塊所提供的所有功能函數(shù)是借由發(fā)出管理程序調(diào)用指令而被調(diào)用。
14.如權(quán)利要求11到13中任一項(xiàng)所述的裝置,其被配置成以至于當(dāng)在該裝置上執(zhí)行軟件應(yīng)用時(shí),并不需要運(yùn)行-時(shí)間鏈接。
15.如權(quán)利要求11到14中任一項(xiàng)所述的裝置,其中該軟件應(yīng)用被設(shè)置成通過執(zhí)行一專屬SVC處理器指令而發(fā)出管理程序調(diào)用指令。
16.如權(quán)利要求11到15中任一項(xiàng)所述的裝置,其中該處理器和/或軟件應(yīng)用被配置用以使一個(gè)或多個(gè)參數(shù)的值可用于該管理程序調(diào)用處理器。
17.如權(quán)利要求11到16中任一項(xiàng)所述的裝置,其中該處理器被配置用以操作來自該軟件應(yīng)用的管理程序調(diào)用指令作為一個(gè)例外,其中該處理器支持多個(gè)中斷優(yōu)先級,以及其中該固件模塊中的一些功能函數(shù)被分配相對較高的優(yōu)先級,而該固件模塊中的其他功能函數(shù)具有相對較低的優(yōu)先級。
18.如權(quán)利要求17所述的裝置,其中該軟件應(yīng)用被設(shè)置來處理多個(gè)中斷,以將相對較高的優(yōu)先級分配至一些事件驅(qū)動功能函數(shù),以及將一些相對較低的優(yōu)先級分配至其他事件驅(qū)動功能函數(shù)。
19.如權(quán)利要求18所述的裝置,其中用高和低的固件模塊優(yōu)先級交錯(cuò)高和低的軟件應(yīng)用優(yōu)先級。
20.如權(quán)利要求18或19所述的裝置,,其中該最高固件優(yōu)先級等級高于該最高的軟件應(yīng)用優(yōu)先級等級。
21.如權(quán)利要求11到20中任一項(xiàng)所述的裝置,其中該固件模塊配置成用以調(diào)用該軟件應(yīng)用里的功能函數(shù),以響應(yīng)該固件模塊接收到一個(gè)中斷。
22.如權(quán)利要求11到21中任一項(xiàng)所述的裝置,其中固件模塊與軟件應(yīng)用每一個(gè)都具有各自的中斷向量表,其中該裝置配置成當(dāng)處理一中斷時(shí)使用該固件模塊的該向量表,以及其中該固件模塊配置為使得該固件模塊未被編程用以自行處理的所有中斷被傳送至該軟件應(yīng)用。
23.如權(quán)利要求22所述的裝置,其中該固件模塊和該軟件應(yīng)用的中斷向量表相互使用相同偏移。
24.如權(quán)利要求11到23中任一項(xiàng)所述的裝置,其中,通過至該固件模塊的調(diào)用,該固件模塊可被實(shí)質(zhì)地禁用,以造成該固件模塊來重置該協(xié)議堆棧,以及禁用任何存儲器保護(hù),以便將資源返回至該軟件應(yīng)用,以及其中,當(dāng)禁用時(shí),該固件模塊將轉(zhuǎn)發(fā)所有中斷至該軟件應(yīng)用。
25.如權(quán)利要求11到24中任一項(xiàng)所述的裝置,其中該處理器支持從一個(gè)中斷優(yōu)先級等級至另一個(gè)中斷優(yōu)先級等級的多個(gè)無縫轉(zhuǎn)換。
26.如權(quán)利要求11到25中任一項(xiàng)所述的裝置,包括存儲器保護(hù)邏輯,存儲器保護(hù)邏輯被設(shè)置成截取多個(gè)存儲器存取指令以及被配置成用來防止該軟件應(yīng)用讀取或重寫該固件模塊和/或防止該軟件應(yīng)用讀取或?qū)懭腙P(guān)聯(lián)于該固件模塊的隨機(jī)存取存儲器。
27.一種固件模塊,用以載入集成電路無線電通訊裝置,位于固件內(nèi)存地址,該裝置包括處理器、存儲器以及無線電通訊邏輯,該固件模塊包括: 多個(gè)指令,用于根據(jù)預(yù)定的無線協(xié)議來控制該無線電通訊邏輯;以及 管理程序調(diào)用處理器,被設(shè)置成:通過執(zhí)行無線電通訊功能函數(shù)響應(yīng)軟件應(yīng)用所發(fā)出的管理程序調(diào)用指令,無線電通訊功能函數(shù)對應(yīng)于關(guān)聯(lián)于該管理程序調(diào)用指令的管理程序調(diào)用號碼。
28.如權(quán)利要求27所述的裝置,其為鏈接的二進(jìn)制模塊。
29.一種軟件應(yīng)用,用以載入集成電路無線電通訊裝置,位于預(yù)定軟件應(yīng)用內(nèi)存地址,該裝置包括處理器、存儲器以及無線電通訊邏輯,該軟件應(yīng)用設(shè)置成通過發(fā)出管理程序調(diào)用指令來調(diào)用無線電通訊功能函數(shù),該管理程序調(diào)用指令具有關(guān)聯(lián)的預(yù)定管理程序調(diào)用號碼,該管理程序調(diào)用號碼對應(yīng)于該被調(diào)用的功能函數(shù)。
【文檔編號】G06F9/445GK104412230SQ201380034634
【公開日】2015年3月11日 申請日期:2013年6月26日 優(yōu)先權(quán)日:2012年6月27日
【發(fā)明者】喬爾·大衛(wèi)·斯泰普爾頓 申請人:北歐半導(dǎo)體公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
邵阳县| 花莲市| 合水县| 铁岭市| 莱州市| 山阴县| 垫江县| 内丘县| 安阳市| 贺州市| 天台县| 塔河县| 西城区| 达日县| 黎川县| 霍林郭勒市| 南川市| 治县。| 井冈山市| 桐柏县| 西林县| 九龙城区| 潮州市| 广水市| 周至县| 旺苍县| 瓦房店市| 铁力市| 宁夏| 赤峰市| 邵阳县| 太湖县| 佳木斯市| 镇沅| 湘潭市| 梁河县| 长子县| 仲巴县| 凭祥市| 新郑市| 麻城市|