專利名稱:用于產(chǎn)生配置數(shù)據(jù)的方法和設備的制作方法
技術領域:
本申請涉及用于產(chǎn)生配置數(shù)據(jù)的方法和設備。本申請尤其涉及產(chǎn)生用于配置微控制器的配置數(shù)據(jù)。
背景技術:
許多設備要求嵌入式微處理器系統(tǒng)或微控制器能夠控制所述設備的處理。這種微控制器包括具有多個引腳的微芯片以便使信號能夠進入并退出所述微芯片。微芯片典型情況下包括中央處理器、存儲器和用于在微控制器內從事特殊任務的多個內置外圍裝置。
在現(xiàn)代微控制器設計中,內置外圍裝置可以接收、與之相交互并輸出的信號數(shù)目常常超過微芯片上可用的引腳數(shù)目。這是因為通常在任何特定的應用中只需要利用可用外圍裝置的子集。在這種環(huán)境中,微控制器的編程具有兩個部分。第一,用于控制微控制器的CPU的處理的計算機程序需要被寫入并存儲在所述微控制器的存儲器中。通常,這通過用高級編程語言編寫軟件并且把所產(chǎn)生的代碼編譯為二進制代碼來實現(xiàn),其中所述二進制代碼被存儲在微控制器的存儲器內。
編程微控制器的第二方面包括為微控制器內可用的外圍裝置確定適當設置,以便所利用的外圍裝置可以相交互并且經(jīng)由所述微控制器上可用的引腳來輸出信號。此編程微控制器的第二方面很難,這是因為不兼容的設置可能會產(chǎn)生很難識別并糾正的不正確操作。因此需要一種能夠更容易地從事編程此微控制器的第二方面的系統(tǒng)。
發(fā)明內容
依照本發(fā)明的一個方面,提供了一種微控制器配置設備,可操作來識別用于存儲在包括多個外圍裝置的微控制器的寄存器內的一組寄存器值,所述微控制器可操作來根據(jù)在所述寄存器中所存儲的寄存器值來往返于所述外圍裝置路由不同的信號選擇,所述配置設備包括第一用戶輸入接口生成器,可操作來產(chǎn)生第一用戶接口以便使用戶能夠輸入用于識別從在所述微控制器中所包括的多個外圍裝置中的外圍裝置選擇的數(shù)據(jù);確定模塊,可操作來為用于識別經(jīng)由所述第一用戶接口所輸入的外圍裝置選擇的數(shù)據(jù)來確定為往返于所選擇的外圍裝置路由所要求的一組信號,以便使所述每個外圍裝置能夠起作用,所述確定模塊還可操作來識別寄存器值的多個組合,所述寄存器值當存儲在微控制器的寄存器內時使所有確定的信號能夠被往返于所選外圍裝置路由;第二用戶輸入接口生成器,可操作來產(chǎn)生第二用戶接口以便使用戶能夠選擇由所述確定模塊所識別的寄存器值的所述多個組合之一;和輸出模塊,可操作來輸出用于識別在微控制器中的寄存器內存儲的一組寄存器值的數(shù)據(jù),包括與經(jīng)由所述第二用戶接口所選擇的寄存器值的組合相對應的寄存器值。
參考附圖本發(fā)明的進一步方面和實施例將變得更加清楚,其中圖1是依照本發(fā)明第一實施例的用于內嵌測試微控制器的計算機系統(tǒng)的示意性框圖,包括用于產(chǎn)生配置數(shù)據(jù)的配置模塊;圖2是示例性的微控制器的示意性框圖;圖3是圖2的微控制器的時鐘模塊組件的示意性框圖;圖4是圖1的配置模塊的子模塊的示意性框圖;圖5是在圖4的配置模塊的外圍裝置數(shù)據(jù)庫內外圍裝置記錄的示意性框圖;圖6是用于識別示例性微控制器的端口的信道設置的配置表的例圖;圖7是在圖4的配置模塊的所選外圍裝置數(shù)據(jù)庫內所選外圍裝置記錄的示意性框圖;圖8是圖4的配置模塊處理的流程圖;圖9是借助圖4的配置模塊所產(chǎn)生的用戶接口的示例性例圖;圖10是圖4的配置模塊的配置檢查模塊進行處理以便為微控制器內的外圍裝置選擇確定可兼容的配置設置的流程圖;圖11是在微控制器上可用的多個外圍裝置已經(jīng)被選擇啟動之后用戶接口的示例性例圖;圖12是圖4的配置模塊的配置檢查模塊進行處理以便為所選的一組外圍裝置計算一組可能的可兼容配置設置的流程圖;圖13是用于為在圖3中所示的時鐘模塊選擇設置的用戶接口菜單的示例性例圖;圖14是依照本發(fā)明的第二實施例用于內嵌測試微控制器的計算機系統(tǒng)的示意性框圖,包括用于產(chǎn)生配置數(shù)據(jù)的所修改配置模塊;圖15是圖14的修改配置模塊的子模塊的示意性框圖;圖16是在圖14的修改配置模塊的外部外圍裝置數(shù)據(jù)庫內的外部外圍裝置記錄的示意性框圖;圖17是在圖14的修改配置模塊的外部外圍裝置存儲內的所選外部外圍裝置記錄的示意性框圖;圖18是借助圖14的修改配置模塊所產(chǎn)生的用戶接口的示例性例圖;圖19是圖14的修改配置模塊進行處理的流程圖;和圖20和21是借助圖14的修改配置模塊所產(chǎn)生的用戶接口的進一步示例性例圖。
具體實施例方式
第一實施例圖1是用于依照本發(fā)明的第一實施例執(zhí)行內嵌測試微控制器的計算機系統(tǒng)的例圖。特別地是,圖1是包括計算機1的計算機系統(tǒng)的例圖,所述計算機1被編程來使用戶比現(xiàn)有技術中能夠更容易地編程并測試微控制器。
如圖1所示,計算機1連接到顯示屏2、鼠標3、鍵盤4和打印機5。計算機1還經(jīng)由接口6連接到電路板7,在所述電路板7上提供了微控制器8。計算機1本身包括微處理器10、盤驅動器11和存儲器12。
盤驅動器被配置成接收計算機盤15,所述計算機盤15使存儲器12被配置為用于定義交互式設計環(huán)境20的功能模塊,包括配置模塊22、匯編器24、編譯器26和調試器28。
在此實施例中,匯編器24、編譯器26和調試器28均包括常規(guī)的匯編器、編譯器和調試器,被安排來處理經(jīng)由盤驅動器11從盤15下載的以及在存儲器12中作為程序數(shù)據(jù)30存儲的高級計算機程序高級計算機程序,并且把所述高級計算機程序轉換為二進制代碼,所述二進制代碼被經(jīng)由接口6下載到微控制器8的存儲器中。
如稍后詳細描述,交互式設計環(huán)境20的配置模塊22被安排來使用戶能夠經(jīng)由鍵盤4和鼠標3輸入指令以便產(chǎn)生用于微控制器8的配置程序32。此配置程序32這樣配置微控制器8以致能夠特殊選擇微控制器8上的外圍裝置來啟用,并且接收并輸出到用于把微控制器8連接到電路板7的特殊引腳的信號。通過提供此配置模塊22,由于簡化了配置程序32的產(chǎn)生,所以顯著地使編程和測試微控制器8的過程易于進行。
更具體地說,如將要描述,配置模塊22通過為用戶把任務劃分為兩個階段來簡化配置數(shù)據(jù)的產(chǎn)生。
首先,向用戶展示用戶接口,所述用戶接口使用戶能夠識別要在微控制器8內啟用的一組外圍裝置以及用于那些所選外圍裝置的設置。然后配置模塊22利用用戶對外圍裝置的選擇來識別可能配置設置的有限子集,所述設置適于在微控制器8內外路由所選外圍裝置組的信號。
同時,向用戶展示用于圖解微控制器8的輸入和輸出的物理位置的顯示,所述物理位置由所識別的可能配置設置組產(chǎn)生。因而勝于必須考慮微控制器8的所有可能設置,用戶可以使用對不同的配置設置怎樣改變物理位置的可用反饋來從所圖解的子集中進行想要的選擇,在所述物理位置處由微控制器8接收并輸出用于所選外圍裝置的信號。當用戶識別所想要的設置組時,那么可以根據(jù)由配置模塊22所存儲的數(shù)據(jù)來自動產(chǎn)生配置程序32。
然后可以通過由編譯器26和匯編器24和配置程序32把來源于程序數(shù)據(jù)30的二進制代碼從計算機的存儲器12中下載到微控制器8的存儲器中,來測試所述微控制器8的性能。然后配置程序32使微控制器8采用由用戶經(jīng)由配置模塊22所選擇的配置設置。微控制器8于是將利用所識別的配置設置來運行二進制代碼并且所述微控制器8的輸出可以依照常規(guī)方式來分析。
最后,當二進制代碼和配置程序32的性能被認為是滿意的時,被編程來利用程序數(shù)據(jù)30和配置程序32的微控制器8可以被生成并包括在更大設備的電路板內。
在描述配置模塊22的結構和功能之前,首先參考圖2和3來描述示例性微控制器8的結構。
示例性微控制器的結構參照微控制器8的示意性框2,每個微控制器包括主芯片35,在所述主芯片35上提供有時鐘36、中央處理器37、程序存儲裝置38和一組外圍裝置40-1-40-N,每個外圍裝置包括被安排來在所述芯片上進行特殊任務的功能塊。典型的功能塊可以是紅外檢測器、計數(shù)器、捕獲計時器或UART等。在特定芯片上可用的精密外圍裝置在不同的微控制器之間可能會發(fā)生變化。
主芯片35借助一系列引腳42連接到電路板7。這些引腳42被安排來把信號從電路板的其余部分路由到主芯片35。常常,設置微控制器8以便可以由主芯片35上的CPU和外圍裝置40-1-40-N處理的輸入和輸出數(shù)目超過可用來路由進出主芯片35信號的引腳42的數(shù)目。這是因為通常在任何特定的應用中只會利用外圍裝置40-1-40-N的子集。
為了提供關于可以一起使用哪些外圍裝置組的靈活性以及為了使信號能夠路由到不同的引腳42,所述引腳42被分成引腳分組。這些分組在圖2中被示為端口A-K 45-56和包括一組控制信號57的端口。這些端口中的每個包括一組引腳,其中圖2中的端口被示為除端口K 50和端口L 49具有四個引腳并且端口57包括具有十六個引腳的一組控制信號引腳之外都包括八個引腳。除與控制信號相關聯(lián)的引腳組57之外,其余每個端口55-56與選擇器60和寄存器62相關聯(lián)。每個選擇器60經(jīng)由一組線路63連接到主芯片35上的外圍裝置40-1-40-N。然后每個選擇器60被安排為根據(jù)在與該選擇器60相關聯(lián)的寄存器62中所存儲的數(shù)據(jù)來選擇把經(jīng)由線路63所轉送的哪些信號連接到被連接到所述選擇器60的引腳。
因而通過把適當?shù)募拇嫫髦荡鎯υ诩拇嫫?2中,可以配置微控制器8以致把來自外圍裝置40-1-40-N的不同信號連接到所選的引腳42,所述引腳42用于把微控制器8連接到電路板7。
除需要被編程來使適當?shù)男盘柦M能夠經(jīng)由引腳42來路由的寄存器62之外,在典型的微控制器中,時鐘36和每個外圍裝置40-1-40-N還均具有與它們相關聯(lián)的一組寄存器64、65-1-65-N,所述寄存器使所述時鐘36和外圍裝置的單個參數(shù)能夠適合于所述微控制器8將要執(zhí)行的特定功能。
舉例來說,圖3是在微控制器8上可用的典型時鐘36的示意性框圖。典型的時鐘可以包括被安排來產(chǎn)生具有32Khz頻率的時鐘信號的低振蕩器80和被安排來產(chǎn)生具有5Mhz頻率的時鐘信號的高振蕩器82。另外時鐘可以包括被安排來使用來自低振蕩器80的32Khz信號來產(chǎn)生5Mhz時鐘信號的低PLL 84和被安排來把由高振蕩器82所產(chǎn)生的時鐘信號轉換為具有100Mhz頻率的時鐘信號的高PLL 86。依照這種方式,時鐘36將能產(chǎn)生一組四個時鐘信號,每個時鐘信號可以形成用于微控制器8的主時鐘的基礎。
為了使用戶能夠選擇應當把哪個信號利用為主時鐘信號,于是把低振蕩器80、低PLL 84、高振蕩器82和高PLL 86都連接到選擇器87,所述選擇器87隨后連接到寄存器88,所述寄存器88在此例子中可以是兩比特寄存器。通過把適當值存儲在寄存器88中,選擇器87被安排來確定由低振蕩器88、低PLL 84、高振蕩器82或高PLL 86所產(chǎn)生的哪個時鐘信號將被用為基礎時鐘頻率。
另外,時鐘36還可能包括一對除法器90、91,被安排來通過將時鐘除以預置值以根據(jù)由選擇器87所選擇的主時鐘信號來導出不同頻率的時鐘信號。這些預置值被存儲在與每個除法器90、91相關聯(lián)的另外的寄存器92、94內。因而依照這種方式,都基于由選擇器87所選主時鐘信號的一組不同的時鐘信號被時鐘模塊36導出并輸出,并且由主芯片35上的CPU 37和外圍裝置40-1-40-N利用。因而為了使時鐘模塊36能夠輸出適當信號,需要把另外的配置數(shù)據(jù)存儲在時鐘的寄存器92、94中。
為了編程微控制器8,因此需要產(chǎn)生并存儲三組數(shù)據(jù)。首先,二進制代碼需要被產(chǎn)生并存儲在主芯片35的程序存儲裝置38內,所述二進制代碼然后可以由所述主芯片35的CPU 37處理并運行。依照常規(guī)方式,此代碼可以由編譯器26、匯編器27根據(jù)程序數(shù)據(jù)30產(chǎn)生并且由調試器28修正。
然而另外,用于每個外圍裝置40-1-40-N和時鐘36的配置數(shù)據(jù)需要被創(chuàng)建并存儲在寄存器64、65-1-65-N內以便配置所述外圍裝置40-1-40-N和時鐘36,從而設置這些外圍裝置和時鐘使得執(zhí)行它們所被安排來執(zhí)行的專用功能。配置數(shù)據(jù)還需要被存儲在與每個端口45-56相關聯(lián)的寄存器62內,以便使由各個外圍裝置所利用的信號能夠往返于用于把微控制器8連接到電路板7的適當引腳42被路由。
現(xiàn)在參考圖4-13描述配置模塊22的結構和功能,所述配置模塊22使用戶能夠容易且有效地產(chǎn)生所有要求的配置數(shù)據(jù)。
配置模塊的功能組件的概述圖4是依照本發(fā)明的此實施例的配置模塊22的子組件的示意性框圖。
在此實施例中,配置模塊22包括接口生成器100,被安排來經(jīng)由鍵盤4和鼠標3接收指令并且在顯示屏2上顯示用戶接口;配置檢查模塊102,被安排來確定用于與微控制器8的端口45-56相關聯(lián)的寄存器62的哪些設置與所選外圍裝置組兼容;代碼生成模塊104,被安排來產(chǎn)生用于使適當值存儲在寄存器62中以便特定選擇外圍裝置40-1-40-N的配置程序32;和輸出模塊106,被安排來利用用于識別所選外圍裝置組和端口配置的數(shù)據(jù)來產(chǎn)生并輸出用于所識別的微控制器8配置的示意圖和印刷電路板圖。
除上述功能模塊之外,配置模塊22還包括外圍裝置數(shù)據(jù)庫108,用于存儲用來定義在特定微控制器8上可用的每個外圍裝置40-1-40-N和時鐘36的信號和潛在設置的數(shù)據(jù);一組配置表110,包括用于表明當不同的值存儲在與所述微控制器8的端口45-56相關聯(lián)的寄存器62中時哪些信號連接到微控制器8上的哪些引腳42的表;優(yōu)選輸入表112,用于表明哪些引腳42優(yōu)選由外圍裝置40-1-40-N用來接收輸入信號;規(guī)則數(shù)據(jù)庫114,包括用于定義在單個外圍裝置40-1-10-N和時鐘36內不同設置的兼容性要求的數(shù)據(jù);一組默認引腳名稱116,是用于識別與用于把微控制器8連接到電路板7的每個引腳42相關聯(lián)的默認名稱的標記;和當沒有預先規(guī)定寄存器的其它值時,用于定義一組默認配置值118以供存儲在所述微控制器的寄存器62中的數(shù)據(jù)。
最后,在使用中配置模塊22還被安排來存儲用于識別可接受的配置值的配置數(shù)據(jù)119以便存儲在寄存器62中以供特定選擇外圍裝置,以及存儲所選外圍裝置數(shù)據(jù)庫120以便存儲用于識別那些所選外圍裝置的一組所選外圍裝置記錄以及所建議的寄存器值以便連同用于時鐘36及其寄存器64的記錄一起存儲在與所選外圍裝置相關聯(lián)的寄存器65-1-65-N中。
圖5是配置模塊22的外圍裝置數(shù)據(jù)庫108內的記錄的示意性框圖。在此實施例中,外圍裝置記錄121連同與時鐘36相關聯(lián)的附加記錄以及任何其它全局參數(shù)一起為在微控制器8中可用的每個外圍裝置40-1-40-N存儲在外圍裝置數(shù)據(jù)庫108內,所述全局參數(shù)諸如與微控制器8的總輸入輸出引腳相關聯(lián)的數(shù)據(jù)。
在此實施例中,每個外圍裝置記錄121包括名稱數(shù)據(jù)122,用于識別外圍裝置的名稱;信號列表123,用于表明與該記錄的外圍裝置相關聯(lián)的輸入和輸出;和狀態(tài)數(shù)據(jù)124,用于為信號列表123中的每個條目識別特定的信號是輸入還是輸出還是兩者都是。
因而例如用于異步接收和發(fā)送模塊的外圍裝置記錄可以包括以下數(shù)據(jù)外圍裝置名稱UARTA信號列表UARTA_TX,UARTA_RX狀態(tài)數(shù)據(jù)輸出,輸入另外,每個外圍裝置記錄121還包括寄存器名稱列表125、一組寄存器記錄126和一組變量值127。寄存器名稱125、寄存器記錄126和變量值127數(shù)目在各種外圍裝置之間可能會發(fā)成變化。
寄存器名稱列表識別在外圍裝置記錄表示的外圍裝置中所包括的每個寄存器64、65-1-65-N的功能。因而在用于圖3的示例性時鐘的時鐘記錄的情況下,可以存儲以下寄存器名稱低頻率時鐘頻率高頻率時鐘頻率內時鐘頻率自由運行時鐘頻率CPU時鐘頻率寄存器記錄126包括用于與外圍裝置相關聯(lián)的寄存器64、65-1;65-N的每個可能值的記錄,所述外圍裝置記錄121為所述外圍裝置表示哪個能夠采用固定數(shù)目的設置之一。每個寄存器記錄121包括寄存器號碼130,用于識別寄存器記錄126所涉及的外圍裝置內的寄存器;由所述記錄126所識別的寄存器的可能設置的值132;和把由寄存器號碼130所識別的寄存器設置為由所述記錄126所識別的值132的效果的文本解釋的設置134。
因而例如在圖3的示例性時鐘的情況下,可以相對于用于選擇源信號的寄存器88來存儲以下寄存器記錄126寄存器號88值00設置低頻率時鐘寄存器號88值01設置高頻率時鐘等等類似地,外圍裝置記錄121的變量值127包括用于識別把與外圍裝置記錄121的外圍裝置相關聯(lián)的變量設置為不同值的效果的文本數(shù)據(jù)。
配置表圖6是依照本發(fā)明此實施例的配置表110的示例性例圖。
在此實施例中,為微控制器8的每個端口45-56存儲配置表,為所述微控制器把配置模塊22安排來產(chǎn)生配置數(shù)據(jù)。每個配置表包括一組引腳號,包括用于識別與該特定端口相關聯(lián)的引腳號135和與所述端口相關聯(lián)的一系列信號標記136,當被識別為信道值的特定值被存儲在用于該端口的寄存器62中時。
通常,從所指定的芯片邊角逆時針計數(shù)來分配芯片的引腳號。盡管在圖2的示意圖中,與相同端口相關聯(lián)的引腳被集中在一起示出,然而在實際的微控制器中并不要求與所述端口相關聯(lián)的引腳必須是在物理上相鄰的引腳,相反,端口的定義包括與相同的選擇器60和寄存器62相關聯(lián)的一組引腳。因而在圖6的例圖中,用于四個引腳的示例性端口的一組引腳號135被示為編號為62、64、65和66的四個引腳,編號為63的引腳被分配給不同的端口。
除一組引腳號135之外,每個配置表還包括當對應于信道值的值被存儲在寄存器62中時用于識別哪些信號被潛在地連接到與特定端口相關聯(lián)的哪個引腳的數(shù)據(jù)136。
因而在圖6的例子中,當零值被存儲在與由該表所表示的端口的選擇器60相關聯(lián)的寄存器62內時,如果串行輸入接口已經(jīng)被選為要由微控制器8利用的外圍裝置之一,那么用于喚醒CPU 37的喚醒信號WAKEUP被分配給引腳62,并且流確認STREAM_ACK、流狀態(tài)STREAM_STS和流請求STREAM_REQ信號被串行網(wǎng)絡接口經(jīng)由引腳64、65和66輸入和輸出。
如從圖6的示例性表中可以看出,改變在寄存器62內所存儲的值可以使不同的信號連接到不同的引腳上。相反例如在圖6的表中的喚醒信號WAKEUP的情況下,當與所述表的端口相關聯(lián)的寄存器被設置為零或者作為選擇被設置為三時,此信號由引腳62接收。如稍后將要更詳細地描述,在配置表110內所存儲的數(shù)據(jù)使配置檢查模塊102能夠識別可能的寄存器值組,其使所選外圍裝置組能夠在來自外圍裝置40-1-40-N的信號彼此不沖突的情況下(當它們視圖在相同的引腳上被輸出或接收時)在微控制器8內利用。
所選的外圍裝置數(shù)據(jù)庫圖7是所選外圍裝置數(shù)據(jù)庫120內所存儲的數(shù)據(jù)的示意性框圖。最初在此實施例中,所選外圍裝置數(shù)據(jù)庫被安排來存儲用于微控制器的時鐘模塊36的單個外圍裝置記錄140。如將要描述,在使用中當不同的外圍裝置由用戶經(jīng)由配置模塊22識別以被要求使用時,附加外圍裝置記錄140被添加到數(shù)據(jù)庫120。
在所選外圍裝置數(shù)據(jù)庫120中所存儲的外圍裝置記錄140都包括外圍裝置名稱141,其對應于從來自外圍裝置數(shù)據(jù)庫108的外圍裝置記錄121中所選外圍裝置的外圍裝置名稱122;一組寄存器值142和變量值143,是用于與由所述記錄的外圍裝置名稱141識別的外圍裝置相關聯(lián)的寄存器和變量的一組當前設置;位置144,是用于識別在由接口生成器100所產(chǎn)生的屏幕顯示內應當在哪示出用于顯示外圍裝置名稱141的框以便表示所識別的外圍裝置存在能夠在微控制器8內啟用的一對xy坐標。
配置模塊的處理現(xiàn)在參考圖8-13描述配置模塊22的處理。
參照作為配置模塊22的處理的流程圖的圖8,最初當配置模塊22被首先調用時,接口生成器100使(S8-1)初始用戶接口屏幕顯示在顯示屏2上。
圖9是依照本發(fā)明此實施例的初始用戶接口顯示145的示例性例圖。從左至右,用戶接口顯示145包括外圍裝置窗口150,用于顯示一系列圖標151,所述圖標151與在微控制器8內所存在的每個外圍裝置40-1-40-N相關聯(lián),其中可以為所述微控制器8產(chǎn)生配置數(shù)據(jù);還包括主窗口152,在其內示出了微控制器8的圖示154,其中將為所述微控制器8產(chǎn)生配置數(shù)據(jù)。
在此實施例中,圖示154在其邊緣具有微控制器的引腳42的表示,每個引腳與標記156相關聯(lián),所述標記156最初對應于與引腳號相關聯(lián)的默認引腳名稱116,所述引腳號由在配置模塊22內存儲的默認引腳名稱數(shù)據(jù)116來識別。這些引腳名稱被依照引腳號次序來安排由此圖解輸入和輸出的相對位置,所述位置由引腳標記156相對于在微控制器8的一個邊角的唯一標記157來識別,所述唯一的標記157還被圖解為在控制器8的示意圖154上的標記157。
最后,用戶接口顯示145在右手側還包括配置窗口160,在所述配置窗口160內顯示端口配置數(shù)據(jù)162,用于為微控制器8的端口45-56識別每個寄存器62的當前寄存器設置,其中將為所述微控制器8連同用于表明與當前配置163內的通用輸入和輸出相關聯(lián)的引腳數(shù)目的數(shù)目一起產(chǎn)生配置數(shù)據(jù)。最初所述設置將是對應于在配置模塊22內所存儲的默認配置值118的設置。
在此端口配置窗口160的底部邊緣是一組配置按鈕164,用于在由配置模塊22內所存儲的配置數(shù)據(jù)119來表示的當前適用配置之間進行選擇。當設備被首次調用時,所存儲的配置數(shù)據(jù)119包括用于識別單個配置的數(shù)據(jù),包括一組空值,每個值用于一個端口,如將要描述所述空值將使端口配置窗口160顯示對應于所存儲的默認配置118的端口配置數(shù)據(jù)162和引腳標記156以便對應于所存儲的默認引腳名稱116。
在鼠標3的控制下利用指針165,于是用戶能夠選擇用戶接口顯示屏145的各個區(qū)域,所述用戶接口顯示屏145使配置模塊22改變所顯示的用戶接口顯示145和在所選外圍裝置數(shù)據(jù)庫120中存儲的數(shù)據(jù)和配置數(shù)據(jù)119,這樣用戶可以選擇用于微控制器8的適當寄存器設置,現(xiàn)在將要進行描述。
返回到圖8,一旦接口生成器100已經(jīng)在屏幕2上顯示初始用戶接口顯示145,那么接口生成器(S8-2)檢查用戶是否已經(jīng)在鼠標3的控制下使用指針165選擇外圍裝置窗口150中的外圍裝置151的任何表示。在此實施例中,利用選擇外圍裝置151的表示來使用戶能夠識別他們想要特定的外圍裝置可在微控制器8上使用。
如果是這種情況,那么接口生成器100(S8-3)創(chuàng)建新選擇的外圍裝置記錄140并且把所述記錄140存儲在所選外圍裝置數(shù)據(jù)庫120中。在新近產(chǎn)生的所選外圍裝置記錄140中,對應于從外圍裝置列表151所選擇的外圍裝置,外圍裝置名稱141被設置為外圍裝置記錄121的外圍裝置名稱122。然后寄存器值和變量值142、143被設置為所選外圍裝置的默認值,并且xy位置被設置為跟蹤指針165直到用戶放開鼠標3上的按鍵。
因而例如如果將選擇在外圍裝置窗口頂部的SCI智能卡接口圖標,那么可能會產(chǎn)生以下記錄來存儲外圍裝置名稱SCI寄存器值0,0,0,0,0,0變量值無位置指針的xy坐標然后接口生成器100使以由新的外圍裝置記錄140所識別的位置144為中心的正方塊顯示在屏幕2上,在所述屏幕2內對應于新創(chuàng)建的外圍裝置記錄140的外圍裝置名稱141的文本出現(xiàn)在所述塊中。
然后配置模塊22調用配置檢查模塊102來確定(S8-4)一組可能的端口配置,所述端口配置啟用對應于外圍裝置組的信號輸入和輸出,現(xiàn)在已經(jīng)為所述外圍裝置存儲了外圍裝置記錄140。
參照配置檢查模塊102的處理的流程10,在已經(jīng)把新的外圍裝置記錄140存儲在所選外圍裝置數(shù)據(jù)庫120中之后,配置檢查模塊102最初繼續(xù)確定(S10-1)端口信道設置,所述端口信道設置可能受到包括此附加外圍裝置的影響。
更具體地說,配置檢查模塊102最初識別外圍裝置記錄121的信號列表123,所述外圍裝置記錄121具有對應于新近產(chǎn)生的所選外圍裝置記錄140的外圍裝置名稱141的外圍裝置名稱122。
因而例如在存儲用于先前描述的外圍裝置UART A的新選外圍裝置記錄140的情況下,信號列表123可能會包括列表UART A_RX和UARTA_TX。
然后配置檢查模塊102繼續(xù)識別配置表110和信道值136,其與任何所識別的信號相關聯(lián)。這通過把配置表110用為查找表以便確定一組可能的端口和信道值來實現(xiàn),其可能受到添加新的外圍裝置的影響。
因而例如對于特定的外圍裝置,配置檢查模塊102可以識別由該外圍裝置所利用的信號當信道值被設置為1時與端口D的表相關聯(lián),以及當信道值被設置為2時與端口K的表相關聯(lián)。
然后配置檢查模塊102繼續(xù)識別所識別的信道設置組的所有可能組合。因而在上面例子的情況下,可能會識別三個組合即把端口D設置到信道1,把端口K設置到信道2或者把端口D設置到信道1并且把端口K設置到信道2。
在已經(jīng)識別此可能影響的端口設置組之后,配置檢查模塊102(S10-2)為每個識別的端口設置組合確定與那些端口設置相關聯(lián)的完整信號列表。使用所識別的組合從配置表110讀出這些值。
然后配置檢查模塊102檢查對于每個組合來說,信號列表是否包括與外圍裝置相關聯(lián)的信號列表123中的所有條目,為所述外圍裝置剛好存儲新選擇的外圍裝置記錄140。如果情況不是這樣,那么刪除所識別的端口設置組合。
因而依照這種方式配置檢查模塊102識別一組端口設置組合,所述端口設置組合足以使由新近選擇的外圍裝置所要求的所有信號能夠輸入和輸出。
然后配置檢查模塊102(S10-3)隨后繼續(xù)處理每個識別的可接受組合。特別地,把與特定組合相關聯(lián)的端口設置與配置數(shù)據(jù)庫119中的每個現(xiàn)有條目相比較,在此實施例中所述端口設置都包括一系列值,每個值用于每個端口45-56,其中所述條目可以為相關聯(lián)的端口采取任何信道設置,或者作為選擇包括空值。如果當前正處理的端口配置組合識別配置數(shù)據(jù)項中的空值或者作為選擇把相同的端口設置值識別為由配置數(shù)據(jù)項為特定端口所識別的端口設置,那么產(chǎn)生并存儲新的配置數(shù)據(jù)項。
在此實施例中,每個新產(chǎn)生的配置數(shù)據(jù)項包括配置數(shù)據(jù)項的拷貝,被利用對應于所影響的識別端口的任何空值的端口設置值來處理,所述端口被設置為由當前考慮的組合所識別的相應端口設置。
因而例如,相對于以下存儲的配置數(shù)據(jù)項來處理以下識別的端口設置組合的可能影響組D=1K=2D=1并且K=2
其中-表明信道的空值;在所有組合已經(jīng)被處理之后,可能會存儲以下配置數(shù)據(jù)項
在配置檢查模塊102已經(jīng)處理所有識別影響的端口設置組合之后,所述配置檢查模塊102然后確定(S10-4)是否已經(jīng)存儲了任何新的配置數(shù)據(jù)項。如果沒有存儲新的項,那么這表明添加新的外圍裝置與先前所選擇的外圍裝置組是不兼容的并且沒有可能的端口設置,所述端口設置可以使所有選擇的外圍裝置組能夠接收并輸出與那些外圍裝置相關聯(lián)的所有信號。然后配置檢查模塊102注意到此錯誤。
返回到圖8,如果在配置檢查模塊102處理之后確定沒有可能的配置組可以適應所選擇的外圍裝置組(S8-5),那么接口生成器100繼續(xù)刪除新近產(chǎn)生的所選外圍裝置記錄140并且顯示用于識別為什么無法把所選擇的外圍裝置添加到當前選擇列表的警告。通過利用所產(chǎn)生的新外圍裝置的影響端口設置列表并且識別哪些其它所選外圍裝置使所識別的端口將被設置為候選值來產(chǎn)生此警告。
返回到圖10,如果產(chǎn)生新的配置數(shù)據(jù)項,那么使用這些來代替先前存儲的配置數(shù)據(jù)119。然后配置檢查模塊102為每個確認數(shù)據(jù)項計算相關聯(lián)的引腳名稱組。在此實施例中,這通過隨后獲取與端口45-46相關聯(lián)的每個引腳并且利用配置表識別該引腳的引腳標記,所述配置表使用由配置數(shù)據(jù)所識別的端口設置來與該引腳和該引腳的引腳標記有關。
當已經(jīng)產(chǎn)生完整的引腳名稱列表時,檢查每組引腳標記,所述標記對應于總輸入/輸出標記還是對應于一個外圍裝置的信號列表123中的信號,其中所述外圍裝置具有對應于任何所選外圍裝置記錄140的外圍裝置名稱141的外圍裝置名稱122。如果情況不是這樣,那么使用所存儲的默認引腳名稱116把引腳的標記復位為該引腳的默認標記。最后,繼而根據(jù)在與每個配置數(shù)據(jù)項相關聯(lián)的引腳名稱列表中所包括的通用輸入和輸出的數(shù)目來分類所述配置數(shù)據(jù)項。
一旦已經(jīng)產(chǎn)生引腳標記并且依照所包括的通用輸入和輸出的數(shù)目增加的次序來排序配置數(shù)據(jù)119,那么配置檢查模塊102(S10-7)處理每個產(chǎn)生的引腳名稱列表來識別所述配置數(shù)據(jù)是否都包括任何信號的任何重復表示,其中所述任何信號被外圍裝置數(shù)據(jù)庫108中的狀態(tài)數(shù)據(jù)125識別為輸入信號。如果情況是這樣,那么配置檢查模塊102利用優(yōu)選的輸入列表112來把除優(yōu)選輸入之外的任何重復輸入的引腳標記設置為如配置模塊102的默認引腳名稱116所表示的那些引腳的默認引腳名稱。
最后,配置檢查模塊102通過利用引腳標記156來重新標記所述引腳的表示并且通過經(jīng)由線路把用于表示所選外圍裝置的框連接到與該所選外圍裝置的信號相關聯(lián)的引腳,來使(S10-8)接口產(chǎn)生模塊100更新用戶接口顯示145,其中所述引腳標記156對應于與最大通用輸入和輸出數(shù)目相關聯(lián)的配置數(shù)據(jù)項的引腳標記。
圖11是在已經(jīng)使用用戶接口145選擇了多個外圍裝置之后用戶接口顯示145的示例性例圖。把圖11與圖9相比較,可以看出在主窗口152內所示出的是九個正方塊,每個正方塊與先前所選的不同外圍裝置相關聯(lián)。還把圖9和11相比較,可以看出已經(jīng)更新了引腳標記156以便反映當啟用所圖解的外圍裝置時這些引腳的目的變化。最后,比較圖9和11中的配置窗口160,配置數(shù)據(jù)162已經(jīng)被改變以便對應于當前所選配置數(shù)據(jù)項的端口設置,其用于表明對于那些端口來說已經(jīng)用默認值118來代替空值并且所計算的總輸入輸出線路163的數(shù)目也已經(jīng)被更新為具有作為部分配置按鈕164組顯示的可用配置的數(shù)目。
返回到圖8,如果接口生成器100確定(S8-2)用戶沒有在外圍裝置窗口150中選擇外圍裝置列表151中的條目之一,那么接口生成器100進行檢查(S8-7)看看用戶是否已經(jīng)在主窗口152內選擇了用于表示所選外圍裝置的一個框167。
如果情況是這樣,那么接口生成器100檢查是否已經(jīng)利用鼠標左或右鍵選擇了框167。如果已經(jīng)利用鼠標左鍵同時按下該鍵選擇了框167,那么接口生成器100繼續(xù)利用指針165的位置來改變所選外圍裝置的位置坐標144。
當放開左鍵時,接口生成器100檢查(S8-10)指針165的坐標144是否識別了在主窗口152的區(qū)域之外的位置。如果情況不是這樣,那么接口生成器通過重新定位用于表示所選外圍裝置的框167以便其以指針165的坐標為中心,來更新(S8-11)用戶接口顯示。
相反地,如果接口生成器100確定(S8-10)指針165的坐標識別了在主窗口152區(qū)域之外的位置,那么這被視為表明用戶想要從當前被示為在微控制器8內活動的外圍裝置組中移除所選外圍裝置。因此接口生成器100從所選外圍裝置數(shù)據(jù)庫120內刪除所選外圍裝置的所選外圍裝置記錄140,并且通過刪除用于表示所選外圍裝置的框167來更新主窗口152內的顯示。然后接口生成器100調用配置檢查模塊102來更新配置數(shù)據(jù)119以便說明刪除所選外圍裝置并且據(jù)此重新標記出現(xiàn)在顯示145中的引腳152,現(xiàn)在將參考圖12來進行描述。
參照由配置檢查模塊102執(zhí)行的處理的流程12,此時所選外圍裝置數(shù)據(jù)庫120已經(jīng)在其中存儲了一組所選外圍裝置記錄140,所述所選外圍裝置記錄140表示彼此兼容的外圍裝置的選擇。即存在至少一組端口配置,其使所有所選外圍裝置能夠接收并輸出所有它們所要求的信號。
為了產(chǎn)生一組新的配置數(shù)據(jù)119,配置檢查模塊102最初(S12-1)選擇外圍裝置的第一外圍裝置記錄140并且繼續(xù)依照先前所描述的相同方式來識別(S12-2)用于輸出并接收與由第一外圍裝置記錄所識別的外圍裝置相關的信號以便相對于圖10中的步驟(S10-1)更新配置數(shù)據(jù)。
然后配置檢查模塊102通過識別(S12-3)哪些所識別的影響端口設置的可能組合使第一外圍裝置的所有輸入和輸出能夠被接收并輸出。然后配置檢查模塊102為每個端口設置組合產(chǎn)生并存儲配置數(shù)據(jù)項119,為此可以接收并輸出所選外圍裝置的一組完整的輸入和輸出。這些產(chǎn)生的配置數(shù)據(jù)項119包括配置數(shù)據(jù)119,其中端口設置為所識別的組合識別了端口設置并且所有其余的端口設置由空值來表示。
然后配置檢查模塊102(S12-4)檢查是否已經(jīng)到達了所選外圍裝置數(shù)據(jù)庫120內的最終外圍裝置記錄140。如果情況不是這樣,那么處理(S12-5)下一所選外圍裝置記錄140繼而識別(S12-6)該外圍裝置的一組影響的端口設置。然后該外圍裝置受影響的端口設置的可能組合被過濾(S12-7)以便除去那些不能夠使完整的信號組被當前所考慮的外圍裝置接收并輸出的組合。所識別的這組可能組合用于通過依照與先前已經(jīng)相對于圖10中的步驟(S10-3)所描述的相同方式確定哪些組合與當前存儲的配置數(shù)據(jù)項兼容,來產(chǎn)生另外的配置數(shù)據(jù)項(S12-8)。
對于每個連續(xù)的所選外圍裝置記錄140重復此過程(S12-4-S12-8)直到到達所選外圍裝置數(shù)據(jù)庫120內最終的外圍裝置記錄140。
此時配置模塊22已經(jīng)在其中存儲了配置數(shù)據(jù)119,所述配置數(shù)據(jù)119識別了所有可能的端口配置使當前所選外圍裝置組所要求的所有信號能夠被輸入或輸出。依照與先前已經(jīng)描述的相同方式,相對于步驟(S10-6-S10-8),然后配置檢查模塊102(S12-9)確定所存儲的配置數(shù)據(jù)119的每個項的引腳名稱列表繼而按照存在于每個引腳名稱列表中的通用輸入和輸出數(shù)目的組合來排序。然后配置檢查模塊102(S12-10)檢查每個所產(chǎn)生的引腳名稱列表來識別任何所選外圍裝置的任何輸入信號的任何重復表示并且沒到檢測到此時配置檢查模塊102利用優(yōu)選的輸入列表112來識別哪個輸入是優(yōu)選的輸入并且把任何其余重復輸入的引腳名稱修改為那些引腳的默認引腳名稱116。
最后,配置檢查模塊102使(S12-11)接口生成器100使用配置數(shù)據(jù)和與最大數(shù)目的通用輸入和輸出相關聯(lián)的配置數(shù)據(jù)項119的引腳名稱組來在主窗口152中重新標記156所述引腳表示,并且更新配置窗口160中的端口配置數(shù)據(jù)162。然后接口生成器100使用于把用來表示外圍裝置167的每個框連接到與那些外圍裝置相關聯(lián)的各自輸入和輸出的線路表示被更新使得圖解當前所選擇的配置,其中所述那些外圍裝置如由引腳數(shù)據(jù)156標記。
因而依照這種方式通過從外圍裝置列表151中選擇外圍裝置組并且從主窗口152內除去外圍裝置,用戶能夠使用戶所想要的外圍裝置組的識別在微控制器8上啟用。同時對于每個選擇,配置檢查模塊102確定用于識別所要求端口設置的一組配置數(shù)據(jù)項以便使與當前所選外圍裝置組相關聯(lián)的信號能夠被輸出,并且識別了何時進行了不兼容的外圍裝置選擇并且為什么這種選擇的外圍裝置組是不兼容的。
此外如進一步論述,配置模塊22還使微控制器8的圖示154連同一組引腳名稱156一起顯示,其用于表明當選擇特定的端口設置組時對于給定外圍裝置組來說微控制器的每個引腳目的,其中所述端口設置組與所識別的外圍裝置選擇相兼容。
返回到圖8,如果接口產(chǎn)生模塊100確定用戶沒有選擇用于表示所選外圍裝置(S8-7)的一個框167,那么接口生成器100(S8-13)檢查是否已經(jīng)選擇了微控制器154的表示區(qū)域。
如果情況是這樣,那么在此實施例中這用于使用戶能夠輸入用來識別存在于微控制器8中的時鐘模塊36的設置。
更具體地說,最初用戶接口生成器100對應于時鐘模塊來識別外圍裝置數(shù)據(jù)庫108以及所選外圍裝置數(shù)據(jù)庫120內的記錄(S8-14)繼而使接口生成器100產(chǎn)生顯示菜單(S8-15)以便使用戶能夠改變當前的時鐘設置。
圖13是用于改變微控制器8上時鐘36的設置的用戶接口顯示菜單的示例性例圖。如圖13所示,菜單包括對應于來自外圍裝置數(shù)據(jù)庫108的所選外圍裝置記錄121的寄存器名稱125的寄存器名稱列表200,接下來顯示一系列當前值202,所述當前值202包括設置解釋134,其是對應于所選外圍裝置的變量值142、143和寄存器值的解釋。
當在鼠標3的控制下使用指針165選擇單個寄存器時,那么下拉菜單204呈現(xiàn)識別用于寄存器的所有可能的設置134,或者作為選擇顯示使用戶能夠輸入變量值127的框。然后用戶可以通過輸入用于從菜單204選擇條目的數(shù)據(jù)或者經(jīng)由鍵盤4輸入數(shù)據(jù)來改變當前設置。
如果在改變所述值之后用戶對那些設置表示滿意,那么用戶使用指針165來選擇OK按鈕206。然后這使接口生成器100更新所選外圍裝置的寄存器值142和變量值143以便對應于所選擇的設置。作為選擇,用戶可以選擇取消按鈕207,在這種情況下并不更新所選外圍裝置的寄存器值142。在選擇了OK按鈕206或取消按鈕207之后,接口生成器100恢復成顯示主顯示145。
依照類似方式,當接口生成器102確定(S8-8)已經(jīng)使用鼠標右鍵選擇了被表示為現(xiàn)有外圍裝置的框167時,產(chǎn)生類似的顯示菜單以便輸入并改變與所選外圍裝置相關聯(lián)的設置。然后依照相同方式更新用于所選外圍裝置的所選外圍裝置記錄140的寄存器值142和變量值143,其中時鐘的變量已經(jīng)被描述為正在更新。類似地,在已經(jīng)進行任何改變并且選擇OK按鈕之后,更新相應的所選外圍裝置記錄140的寄存器值142和變量值143(S8-16)。
因而依照這種方式用戶能夠改變與單個外圍裝置記錄140相關聯(lián)的默認設置并且因而識別所選外圍裝置所要求存儲在寄存器65-1-65-N;88;92、94中的值。
返回到圖8,如果接口生成器100確定(S8-13)用戶沒有選擇對應于芯片154的區(qū)域,那么接口生成器100(S8-17)檢查是否已經(jīng)選擇了用戶接口屏幕上的任何配置控制164。
在此實施例中,配置控制164包括用于選擇由配置模塊所存儲的第一、前一個、下一個或最后配置數(shù)據(jù)項119的一系列按鈕。當選擇一個按鈕時,利用由所選按鈕相對于當前正用來產(chǎn)生顯示的配置數(shù)據(jù)項所識別的配置數(shù)據(jù)項來產(chǎn)生(S8-19)新的用戶接口顯示145。這通過使用與新近選擇的配置數(shù)據(jù)項相關聯(lián)的引腳標記來重新標記引腳156,更新配置窗口160并且重新連接用于表示外圍裝置的塊167來實現(xiàn)。
因而通過在配置控制面板164上選擇不同的按鈕,用戶能夠在當前所選外圍裝置組的不同可接受的配置之間進行卷動。這樣做時,當顯示上的引腳標記對應于實際微控制器8上物理引腳的物理位置時,用戶能夠根據(jù)不同的端口設置看出其中存在外圍裝置的各個不同輸入和輸出的物理位置。因而依照這種方式可以回顧可能的端口設置并且可以對于特定的所選外圍裝置組識別優(yōu)選的端口設置組。
由于只對于適于接收并輸出當前所選外圍裝置組的信號的端口設置才存儲配置數(shù)據(jù),所以用戶只需要回顧有限數(shù)目個可能的端口設置組合。在本實施例中通過利用任何端口設置的默認值來進一步減少此有限的選擇,其中所述端口設置對應于配置數(shù)據(jù)項中的空值。因而用戶不必回顧任何重復組合,其改變的端口設置對當前所選外圍裝置組的輸入或輸出沒有影響。
在檢查(S8-17)是否已經(jīng)選擇了任何配置按鈕164之后,接口生成器100然后檢查用戶是否已經(jīng)輸入了用于構建配置程序32的指令來配置微控制器8,所述配置對應于當前所選設置和端口配置。如果情況不是這樣,那么接口生成器100再次檢查用戶是否已經(jīng)利用指針165選擇了在外圍裝置窗口150內所顯示的任何外圍裝置(S8-2)。
當接口生成器100確定(S8-20)已經(jīng)輸入用于產(chǎn)生配置程序32的指令時,然后調用輸出模塊106。輸出模塊106最初(S8-21)檢查用于單個外圍裝置和時鐘的寄存器設置是否是可兼容的。這通過利用規(guī)則數(shù)據(jù)庫114內的規(guī)則和所選外圍裝置數(shù)據(jù)庫120內的所選外圍裝置記錄140的寄存器值142和變量值143來實現(xiàn)。存在某種不兼容性的典型原因可能是為外圍裝置所選擇的波特率與可能的時鐘信號不兼容,所述時鐘信號可以是根據(jù)時鐘36的設置而產(chǎn)生的。
如果輸出模塊106確定任何寄存器設置是不兼容的,那么輸出模塊106顯示(S8-22)用于識別設置不兼容性的錯誤消息(S8-22)以便用戶可以據(jù)此調整這些設置。
如果輸出模塊106確定(S8-21)在不同外圍裝置和時鐘的設置之間沒有不匹配,那么輸出模塊106調用代碼生成模塊104來產(chǎn)生配置程序32和所選外圍裝置數(shù)據(jù)庫140內的外圍裝置記錄140的寄存器值142和變量值143以便設置微控制器8的寄存器62、64、65-1;65-N內的相應值,使得依照對應于由用戶接口所圖解的方式來配置微控制器8,其中所述代碼生成模塊104利用當前所選擇的配置項來產(chǎn)生顯示。
更具體地說,根據(jù)在所選外圍裝置數(shù)據(jù)庫120中所存儲的所選外圍裝置記錄140的寄存器值142和變量值143來確定所選外圍裝置的每個寄存器65-1-65-N寄存器值。類似地,根據(jù)與時鐘相關聯(lián)的所選外圍裝置記錄140的寄存器值142和變量值143來確定與時鐘36相關聯(lián)的寄存器64的寄存器值。最后,根據(jù)當前用來產(chǎn)生用戶接口顯示145的配置數(shù)據(jù)項來確定與每個端口45-46相關聯(lián)的寄存器62的寄存器值,其中任何空值被復位為由所存儲的默認配置數(shù)據(jù)118識別的默認值。
因此代碼生成模塊104利用所存儲的所選外圍裝置記錄140和當前選擇的配置數(shù)據(jù)項119來產(chǎn)生配置程序32以便使微控制器8把所識別的寄存器值存儲在微控制器8的適當寄存器62、64、65-1-N-65-N中。
然后把所產(chǎn)生的此配置程序32存儲在計算機的存儲器11中。然后配置程序32可以經(jīng)由接口6被下載到電路板7上的微控制器8中,其中所述接口6依照對應于所選配置數(shù)據(jù)的方式來配置微控制器8,以便可以利用微控制器8的所選寄存器設置來測試其它程序數(shù)據(jù)30來確定這些設置和所編譯程序數(shù)據(jù)30的組合是否會使微控制器8執(zhí)行所想要的功能。
在此實施例中,除產(chǎn)生用于使微控制器采用一組識別設置的配置程序32之外,輸出模塊106還被安排成以微控制器8的設計圖示的形式來產(chǎn)生用于打印微控制器8表示的數(shù)據(jù),所述設計圖示把微控制器8的輸入和輸出示為由所選配置引腳標記來識別,其中依照與所選外圍裝置組相關聯(lián)的信號列表123來分組所述引腳標記,以及被示為微控制器8或印刷電路板的物理表示,其中依照與用戶接口顯示145中的圖示154類似的方式按照引腳的物理位置來標記所述引腳。
此外在此實施例中,輸出模塊106還被安排來產(chǎn)生用于以它們可以被輸出到軟件包的形式來表示這些例圖,例如以便設計供微控制器8使用的印刷電路板并且對將存在于電路板7上的配置微控制器8及其它芯片進行電兼容性檢查,其中所述微控制器8已經(jīng)按照配置數(shù)據(jù)和寄存器設置的確定來設置。
第二實施例現(xiàn)在將參考圖14-21描述本發(fā)明的第二實施例。
在第一實施例中描述了用于執(zhí)行內嵌測試微控制器的計算機系統(tǒng),其中測試電路板7上的單個微控制器8。常常微控制器8被附于在相同電路板上所提供的多個外部外圍裝置上。在此實施例中,將描述其中可以為微控制器的配置編程并且其中可以另外產(chǎn)生用于外部外圍裝置的配置數(shù)據(jù)的系統(tǒng)。
依照本發(fā)明第二實施例參照用于執(zhí)行內嵌測試的計算機系統(tǒng)的例14,圖14的計算機系統(tǒng)的大部分與相對于第一實施例所描述的系統(tǒng)相同,并且已經(jīng)用相同的附圖標記來識別先前出現(xiàn)在第一實施例的系統(tǒng)中的元件。然而與第一實施例對比,在此實施例中代替測試其上單獨附有微控制器8的電路板7,在此實施例中,所測試的電路板7其上提供有微控制器8和多個外部外圍裝置芯片300-1-300-N。在芯片上所提供的典型外部外圍裝置可以是Zigbee芯片、以太網(wǎng)連接和一個或多個USB端口。
當將為包括微控制器和多個外部外圍裝置300-1-300-N的電路板編程時,除微控制器8的內部外圍裝置的配置之外,還要求在微控制器8的存儲器內所存儲的任何程序被用來依照與處理內部外圍裝置相兼容的方式來編程外部外圍裝置300-1-300-N的寄存器。因而例如在Zigbee芯片的情況下,要求UART內部外圍裝置在微控制器內可用,并且必須使Zigbee芯片和內部UART的配置在波特率、奇偶校驗等方面相匹配。為此,依照本發(fā)明的此實施例,代替先前實施例的配置模塊22,提供修改的配置模塊302,用于便于為微控制器8編程以便選擇適當?shù)膬炔客鈬b置并且確定用于所選內部外圍裝置以及所連接的外部外圍裝置301-300-N的適當配置數(shù)據(jù),現(xiàn)在將要進行描述。
修改的配置模塊圖15是依照本發(fā)明的此實施例的修改配置模塊302的子組件的示意性框圖。
修改配置模塊302基本上與先前實施例的配置模塊22相同,不過其另外還包括外部外圍裝置數(shù)據(jù)庫304,用于存儲用來定義由交互式設計環(huán)境20所支持的外部外圍裝置的信號和潛在設置的數(shù)據(jù);還包括外部外圍裝置存儲裝置306,可操作來存儲用戶為與所述外部外圍裝置相關聯(lián)的寄存器所選擇的值,和選擇模塊308,用于處理與外部外圍裝置相關的用戶輸入,如稍后將進一步地詳細描述。
外部外圍裝置數(shù)據(jù)庫圖16是在外部外圍裝置數(shù)據(jù)庫304內所存儲的外部外圍裝置記錄310的示意性框圖。對于交互式設計環(huán)境20被安排來支持的每個多個外部外圍裝置300-1-300-N來說,在外部外圍裝置數(shù)據(jù)庫304內存儲外部外圍裝置記錄310。外部外圍裝置記錄310的結構類似于在外圍裝置數(shù)據(jù)庫108內所存儲的外圍裝置記錄212的結構。依照與先前描述的外圍裝置記錄121相同的方式,在此實施例中,外部外圍裝置記錄310包括用于識別外圍裝置名稱的名稱數(shù)據(jù)122、寄存器名稱列表125、一組寄存器記錄126和一組變量值127,其中寄存器記錄126和變量值與先前已經(jīng)描述的完全相同。
然而,代替具有信號列表123和狀態(tài)數(shù)據(jù)124,在此實施例中,外部外圍裝置記錄310均包括優(yōu)選的連接數(shù)據(jù)312,用于為外部外圍裝置識別優(yōu)選在微控制器8內可用的內部外圍裝置以便使所述微控制器8能夠與外部外圍裝置通信;連接要求列表313,用于為所述外部外圍裝置識別寄存器值和諸如波特率之類的變量,其被要求在內部外圍裝置和外部外圍裝置之間匹配;和一組虛擬要求314用于如果無法使適當?shù)膬炔客鈬b置通信可用,那么識別用于在微控制器和外部外圍裝置之間直接通信的一組輸入和輸出引腳。
因而例如在外部外圍裝置包括Zigbee芯片的情況下,所述Zigbee芯片通常經(jīng)由UART連接與微控制器通信,用于表示Zigbee芯片的外部外圍裝置記錄310的優(yōu)選連接數(shù)據(jù)312可以包括優(yōu)選的連接UART A,UART B這種條目可能會表明每當在交互式設計環(huán)境20內選擇Zigbee芯片時,優(yōu)選經(jīng)由內部外圍裝置UART A把所選擇的第一Zigbee芯片連接到微控制器8。如果UART A將不可用并且將選擇Zigbee芯片來用于連接,那么可能優(yōu)選經(jīng)由內部外圍裝置UART B來連接。最后如果UARTA和UART B都不可用,那么交互式設計環(huán)境20將試圖配置微控制器8以便仿真另外的UART連接,如稍后將進一步描述。
外部外圍裝置存儲裝置圖17是在外部外圍裝置存儲裝置306內所存儲的多個所選外部外圍裝置記錄340的示意性框圖。當首先調用交互式的設計環(huán)境時,外部外圍裝置存儲裝置306不存儲任何數(shù)據(jù)。如稍后所述由用戶經(jīng)由用戶接口選擇外部外圍裝置的表示時,把新的所選外部外圍裝置記錄340存儲在外部外圍裝置存儲裝置306內。
外部外圍裝置存儲裝置306中所存儲的所選外部外圍裝置記錄340類似于在用于存儲內部所選外圍裝置記錄140的所選外圍裝置數(shù)據(jù)庫120中所存儲的外圍裝置記錄140。在此實施例中,所選外部外圍裝置記錄340均包括外圍裝置名稱341,其對應于來自外部外圍裝置數(shù)據(jù)庫304的外部外圍裝置記錄310的所選外圍裝置的外圍裝置名稱122;一組寄存器值342和變量值343,是當前與由所述記錄所識別的外部外圍裝置相關聯(lián)的寄存器和變量的一組設置;位置數(shù)據(jù)344,是一對x,y坐標,用于識別在由接口生成器100所產(chǎn)生的屏幕顯示內應當在哪里示出用來顯示外部外圍裝置名稱341的框以便表示存在所識別的外部外圍裝置;和連接數(shù)據(jù)345,用于識別內部外圍裝置或引腳連接,所述引腳連接用于把由所述記錄所表示的外部外圍裝置連接到微控制器8,如稍后將要詳細描述。
使用修改配置模塊的處理當首先調用修改配置模塊302時,接口生成器100使初始用戶接口屏幕顯示在顯示屏2上。圖18是依照本發(fā)明此實施例的初始用戶接口顯示145的示例性例圖。用戶接口顯示幾乎與最初在第一實施例中所產(chǎn)生的用戶接口顯示完全相同,只是在用戶接口的左手邊上顯示的外圍裝置窗口150被分成兩個部分用于顯示一系列圖標151的第一窗口150,所述每個圖標151與微控制器8內存在的每個內部外圍裝置40-1-40-N相關聯(lián),其中可以為所述微控制器8產(chǎn)生配置數(shù)據(jù);和用于顯示與每個外部外圍裝置相關聯(lián)的一系列圖標的第二窗口350,所述交互式設計環(huán)境20可操作來支持所述外部外圍裝置,為此把外部外圍裝置記錄310存儲在外部外圍裝置數(shù)據(jù)庫304內。
如在第一實施例的情況下,用戶能夠在鼠標3的控制下使用指針165來選擇用戶接口顯示屏145內的各個區(qū)域,這使配置模塊22改變所顯示的用戶接口顯示145和在所選外圍裝置數(shù)據(jù)庫120內所存儲的數(shù)據(jù)、配置數(shù)據(jù)119以及在此實施例中在外部外圍裝置存儲裝置306內所存儲的數(shù)據(jù)。
一旦已經(jīng)顯示初始屏幕,那么在此實施例中的處理類似于在第一實施例中所進行的處理。然而當接口生成器100檢查用戶是否已經(jīng)在外圍裝置窗口150或外部外圍裝置窗口350中選擇外圍裝置的任何表示時,修改先前相對于圖8所描述的處理,現(xiàn)在將參考圖19來進行描述。
在確定已經(jīng)選擇用于表示內部或外部外圍裝置的一個圖標之后,接口生成器100確定(S19-1)所選外圍裝置是從第一窗口151中所選擇的內部外圍裝置還是從窗口350中所選擇的外部外圍裝置。如果確定所選擇的圖標表示內部外圍裝置,那么所執(zhí)行的處理依照與先前相對于圖8的步驟S8-3到S8-6所描述的相同方式來繼續(xù)進行。
如果確定已經(jīng)選擇外部外圍裝置的表示,那么接口產(chǎn)生模塊100(S19-2)顯示用于表示新近選擇的外部外圍裝置的塊并且創(chuàng)建新選擇的外部外圍裝置記錄340,所述外部外圍裝置記錄340被存儲在外部外圍裝置存儲裝置306中。在新近產(chǎn)生的所選外部外圍裝置記錄340中,對應于從外部外圍裝置列表350所選擇的外圍裝置,外圍裝置名稱341被設置為外部外圍裝置記錄310的外圍裝置名稱122。然后寄存器值342和變量值343被設置為所選外圍裝置的默認值,并且x,y位置被設置為跟蹤指針165直到用戶放開所述按鈕或鼠標。
當放開鼠標3上的按鈕時,接口生成器100調用選擇模塊308,于是所述選擇模塊308利用具有外圍裝置名稱122的外部外圍裝置記錄310的優(yōu)選連接數(shù)據(jù)312來選擇適當?shù)膬炔客鈬b置以便連接到所選的外部外圍裝置,其中所述外圍裝置名稱122對應于新近產(chǎn)生的所選外部外圍裝置記錄340的外圍裝置名稱341。
更具體地說,選擇模塊308最初識別在外部外圍裝置記錄310的優(yōu)選連接列表312中出現(xiàn)的第一優(yōu)選連接,所述外部外圍裝置記錄310具有對應于新近產(chǎn)生的所選外部外圍裝置記錄340的外圍裝置名稱341的外圍裝置名稱122。然后選擇模塊308檢查(S19-4)外圍裝置記錄140是否被存儲在具有外圍裝置名稱122的所選外圍裝置數(shù)據(jù)庫120內,所述外圍裝置名稱122對應于在正處理的優(yōu)選連接列表312中的條目。如果情況是這樣,那么這表明所識別的內部外圍裝置已經(jīng)被分配用于其它用途并且選擇模塊308于是將(S19-5)檢查以便確定是否已經(jīng)到達在優(yōu)選的連接列表312上的最后條目。如果情況不是這樣,那么選擇下一條目并且選擇模塊308確定是否在所選外圍裝置數(shù)據(jù)庫120內的任何條目對應于該下一條目。
如果選擇模塊308確定(S19-4)所考慮的優(yōu)選連接尚未被分配給用戶,那么選擇模塊308繼續(xù)(S19-6)依照與先前相對于第一實施例所描述的完全相同的方式,來確定對應于所識別的內部外圍裝置添加新的外圍裝置記錄是否會導致與預先存在的端口配置出現(xiàn)沖突。如果確定所識別的內部外圍裝置無法與由所選外圍裝置數(shù)據(jù)庫120中的記錄所識別的內部外圍裝置共存,那么選擇模塊308(S19-5)檢查是否已經(jīng)到達優(yōu)選的連接列表312中的最終外圍裝置并且如果情況不是這樣,那么考慮選擇(S19-4)所述列表中的下一可能的外圍裝置。
然而如果選擇模塊308確定可以允許激活所識別的內部外圍裝置并且不會導致沖突,那么選擇模塊308使接口產(chǎn)生模塊100把所識別的內部外圍裝置的表示添加到屏幕顯示并且把用于識別所識別的內部外圍裝置的所選外圍裝置記錄140存儲在所選外圍裝置數(shù)據(jù)庫120中。
當存儲新的所選外圍裝置記錄140時,使新記錄140的寄存器值142和變量值143與新選擇的外部外圍裝置記錄340中的相應值相匹配,其中所述新記錄140由新選擇的外部外圍裝置記錄340的連接要求313識別。用于識別新近存儲的外圍裝置記錄140的外圍裝置名稱121的連接數(shù)據(jù)345也被存儲在新選擇的外部外圍裝置記錄340內。最后,接口產(chǎn)生模塊100更新用于經(jīng)由引腳示出在新選擇的內部和外部外圍裝置之間的連接,當前配置數(shù)據(jù)119表明內部外圍裝置接收和輸出信號。
圖20是在用戶已經(jīng)選擇對應于Zigbee芯片的圖標之后用戶接口的示例性例圖。在圖20的例圖中,示出了用于表示Zigbee芯片框355,其與用于表示適當內部外圍裝置的框360相關聯(lián),在此例子中是UART連接器UART A。
一旦已經(jīng)把外部外圍裝置340和相關聯(lián)的內部外圍裝置140的記錄存儲在所選外圍裝置數(shù)據(jù)庫120和外部外圍裝置存儲裝置306內,那么就依照與先前相對于第一實施例所描述的類似方式來繼續(xù)接口產(chǎn)生模塊100的處理。
如果用戶選擇用于表示外圍裝置的框355和360之一并且使指針165拖動到主窗口152外面,那么這表明所關注的外圍裝置將被刪除。如果所關注的框表示外部外圍裝置,那么在此實施例中,這還被視為用于把與該外圍裝置相連接的內部外圍裝置刪除的指令,其由在循環(huán)外部外圍裝置記錄中所存儲的數(shù)據(jù)識別為連接數(shù)據(jù)345。類似地當刪除內部外圍裝置時,接口產(chǎn)生模塊繼續(xù)檢查是否在外部外圍裝置存儲裝置306中所存儲的任何外部外圍裝置記錄340具有用于識別所刪除外圍裝置的連接數(shù)據(jù)345,并且如果是的話那么在用戶接口中刪除該記錄和該記錄的表示。
如果用戶依照與先前描述的類似方式使用鼠標右擊來選擇外部外圍裝置355或相關聯(lián)的內部外圍裝置360的表示,那么可以更新與該外圍裝置相關聯(lián)的值中的寄存器條目。然而,為了確保對于內部和外部外圍裝置都存儲了可兼容的配置數(shù)據(jù),在此實施例中當更新外圍裝置的寄存器值或變量值時,接口產(chǎn)生模塊100繼續(xù)利用連接數(shù)據(jù)345和選擇要求313來把相應值輸入到相關聯(lián)的內部或外部外圍裝置記錄的寄存器值和變量值中以便確定哪些值和寄存器要求更新。
返回到圖19,如果(S19-5)選擇模塊308發(fā)現(xiàn)在連接列表312中所有優(yōu)選的外圍裝置由在所選外圍裝置數(shù)據(jù)庫120內所存儲的外圍裝置記錄140識別或者作為選擇如果選擇任何可用的內部外圍裝置的話不可以產(chǎn)生適當?shù)呐渲脭?shù)據(jù),那么在此實施例中,選擇模塊308繼續(xù)確定(S19-8)微控制器本身是否可以仿真所要求的外圍裝置并且在任何可用的引腳上輸出信號。
如先前所聲明,外部外圍裝置記錄310的虛擬要求列表314識別由微控制器所要求的輸入和輸出來仿真所要求的虛擬外圍裝置。在已經(jīng)確定不可以利用任何一個內置內部外圍裝置之后,在此實施例中,選擇模塊308檢查當前的引腳名稱列表來識別與總輸入輸出相關聯(lián)的引腳。在此實施例中,選擇模塊308然后識別可用的總輸入輸出引腳,所述總輸入輸出引腳在與新近產(chǎn)生的外圍裝置記錄340的數(shù)據(jù)344的當前位置距離最近的位置。一旦這些引腳已經(jīng)被識別,那么接口產(chǎn)生模塊100使框包括在用于表示特殊類型的虛擬(即軟件模擬)板上外圍裝置的微芯片154的邊界內,并且把用于識別所述引腳的數(shù)據(jù)在外部外圍裝置存儲裝置306中作為連接數(shù)據(jù)345存儲在新近存儲的所選外部外圍裝置記錄340中。
圖21是用戶接口的說明性例子,其中在板上外圍裝置UARTA和UARTB已經(jīng)被選擇并包括在所選接口數(shù)據(jù)庫120內并且在用戶接口內由框370和372表示之后,用戶在用戶接口350中從外部外圍裝置列表中選擇Zigbee芯片,其要求與UART外圍裝置相對接。由于在此特定的例子中沒有另外的UART可用,所以把用于表示虛擬UART 375的框包括在用戶接口中并且虛擬UART框375被示出為連接到用于表示外部Zigbee芯片的框355。
如在第一實施例的情況下,當從用戶接口中選擇構建時(圖8中的步驟8-20),調用輸出模塊106。如在第一實施例中,輸出模塊106最初檢查(S8-21)單個外圍裝置和時鐘的寄存器設置是否是可兼容的并且如果情況是這樣,那么繼續(xù)產(chǎn)生(S8-23)配置程序32以便設置微控制器的寄存器內的值,使得依照對應于由用戶接口所圖解的方式來配置微控制器。另外在此實施例中,配置程序32還被安排來為與外部外圍裝置相關聯(lián)的寄存器的設置編程以及產(chǎn)生用于仿真外圍裝置的軟件代碼并且經(jīng)由所識別引腳輸入和輸出信號,其中在用戶接口內表示虛擬外圍裝置,所述外部外圍裝置由在外部外圍裝置存儲裝置306中所存儲的所選外部外圍裝置記錄340的寄存器值342和變量值343表示。
進一步的實施例和修正盡管在上述實施例中,已經(jīng)描述了這樣一種系統(tǒng),其中配置模塊22被安排來存儲用于定義單個微控制器8表示的數(shù)據(jù)并且產(chǎn)生特別用于該微控制器8的配置程序32,然而應當理解在其它實施例中,可以提供配置模塊22以產(chǎn)生用于各種微控制器8的配置程序32。
在這種系統(tǒng)中,配置模塊22可能會需要為每個可能的微控制器8存儲配置表110和外圍裝置數(shù)據(jù)庫108。最初用戶可以輸入數(shù)據(jù)并且識別優(yōu)選的微控制器8,將為所述微控制器8產(chǎn)生配置數(shù)據(jù)119。然后配置模塊的處理22可以依照與先前所描述的相同方法來繼續(xù)進行。
這種系統(tǒng)的優(yōu)點在于當配置模塊22確定無法在特定的微控制器8上利用特定的外圍裝置選擇時,配置模塊22可以利用被存儲來用于表示其它微控制器8的數(shù)據(jù)來確定任何那些其它微控制器是否可以支持所想要的外圍裝置組。然后可以提示用戶改變他們對微控制器8的選擇并且配置模塊22可以繼續(xù)為候選微控制器8產(chǎn)生配置程序32。
盡管在上述實施例中,配置模塊22已經(jīng)被描述為根據(jù)通用輸入和輸出的數(shù)目來排序配置數(shù)據(jù)項119,其被引腳標記認為是特殊配置,然而可以利用其它用于排序配置數(shù)據(jù)項的手段。
因而例如在候選實施例中,可以對于每個配置數(shù)據(jù)項來確定并計算用于表示在主窗口150中識別塊167和引腳之間的連接的線路長度。于是將根據(jù)所計算的值來排序配置數(shù)據(jù)項。
這種系統(tǒng)的優(yōu)點在于通過把用于表示特定外圍裝置的塊167放置在微控制器154的圖示上的確定位置,用戶可以識別微控制器的區(qū)域,其中用戶更喜歡使該所選外圍裝置的輸入和輸出為可用的。
在上述實施例中,描述了用于產(chǎn)生微控制器8的配置數(shù)據(jù)寄存器62的系統(tǒng),其用于控制信號的路由,其中引腳42被分組為多個端口45-56。在上述實施例中,與每個端口相關聯(lián)的引腳42的數(shù)目被描述為四個或八個。
應當理解,與任何特定端口相關聯(lián)的引腳數(shù)目可以潛在地包括任意數(shù)目的引腳42。最重要地是,端口可以包括單個引腳而不是一組引腳。
在其中單個選擇器60和寄存器62與單個引腳42相關聯(lián)的系統(tǒng)中,提供了用于改變用來轉送哪些信號的那些引腳位置的高度靈活的系統(tǒng)。所描述的用于產(chǎn)生配置數(shù)據(jù)的系統(tǒng)于是使這種高度靈活的微控制器能夠被適當?shù)鼐幊?,而不管所增加的寄存器?shù)目會依照常規(guī)方式來確定特別復雜任務的配置數(shù)據(jù)。
盡管在上述實施例中,已經(jīng)描述了產(chǎn)生要存儲在微控制器8的內部程序存儲裝置38內的配置程序32,然而應當理解,可以把所產(chǎn)生的用于使微控制器8存儲所識別的配置值組的程序存儲在電路板7中微控制器8之外的存儲器內,而不是存儲在內部程序存儲裝置38內。
盡管在上述實施例中寄存器64、65-1-65-N的寄存器值被描述為根據(jù)存儲寄存器和變量值142、143來確定,然而應當理解,可以根據(jù)寄存器和變量值142、143而不是這些值的直接拷貝來計算所存儲的實際值。因而例如通過輸入32kHz波特率的變量值,用戶可以使配置模塊22計算需要被存儲在寄存器中、用于使得能夠獲得所想要的波特率的特定值。作為選擇,諸如波特率、容差等多個值的用戶條目可以被用來計算要存儲在微控制器8的寄存器64;65-1;...;65-N中的單個值。
盡管在上述描述中,已經(jīng)參考用于控制較大設備功能的微控制器8,然而應當理解,本發(fā)明適用于包括多個外圍裝置的任何微芯片的設計和配置,其中通過在微芯片的寄存器內的存儲值來控制路由那些外圍裝置的信號。因此術語微控制器應當被視為包含任何這種可配置的微芯片,所述微芯片包括這種外圍裝置和寄存器。
盡管參考附圖所描述的本發(fā)明的實施例包括計算機設備和在計算機設備中所執(zhí)行的過程,然而本發(fā)明還擴展到計算機程序,特別是適于實施本發(fā)明的載體上或中的計算機程序。所述程序可以是源或對象代碼的形式或適于與實現(xiàn)依照本發(fā)明過程一起使用的任何其它形式。所述載體可以是能夠攜帶程序的任何實體或設備。
例如,所述載體可以包括存儲介質,諸如例如CD ROM或半導體ROM之類的ROM,或例如軟盤或硬盤之類的磁記錄媒體。此外,所述載體可以是可發(fā)射的載體,諸如可以經(jīng)由電或光纜或用無線電或其它裝置傳播的電或光信號。
當程序被實現(xiàn)為可以借助電纜或其它設備或裝置直接傳播的信號時,所述載體可以由這種電纜或其它設備或裝置構成。
作為選擇,所述載體可以是其中嵌入有程序的集成電路,適于執(zhí)行或用于實現(xiàn)相關過程的集成電路。
權利要求
1.一種微控制器配置設備,可操作來識別用于存儲在包括多個外圍裝置的微控制器的寄存器內的一組寄存器值,所述微控制器可操作來根據(jù)在所述寄存器中所存儲的寄存器值來經(jīng)由一組端口往返于所述外圍裝置路由不同的信號選擇,所述配置設備包括第一用戶輸入接口,可操作來使用戶能夠輸入用于識別從在所述微控制器中所包括的多個外圍裝置中的外圍裝置選擇的數(shù)據(jù);確定模塊,可操作來為用于識別外圍裝置選擇的輸入數(shù)據(jù)來確定用于往返于所選外圍裝置路由所要求的一組信號,以便使每個所述外圍裝置能夠起作用,所述確定模塊還可操作來識別寄存器值的多個組合,所述寄存器值當存儲在微控制器的寄存器內時使所有確定的信號能夠經(jīng)由所述微控制器的端口被路由;第二用戶輸入接口,可操作來使用戶能夠選擇由所述確定模塊所識別的寄存器值的所述多個組合之一;和輸出模塊,可操作來輸出用于識別在微控制器中的寄存器內存儲的一組寄存器值的數(shù)據(jù),包括與所選寄存器值的組合相對應的寄存器值。
2.如權利要求1所述的設備,其中所述確定模塊包括多個配置表,當與所述端口相關聯(lián)的寄存器被設置為定義值時,每個配置表均用于為微控制器的端口識別要經(jīng)由與所述端口相關聯(lián)的一個或多個引腳接收或輸出的信號;外圍裝置數(shù)據(jù)庫,被配置為存儲數(shù)據(jù),所述數(shù)據(jù)用于為多個外圍裝置中的每個識別用于往返于所選外圍裝置路由所要求的信號以便使每個外圍裝置能夠起作用;和配置檢查模塊,可操作來利用所述配置表和所述外圍裝置數(shù)據(jù)庫來識別寄存器值的組合,所述寄存器值當存儲在微控制器的寄存器內時使由所識別的外圍裝置選擇要求的所有信號能夠經(jīng)由所述微控制器的端口被路由。
3.如權利要求1所述的設備,其中所述確定模塊可操作來確定寄存器值的任何組合是否當存儲在微控制器的寄存器內時使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由,并且如果沒有任何寄存器值的組合使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由,那么輸出警告數(shù)據(jù)。
4.如權利要求3所述的設備,其中所述警告數(shù)據(jù)包括用于識別所識別的外圍裝置選擇中的哪些外圍裝置要求把不兼容的寄存器值存儲在微控制器的寄存器內使得由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由的數(shù)據(jù)。
5.如權利要求3所述的設備,其中所述警告數(shù)據(jù)包括用于識別候選微控制器的數(shù)據(jù),所述候選微控制器包括所識別的外圍裝置并且能夠存儲一組寄存器值,所述寄存器值使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述候選微控制器的端口被路由。
6.如權利要求1所述的設備,其中所述第二用戶輸入接口可操作來產(chǎn)生所述微控制器的圖示,用于圖解微控制器的引腳的相對物理位置,當包括與所述寄存器值組合的寄存器值相對應的寄存器值被存儲在所述微控制器的寄存器內時,該相對物理位置用來往返于所識別的外圍裝置選擇而路由信號。
7.如權利要求6所述的設備,其中所述第二用戶輸入接口可操作來根據(jù)用戶從所排序的組合選擇中選擇組合來排序寄存器值的多個組合并且產(chǎn)生所述圖示。
8.如權利要求7所述的設備,其中所述第二用戶輸入接口可操作來當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)所述微控制器專用于路由通用輸入和輸出的信號的引腳數(shù)目來排序寄存器值的多個組合。
9.如權利要求7所述的設備,其中所述第二用戶輸入接口可操作來當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)在顯示內所選外圍裝置的表示和與把信號路由到所述各自外圍裝置相關聯(lián)的引腳表示之間的相對距離來排序寄存器值的多個組合。
10.如權利要求1所述的設備,其中所述微控制器還包括一個或多個寄存器,可操作來存儲用于所述多個外圍裝置的設置數(shù)據(jù),所述設備還包括第三用戶輸入接口,可操作來使用戶能夠輸入用于識別存儲在與所述外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù)。
11.如權利要求1所述的設備,其中所述輸出模塊可操作來輸出用于識別一組寄存器值的數(shù)據(jù),包括與所選寄存器值的組合相對應的寄存器值和沒有為其識別任何其它寄存器值的寄存器的默認值。
12.如權利要求1所述的設備,其中所述輸出模塊可操作來產(chǎn)生計算機程序,所述計算機程序可操作來當存儲在與所述微控制器相關聯(lián)的存儲器中時,使所述微控制器存儲在所述微控制器的寄存器中所識別的寄存器值組相對應的寄存器值。
13.如權利要求1所述的設備,其中所述輸出模塊可操作來輸出用于定義所述微控制器的圖示的數(shù)據(jù),包括用于識別往返于所選外圍裝置路由所要求的信號組的標記以使每個所述外圍裝置能夠起作用。
14.如權利要求13所述的設備,其中所述輸出模塊可操作來輸出用于定義圖示的數(shù)據(jù),其中所述標記按照與所識別的信號相關聯(lián)的外圍裝置而在所述表示中分組。
15.如權利要求13所述的設備,其中所述輸出模塊可操作來輸出用于定義圖示的數(shù)據(jù),其中所述標記在所述表示中被分組以便表示用于轉送所述信號的引腳的物理位置。
16.如權利要求1所述的設備,其中所述微控制器的至少一個端口包括可操作來轉送根據(jù)在與所述端口相關聯(lián)的寄存器中存儲的寄存器值所選擇的單個信號的端口。
17.如權利要求16所述的設備,其中所述微控制器的每個端口包括可操作來轉送根據(jù)在與所述端口相關聯(lián)的寄存器中存儲的寄存器值所選擇的單個信號的端口,所述設備可操作來識別寄存器值組,所述寄存器值當存儲在所述寄存器中時使所識別的外圍裝置選擇起作用所要求的信號能夠經(jīng)由所述端口被轉送。
18.一種用于識別存儲在包括多個外圍裝置的微控制器的寄存器內的一組寄存器值的方法,所述微控制器可操作來根據(jù)在所述寄存器中所存儲的寄存器值來經(jīng)由一組端口往返于所述外圍裝置路由不同的信號選擇,所述方法包括接收用于識別從在所述微控制器所包括的多個外圍裝置中選擇外圍裝置的數(shù)據(jù);為所接收的用于識別外圍裝置選擇的數(shù)據(jù)而確定用于往返于所選外圍裝置路由所要求的一組信號以便使每個外圍裝置能夠起作用;識別寄存器值的多個組合,所述寄存器值當存儲在微控制器的寄存器內時使所有確定的信號能夠經(jīng)由所述微控制器的端口被路由;接收用于識別選擇多個識別的寄存器值組合之一的數(shù)據(jù);并且輸出用于識別在微控制器中的寄存器內存儲的一組寄存器值的數(shù)據(jù),包括與所選寄存器值的組合相對應的寄存器值。
19.如權利要求18所述的方法,還包括存儲多個配置表,當與所述端口相關聯(lián)的寄存器被設置為定義值時,每個配置表均用于為微控制器的端口識別要經(jīng)由與所述端口相關聯(lián)的一個或多個引腳接收或輸出的信號;存儲外圍裝置數(shù)據(jù)庫,被配置為存儲數(shù)據(jù),所述數(shù)據(jù)用于為多個外圍裝置中的每個識別用于往返于所選外圍裝置路由所要求的信號以便使每個外圍裝置能夠起作用;并且利用所述配置表和所述外圍裝置數(shù)據(jù)庫來識別寄存器值的組合,所述寄存器值當存儲在微控制器的寄存器內時使由所識別的外圍裝置選擇要求的所有信號能夠經(jīng)由所述微控制器的端口被路由。
20.如權利要求18所述的方法,還包括如果無法識別任何可兼容的寄存器值組,那么輸出用于識別所識別的外圍裝置選擇中的哪些外圍裝置會要求把不兼容的寄存器值存儲在微控制器的寄存器內使得由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由的數(shù)據(jù)。
21.如權利要求18所述的方法,還包括如果無法識別任何可兼容的寄存器值組,那么輸出用于識別候選微控制器的數(shù)據(jù),所述候選微控制器包括所識別的外圍裝置,能夠存儲一組寄存器值,所述寄存器值使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述候選微控制器的端口被路由。
22.如權利要求18所述的方法,還包括產(chǎn)生用于定義所述微控制器的圖示的數(shù)據(jù),用于圖解微控制器的引腳的相對物理位置,當包括與所述寄存器值組合相對應的寄存器值的寄存器值被存儲在所述微控制器的寄存器內時,該相對物理位置用來往返于所識別的外圍裝置選擇而路由信號。
23.如權利要求22所述的方法,還包括排序所識別的寄存器值的組合;并且根據(jù)從所排序的組合選擇中所接收的用戶輸入組合選擇來產(chǎn)生所述圖示。
24.如權利要求23所述的方法,其中所述排序寄存器值的多個組合包括當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)所述微控制器專用于路由通用輸入和輸出的信號的引腳數(shù)目來排序。
25.如權利要求23所述的方法,其中所述排序寄存器值的多個組合包括當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)在所述微控制器的表示內所選外圍裝置的表示和與把信號路由到所述各自外圍裝置相關聯(lián)的引腳表示之間的相對距離來進行排序。
26.如權利要求18所述的方法,其中所述微控制器還包括一個或多個寄存器,可操作來存儲用于所述多個外圍裝置的設置數(shù)據(jù),所述方法還包括接收用于識別存儲在與所述外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù)。
27.如權利要求18所述的方法,包括輸出用于識別一組寄存器值的數(shù)據(jù),包括與所選寄存器值的組合相對應的寄存器值和沒有為其識別任何其它寄存值的寄存器的默認值。
28.如權利要求18所述的方法,還包括產(chǎn)生計算機程序,所述計算機程序可操作來當存儲在與所述微控制器相關聯(lián)的存儲器中時,使所述微控制器存儲與在所述微控制器的寄存器中所識別的寄存器值組相對應的寄存器值。
29.如權利要求18所述的方法,還包括輸出用于定義所述微控制器的圖示的數(shù)據(jù),包括用于識別往返于所選外圍裝置路由所要求的信號組的標記以使每個所述外圍裝置能夠起作用。
30.如權利要求29所述的方法,其中所述標記由與所識別的信號相關聯(lián)的外圍裝置來在所述表示中分組。
31.如權利要求29所述的方法,其中所述標記在所述表示中被分組以便表示用于轉送所述信號的引腳的物理位置。
32.如權利要求18所述的方法,其中所述微控制器的至少一個端口包括可操作來轉送根據(jù)在與所述端口相關聯(lián)的寄存器中存儲的寄存器值所選擇的單個信號的端口。
33.如權利要求32所述的方法,其中所述微控制器的每個端口包括可操作來轉送根據(jù)在與所述端口相關聯(lián)的寄存器中存儲的寄存器值所選擇的單個信號的端口,所述方法包括識別寄存器值組,所述寄存器值當存儲在所述寄存器中時使所識別的外圍裝置選擇起作用所要求的信號能夠經(jīng)由所述端口被轉送。
34.一種存儲有計算機可執(zhí)行指令的計算機可讀介質,所述計算機可執(zhí)行指令使可編程計算機執(zhí)行用于識別在包括多個外圍裝置的微控制器的寄存器內存儲的一組寄存器值的方法,所述微控制器可操作來根據(jù)在所述寄存器中所存儲的寄存器值來經(jīng)由一組端口往返于所述外圍裝置路由不同的信號選擇,所述方法包括接收用于識別從在所述微控制器所包括的多個外圍裝置中選擇外圍裝置的數(shù)據(jù);為所接收的用于識別外圍裝置選擇的數(shù)據(jù)而確定用于往返于所選外圍裝置路由所要求的一組信號以便使每個外圍裝置能夠起作用;識別寄存器值的多個組合,所述寄存器值當存儲在微控制器的寄存器內時使所有確定的信號能夠經(jīng)由所述微控制器的端口被路由;接收用于識別選擇多個識別的寄存器值組合之一的數(shù)據(jù);并且輸出用于識別在微控制器中的寄存器內存儲的一組寄存器值的數(shù)據(jù),包括與所選寄存器值組合相對應的寄存器值。
35.如權利要求34所述的計算機可讀介質,其中所述方法還包括存儲多個配置表,當與所述端口相關聯(lián)的寄存器被設置為定義值時,每個配置表均用于為微控制器的端口識別要經(jīng)由與所述端口相關聯(lián)的一個或多個引腳接收或輸出的信號;存儲外圍裝置數(shù)據(jù)庫,被配置為存儲數(shù)據(jù),所述數(shù)據(jù)用于為多個外圍裝置中的每個識別用于往返于所選外圍裝置路由所要求的信號以便使每個外圍裝置能夠起作用;并且利用所述配置表和所述外圍裝置數(shù)據(jù)庫來識別寄存器值的組合,所述寄存器值當存儲在微控制器的寄存器內時使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由。
36.如權利要求34所述的計算機可讀介質,其中所述方法還包括如果沒有識別任何可兼容的寄存器值組,那么輸出用于識別所識別的外圍裝置選擇中的哪些外圍裝置要求把不兼容的寄存器值存儲在微控制器的寄存器內使得由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述微控制器的端口被路由的數(shù)據(jù)。
37.如權利要求34所述的計算機可讀介質,其中所述方法還包括如果無法識別任何可兼容的寄存器值組,那么輸出用于識別候選微控制器的數(shù)據(jù),所述候選微控制器包括所識別的外圍裝置,能夠存儲一組寄存器值,所述寄存器值使由所識別的外圍裝置選擇所要求的所有信號能夠經(jīng)由所述候選微控制器的端口被路由。
38.如權利要求34所述的計算機可讀介質,還包括產(chǎn)生用于定義所述微控制器的圖示的數(shù)據(jù),用于圖解微控制器的引腳的相對物理位置,當包括與所述寄存器值組合相對應的寄存器值的寄存器值被存儲在所述微控制器的寄存器內時,該相對物理位置用來往返于所識別的外圍裝置選擇而路由信號的。
39.如權利要求38所述的計算機可讀介質,還包括排序所識別的寄存器值的組合;并且根據(jù)從所排序的組合選擇中接收的用戶輸入組合選擇來產(chǎn)生所述圖示。
40.如權利要求39所述的計算機可讀介質,其中所述排序寄存器值的多個組合包括當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)所述微控制器專用于路由通用輸入和輸出的信號的引腳數(shù)目來排序。
41.如權利要求39所述的計算機可讀介質,其中所述排序寄存器值的多個組合包括當所述寄存器值的組合被存儲在所述微控制器的寄存器內時,根據(jù)在所述微控制器的表示內所選外圍裝置的表示和與把信號路由到所述各自外圍裝置相關聯(lián)的引腳表示之間的相對距離來進行排序。
42.如權利要求34所述的計算機可讀介質,其中所述微控制器還包括一個或多個寄存器,可操作來存儲用于所述多個外圍裝置的設置數(shù)據(jù),所述方法還包括接收用于識別存儲在與所述外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù)。
43.如權利要求34所述的計算機可讀介質,其中所述方法還包括輸出用于識別所述組寄存器值的數(shù)據(jù),包括與所選寄存器值的組合相對應的寄存器值和沒有為其識別任何其它寄存器值的寄存器的默認值。
44.如權利要求34所述的計算機可讀介質,其中所述方法還包括產(chǎn)生一種計算機程序,所述計算機程序可操作來當存儲在與所述微控制器相關聯(lián)的存儲器中時使所述微控制器存儲與在所述微控制器的寄存器中所識別的寄存器值組相對應的寄存器值。
45.如權利要求34所述的計算機可讀介質,其中所述方法還包括輸出用于定義所述微控制器的圖示的數(shù)據(jù),包括用于識別往返于所選外圍裝置路由所要求的信號組的標記以使每個所述外圍裝置能夠起作用。
46.如權利要求45所述的計算機可讀介質,其中所述標記由與所識別的信號相關聯(lián)的外圍裝置來在所述表示中分組。
47.如權利要求45所述的計算機可讀介質,其中所述標記在所述表示中被分組以便表示用于轉送所述信號的引腳的物理位置。
48.如權利要求34所述的計算機可讀介質,包括盤。
49.如權利要求48所述的盤,包括磁、磁光或光盤。
50.如權利要求34所述的計算機可讀介質,包括計算機網(wǎng)絡內的電信號。
51.一種用于為包括多個外圍裝置的微控制器編程的方法,所述微控制器可操作來根據(jù)在所述微控制器的寄存器內所存儲的寄存器值來經(jīng)由一組端口往返于所述外圍裝置路由不同的信號選擇,所述方法包括依照如權利要求28所述的方法來產(chǎn)生計算機程序;把所產(chǎn)生的計算機程序存儲在與微控制器相關聯(lián)的存儲器中;并且運行所存儲的程序以便使所述微控制器把對應于所識別的寄存器值組的寄存器值存儲在所述微控制器的寄存器中。
52.一種微控制器,包括多個外圍裝置;多個選擇器,可操作來根據(jù)在與一組端口相關聯(lián)的寄存器中所存儲的寄存器值來經(jīng)由所述端口往返于外圍裝置路由信號;存儲器,可操作來存儲配置程序;和處理部件,可操作來處理在所述存儲器中所存儲的配置程序以便把寄存器值存儲在所述寄存器中;其中所述微控制器的每個端口包括可操作來轉送根據(jù)在與所述端口相關聯(lián)的寄存器中所存儲的寄存器值所選擇的單個信號的端口。
53.如權利要求1所述的設備,其中所述第一用戶輸入接口可操作來使用戶能夠輸入用于識別在微控制器以外的外部外圍裝置選擇的數(shù)據(jù),并且利用所述外部外圍裝置選擇來識別從在所述微控制器中所包括的多個外圍裝置中的外圍裝置選擇,其中所述微控制器被要求來與所述外部外圍裝置選擇相對接。
54.如權利要求53所述的設備,其中所述第一用戶輸入接口可操作來確定與外部外圍裝置輸入選擇相對接所必須的外圍裝置選擇是否要求在微控制器中未包括的外圍裝置,其中所述輸出模塊可操作來輸出用于產(chǎn)生計算機程序的數(shù)據(jù)以便使所述微控制器仿真除在所述微控制器中包括的外圍裝置之外的一個或多個附加外圍裝置。
55.如權利要求53所述的設備,其中所述一個或多個外部外圍裝置包括可操作來存儲設置數(shù)據(jù)的寄存器,所述設備還包括用戶輸入接口,可操作來使用戶能夠輸入用于識別存儲在與所述外部外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù)。
56.如權利要求55所述的設備,其中所述另外的用戶接口可操作來把每個外部外圍裝置選擇與內部外圍裝置相關聯(lián)并且使輸出模塊輸出用于識別彼此相兼容的外部外圍裝置和相關聯(lián)的內部外圍裝置的一組寄存器值的數(shù)據(jù)。
57.如權利要求18所述的方法,其中所述用于識別外圍裝置選擇的接收數(shù)據(jù)包括用于識別在微控制器以外的一個或多個外圍裝置的數(shù)據(jù),所述方法還包括處理所述接收數(shù)據(jù)以識別從在所述微控制器中包括的多個外圍裝置中的外圍裝置選擇,其中所述微控制器被要求來與所述外部外圍裝置相對接。
58.如權利要求57所述的方法,其中如果與外部外圍裝置相對接所必須的外圍裝置確定包括在所述微控制器中未包括的一個或多個外圍裝置,其中所述輸出步驟包括輸出用于產(chǎn)生計算機程序的數(shù)據(jù)以便使所述微控制器仿真除在所述微控制器中包括的外圍裝置之外的一個或多個附加外圍裝置。
59.如權利要求57所述的方法,還接收用于識別存儲在與所述外部外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù),其中所述輸出步驟包括識別存儲在對應于所接收數(shù)據(jù)的一個或多個外部外圍裝置的寄存器內的寄存器值。
60.如權利要求59所述的設備,還包括把外部外圍裝置與內部外圍裝置相關聯(lián),其中所述輸出步驟包括輸出用于識別彼此相兼容的外部外圍裝置和相關聯(lián)的內部外圍裝置的一組寄存器值的數(shù)據(jù)。
61.如權利要求34所述的計算機可讀介質,其中所述用于識別外圍裝置選擇的接收數(shù)據(jù)包括用于識別在微控制器以外的一個或多個外圍裝置的數(shù)據(jù),所述方法還包括處理所述接收數(shù)據(jù)以識別從在所述微控制器中包括的多個外圍裝置中的外圍裝置選擇,其中所述微控制器被要求來與所述外部外圍裝置相對接。
62.如權利要求61所述的計算機可讀介質,其中如果與外部外圍裝置相對接所必須的外圍裝置確定包括在所述微控制器中未包括的一個或多個外圍裝置,其中所述輸出步驟包括輸出用于產(chǎn)生計算機程序的數(shù)據(jù)以便使所述微控制器仿真除在所述微控制器中包括的外圍裝置之外的一個或多個附加外圍裝置。
63.如權利要求62所述的計算機可讀介質,還接收用于識別存儲在與所述外部外圍裝置選擇相關聯(lián)的一個或多個寄存器中的寄存器值的數(shù)據(jù),其中所述輸出步驟包括識別存儲在對應于所接收數(shù)據(jù)的一個或多個外部外圍裝置的寄存器內的寄存器值。
64.如權利要求63所述的計算機可讀介質,還包括把外部外圍裝置與內部外圍裝置相關聯(lián),其中所述輸出步驟包括輸出用于識別彼此相兼容的外部外圍裝置和相關聯(lián)的內部外圍裝置的一組寄存器值的數(shù)據(jù)。
全文摘要
描述了一種用于編程并測試微控制器(8)的計算機系統(tǒng)(1)。計算機系統(tǒng)(1)包括交互式設計環(huán)境(20),包括配置模塊(22)、匯編器(24)、編譯器(26)和調試器(28)。編譯器(26)、匯編器(24)和調試器(28)都使高級程序數(shù)據(jù)(30)能夠被轉換為二進制代碼并且存儲在程序存儲裝置內以便控制在微控制器(8)內所包括的CPU起作用。配置模塊(22)是這樣以致使用戶能夠產(chǎn)生配置程序(30),用于把值存儲在寄存器中以便控制微控制器(8)中的內置外圍裝置的設置和往返于所述外圍裝置的信號的路由。在兩階段過程中識別用于路由信號的寄存器值。首先利用配置模塊(22),用戶識別將啟用哪些外圍裝置。然后產(chǎn)生用戶接口以圖解用于路由為所識別外圍裝置組所必須的信號的可能配置。然后用戶可以選擇應當使用所識別的哪些配置數(shù)據(jù)組來產(chǎn)生配置程序(20)。
文檔編號G06F9/44GK1973253SQ200580006325
公開日2007年5月30日 申請日期2005年2月25日 優(yōu)先權日2004年2月27日
發(fā)明者P·T·約翰遜 申請人:賽恩控股有限公司