專利名稱:產生嵌入式目標映像的系統及其方法
技術領域:
本發明是關于一種產生映像文件的方法,尤指一種產生嵌入式目標映像 的系統與方法。
背景技術:
嵌入式系統為一種使用中央處理器芯片的電子系統,但并非一般工作 站、臺式計算機或筆記本電腦。嵌入式系統通常使用微處理器、訂制設計的 芯片或以上兩者。嵌入式系統可用于移動電話、飛行器、火車、太空飛行器
(spacevehicle)、機床、相機、消費者與辦公室應用、個人數字助理(Personal Digital Assistants, PDA)、機器人以及玩具。相對于一般的計算機加載程序至 隨機存取存儲器,在嵌入式系統中,軟件一般存放于非易失性存儲裝置,如 閃存或只讀存儲器芯片。
為了使嵌入式系統符合各種硬件架構,通常可以通過手動修訂源碼以修 改源文件以及頭文件,接著通過編譯修改過的源文件及/或頭文件產生對象文 件。對象文件用于產生目標映像以寫入嵌入式系統中的非易失性存儲裝置。 然而,直接修改源文件及/或頭文件的源碼既耗費時間又具有風險。
發明內容
為解決上述產生目標映像時既費時又具有風險的問題,本發明提供一種 可以提高產生嵌入式目標映像的效率的方法及系統。
本發明揭示一種產生嵌入式目標映像的方法,嵌入式目標映像儲存在嵌 入式系統的非易失性存儲裝置中作為其固件。首先,產生圖形用戶界面 (Graphical User Interface, GUI)編輯器以幫助使用者提供安裝在嵌入式系統 的芯片的多個引腳的設定信息。其次,根據使用者對于GUI編輯器的操作結
果產生源碼,以及通過鏈接自源碼編譯的對象文件產生嵌入式目標映像。本發明揭示一種產生嵌入式目標映像系統,嵌入式目標映像儲存在嵌入 式系統的非易失性存儲裝置中作為其固件,包括顯示器以及處理單元。處理單元耦接于顯示器,產生圖形用戶界面(GUI)編輯器以幫助使用者提供安裝 在嵌入式系統的芯片的多個引腳的設定信息,根據使用者對于GUI編輯器的 操作結果產生源碼,以及通過鏈接自源碼編譯的對象文件產生嵌入式目標映 像。本發明通過GUI編輯器幫助使用者產生源碼,并通過鏈接自源碼編譯的 對象文件產生嵌入式目標映像,避免了直接修改源文件及/或頭文件,從而提 高了產生嵌入式目標映像的效率,并且具有可靠性。
圖1為基頻芯片的一實施方式。圖2a與圖2b分別為基頻芯片的不同硬件布線的示意圖。 圖3為加載嵌入式目標映像版本至非易失性存儲裝置作為嵌入式系統的 固件的示意圖。圖4為應用于計算機的硬件環境示意圖。圖5為產生嵌入式目標映像系統的一實施方式。圖6為主要圖形用戶界面(GUI)的范例。圖7為建立新數據工作空間文件的方法的一實施方式。圖8為開啟目前數據工作空間文件的方法的一實施方式。圖9為配置文件范例的內容。圖10為GPIO組件文件范例的內容。圖11為GPO組件文件范例的內容。圖12為ADC組件文件范例的內容。圖13為鍵盤組件文件范例的內容。
圖14a至圖14e分別為在不同方面產生GUI范例的示意圖。
圖15為GPIO引腳數據表范例的示意圖。
圖16為模式下拉菜單范例的示意圖。
圖17為勾選框范例的示意圖。
圖18為狀態下拉菜單范例的示意圖。
圖19為方向下拉菜單范例與兩個勾選框范例的示意圖。
圖20為變量下拉菜單范例的示意圖。
圖21為GPO引腳數據表范例的示意圖。
圖22為EINT引腳數據表范例的示意圖。
圖23為變量下拉菜單范例的示意圖。
圖24為除跳時間下拉菜單范例的示意圖。
圖25為ADC引腳數據表范例的示意圖。
圖26為變量下拉菜單范例的示意圖。
圖27為鍵盤引腳數據表范例的示意圖。
圖28為變量下拉菜單范例的示意圖。
具體實施例方式
為讓本發明的上述和其它目的、特征、和優點能更明顯易懂,下文特舉 出較佳實施方式,并配合附圖,作詳細說明如下
圖1為基頻芯片(baseband chip)的一實施方式。基頻芯片包括數種硬件 電路如微處理器(Microprocessors, MCU)、模數轉換器(Analog-to-Digital Converter, ADC)、數模轉換器(Digital-to-Analog Converter, DAC)、數字信號 處理器(Digital Signal Processor, DSP)、隨機存取存儲器(Random Access Memory, RAM)、輸入輸出控制器以及其它硬件電路。基頻芯片與外部電子 裝置透過引腳互動,外部電子裝置如相機模塊、鍵盤控制器與其它裝置,引 腳如通用輸入輸出口(General Purpose Input Output, GPIO)引腳、通用輸出口
(General Purpose Output, GPO)引腳、外部中斷(External INTerrupt, EINT)弓I 腳、ADC引腳、鍵盤引腳及其它引腳。
圖2a與圖2b分別為結合基頻芯片210、相機模塊230、以及藍牙模塊 250的硬件布線示意圖。參考圖2a,在硬件布線中,基頻芯片210經由GPIO 引腳GPIOO GPI02連接至相機模塊230,并且經由引腳GPI04 GPI06連接 至藍牙模塊250。參考圖2b,在另一硬件布線中,基頻芯片210經由引腳 GPI04 GPI06連接至相機模塊230,并且經由引腳GPIOO GPI02連接至藍 牙模塊250。為了符合不同的硬件布線與接口組態,基頻芯片制造商必須提 供不同的嵌入式目標映像版本以驅動基頻芯片210。
圖3為加載嵌入式目標映像版本至非易失性存儲裝置作為嵌入式系統的 固件的示意圖。三個嵌入式目標映像版本311、 313與315儲存在計算機31 中的儲存裝置310。三個嵌入式目標映像版本分別被加載至非易失性存儲裝 置330、 350與370,作為嵌入式系統33、 35與37的固件。
圖4為可應用于計算機31的一實施方式的硬件環境示意圖。硬件環境 包括處理單元41、存儲器42、儲存裝置43、輸出裝置44、輸入裝置45與 通訊裝置46。處理單元41基于馮紐曼架構(Von Neumann architecture)透過總 線47連接至存儲器42、儲存裝置43、輸出裝置44、輸入裝置45與通訊裝 置46。處理單元41可以是一個或多個,如計算機的處理器包括單中央處理 單元(single CPU)、微處理器單元(MicroProcessing Unit, MPU)或多個處理單 元,其泛指平行處理環境。在較佳實施方式中,存儲器42為RAM,但是也 可包括只讀存儲器(Read Only Memory, ROM)或快閃只讀存儲器。在另一較 佳實施方式中,存儲器42儲存由處理單元41執行的程序模塊以產生嵌入式 目標映像。 一般而言,程序模塊包括例行程序、程序、對象、組件或其它執 行特定工作或建立特定抽象數據類型的內容。再者,本領域的技術人員了解 上述實施方式可用于其它計算機系統結構,包括手持裝置、多處理器電子裝 置、微處理器電子裝置、可編程消費電子裝置、網絡個人計算機、迷你計算
機、大型主機型計算機等等。儲存裝置43可以是硬盤、磁盤、光盤、便攜 式硬盤或非易失性存儲裝置。上述裝置及其相關計算機可讀取媒體(非必需) 提供計算機可讀取的指令、數據結構與程序模塊的非易失性儲存。輸入裝置 45可連接鼠標、鍵盤或類似裝置,并接收來自這些裝置輸入的信號。輸出裝 置44可連接外部顯示器,如彩色超扭曲向列型(Color Super-Twisted Nematic, CSTN)顯示器、薄膜晶體管液晶顯示器(Thin Film Transistor-Liquid Crystal Display, TFT-LCD)、有機發光二極管(Organic Light-Emitting Diode, OLED) 顯示器或類似裝置,以指示外部顯示器產生圖形用戶界面(Gmphical User Interface, GUI)。使用者可以通過與產生的GUI互動以產生嵌入式目標映像。 圖5為產生嵌入式目標映像系統的一實施方式的示意圖。互動模塊510 由處理單元41執行,以提供主要GUI幫助使用者完成工作,以產生新的工 作空間計劃、加載與編輯目前工作空間計劃、以及基于儲存在目前工作空間 計劃的信息產生源碼。圖6為主要GUI的范例,包括多個按鈕B611、 B613、 B615與B617、輸入區域I600與下拉菜單M600。當按下標題為"新增"的 按鈕B611時,互動模塊510加載并分析描述文件531,并且根據分析結果 產生新數據工作空間文件(data workspace file)。新數據工作空間文件包括 GUI編輯器的各種用戶界面(User Interface, UI)控制的初始設定。圖7為當檢 測到按鈕B611被按下時產生新數據工作空間文件的方法的一實施方式的流 程圖。在步驟S711中,建立新數據工作空間文件(例如,圖5中的533之一, 通常命名為.dws)。在步驟S721中,載入并分析描述文件(例如,圖5中的 531)。文件與分析的細節于稍后說明,此處僅簡短描述。在步驟S723中, 根據分析結果產生GUI編輯器的UI控制的初始設定。產生GUI編輯器的 UI控制的初始設定的細節于稍后說明,此處僅簡短描述。在步驟S725中, 儲存GUI編輯器的UI控制的初始設定于新數據工作空間文件。在步驟S727 中,提供表示目前數據工作空間文件為新數據工作空間文件的信息。提供的 信息儲存在存儲器42(參考圖5)。
參考圖6,當按壓標題為"開啟"的按鈕B613時,互動模塊510依據 使用者決定目前數據工作空間文件,并且指示目前數據工作空間文件為選定 的數據工作空間文件。圖8為當檢測到按鈕B613被按下時時開啟目前數據 工作空間文件方法的一實施方式的流程圖。在步驟S811中,使用者決定目 前數據工作空間文件。例如,使用者可在輸入區域1600(參考圖6)中輸入文 件路徑"D:\work\customization\Doc\codegen\TOP—6227—BB.dws"以決定目前 數據工作空間文件。在步驟S813中,提供表示目前數據工作空間文件為決 定的數據工作空間文件的信息。提供的信息儲存于存儲器42(參考圖5)。參考圖6,當按壓標題為"編輯"的按鈕B615時,產生GUI編輯器, 并根據目前數據工作空間文件中UI控制的設定在顯示器上顯示GUI編輯 器。使用者可透過輸入裝置45與GUI編輯器互動以配置訂制設計的芯片的 引腳且決定訂制設計芯片引腳與軟件應用變量之間的對應關系。當使用者與 顯示的GUI 540互動時,互動模塊510將對應關系與訂制設計芯片引腳的配 置儲存在存儲器42中。當經由輸入裝置45接收到儲存信號時,互動模塊510 從存儲器42將對應關系與配置記錄到目前數據工作空間文件。互動模塊510 可于稍后擷取儲存的數據工作空間文件并產生GUI,包括先前產生的對應關 系與訂制設計芯片引腳的配置以改善嵌入式目標映像的產生效率。產生及運 作GUI編輯器的細節將于稍后說明,此處僅簡短描述。參考圖6,當按壓標題為"產生程序碼"的按鈕B617時,互動模塊510 根據目前數據工作空間文件儲存的對應關系與訂制設計芯片引腳的配置產 生并記錄源文件與頭文件535(通常將源文件命名為.c,將頭文件命名為.h)于 儲存裝置43中。源文件與頭文件程序碼的產生細節將于稍后說明,此處僅 簡短描述。互動模塊510可于稍后編譯儲存的源文件與頭文件以使用編譯器 產生對象文件,并使用鏈接器鏈接產生的對象文件以對應于嵌入式系統產生 嵌入式目標映像537。其中,編譯器可以是C編譯器或類似裝置,鏈接器可 以是進階精簡指令集機器(Advanced RISC Machine, ARM)鏈接或是類似裝 置。描述文件包括配置文件(通常命名為.fig)與多個組件文件(通常命名為.cmp)。配置文件描述特定訂制設計芯片的GPIO、 EINT、 ADC與鍵盤硬 件配置。組件文件包括GPIO組件文件、GPO組件文件、EINT組件文件、 ADC組件文件與鍵盤組件文件。GPIO組件文件描述全部可用的GPIO變量 名稱。GPO組件文件描述全部可用的GPO變量名稱。EINT組件文件描述全 部可用的EINT變量名稱。ADC組件文件描述全部可用的ADC變量名稱。 鍵盤組件文件描述使用于包括訂制設計芯片的嵌入式系統中的軟件應用的 全部邏輯鍵定義。圖9顯示范例配置文件的內容。配置文件包括五個區段Sec61、 Sec63、 Sec65、 Sec67、 Sec69以及方括號內的特定標示名稱,特定標示名稱位于每 個區段的開端,例如"[GPIO]" 、 "[GPO]" 、 "[EINT]" 、 "[ADC]"或"[Keypad]"。在GPIO區段Sec61中,有描述GPIO引腳的硬件架構的五 個陳述Stat611、 Stat613、 Stat615、 Stat617、 Stat619。每個陳述描述對應一 個GPIO引腳的模式的模式名稱以及GPIO引腳的初始閑置狀態如拉升(PU)、 拉低(PD)或高阻抗(Z)。例如,陳述Stat611描述GPIO引腳"GPIO0"對應 的三種模式"ModeO"至"Mode2",分別命名為"GPIO0" 、 "DICL"與"DSP一GP03",以及GPIO引腳"GPIO0"的初始閑置狀態為PD。在GPO 區段Sec63中,有描述GPO引腳的硬件架構的三個陳述Stat631、 Stat633、 Stat635。每個陳述描述對應一GPO引腳的模式名稱。值得注意的是,GPIO 或GPO引腳的模式名稱位于括號內,并且當括號內沒有標示任何模式名稱 時,表示上述模式處于保留狀態。在EINT區段Sec65中,陳述Stat651描述 外部中斷引腳的總數,以及陳述Stat653描述用于軟件除跳時間(deboimce time)延遲的外部中斷引腳總數。軟件除跳時間延遲用于決定中斷門坎值以及 當檢測到對應于中斷引腳的狀態改變時,例如從高到低或從低到高,維持決 定的中斷門坎。判斷中斷以避免因為信號不穩定造成的中斷錯誤判斷。在 Stat671描述ADC頻道引腳的總數。在鍵盤區段 Sec69中,陳述Stat691和Stat693描述硬件鍵盤的鍵盤矩陣。值得注意的是, 陳述Stat691和Stat693分別描述硬件鍵盤的鍵盤矩陣的總行數以及硬件鍵盤 的鍵盤矩陣的總列數。圖10顯示范例GPIO組件文件的內容。GPIO組件文件包括五個區段 Sec71、 Sec73、 Sec75、 Sec77、 Sec79,以及方括號內的特定標示名稱,特定 標示名稱位于每個區段的開端,例如"[GPIO一variables]" 、 "[gpio_dvr.h— HEADER]" 、 " [gpio—drv.h_TAILER]" 、 " [gpio—var.cJHEADER]"或"[部io一 var.c—TAILER]" 。 GPIO變量區段Sec71包括使用于軟件應用中以及分派至 GPIO引腳(例如GPIO端口號碼(portnumber))的GPIO變數。尤其,GPIO變 量區段Sec71包括變量Var711、 Var713、 Var715、 Var717、 Var719以及以 ";"起始的注釋Comm711、 Comm713、 Comm715、 Comm717、 Comm719。 每一變量有對應的注釋,用于描述使用于軟件應用中的GPIO變量。例如, 參考注釋Comm711與變量Var711, GPIO變量"gpio—bt—reset_pin"在軟件 應用中指示藍牙重置。區段Sec73、 Sec75、 Sec77、 Sec79的陳述描述產生插 入至兩個源文件中的標頭與標尾,例如,"gpio_var.c"與"gpio_drv.h", 并且源文件包括多種GPIO與GPO引腳的設定。GPO組件文件可以此類推, 此處僅簡短說明。圖11顯示范例EINT組件文件的內容。EINT組件文件包括五個區段 Sec81、 Sec83、 Sec85、 Sec87、 Sec89,以及方括號內的特定標示名稱,特定 標示名稱位于每個區段的開端,例如"[EINT_variables]" 、 "[eint_dvr.h_ HEADER]" 、 "[eint—drv.h—TAILER]" 、 "[eint—var.c—HEADER]"或"[eint_ var.c—TAILER]" 。 EINT變量區段Sec81包括使用于軟件應用中以及分派至 EINT引腳(例如EINT端口號碼)的EINT變量。尤其,EINT變量區段Sec81 包括變量Var811 、 Var813 、 Var815 、 Var817以及以";"起始的注釋Comm811 、 Comm813、 Comm815、 Comm817。每一變量有對應的注釋,用于描述使用
于軟件應用中的EINT變量。例如,參考注釋Comm813與變量Var813, EINT 變量"TOUCH—PANEL—EINT一NO"于軟件應用中指示觸摸面板中斷。區段 Sec83、 Sec85、 Sec87、 Sec89的陳述描述產生插入至兩個源文件中的標頭與 標尾,例如,"eint—var.c"與"eint—drv.h",并且源文件包括多種EINT引 腳的設定。圖12顯示范例ADC組件文件的內容。ADC組件文件包括三個區段 Sec91、 Sec93、 Sec95,以及方括號內的特定標示名稱,特定標示名稱位于 每個區段的開端,例如"[ADC—variables]" 、 "[adc—dvr.c—HEADER]"或 "[adc一var.c一TAILER]" 。 ADC變量區段Sec91包括使用于軟件應用中以及 分派至ADC引腳(例如ADC頻道號碼)的ADC變量。尤其,ADC變量區段 Sec91包括變量Var911、 Var913、 Var915、 Var917、 Var919以及以";"起 始的注釋Comm911、 Comm913、 Comm915、 Comm917、 Comm919。每一 變量有對應的注釋,用于描述使用于軟件應用中的ADC變量。例如,參考 注釋Comm915與變量Var915, ADC變量"ADC一VBATTMP"在軟件應用 中指示測量電池溫度。區段Sec93與Sec95的陳述描述產生插入至源文件的 標頭與標尾,例如,"adc一var.c",并且源文件包括多種ADC引腳的設定。圖13顯示范例鍵盤組件文件的內容。鍵盤組件文件包括三個區段 SeclOl至Secl05以及方括號內的特定標示名稱,特定標示名稱位于每個區 段的開端,例如"[Key—definition] " 、 " [keypad—dvr.c—HEADER]"或 "[keypad—var.c一TAILER]"。鍵定義區段SeclOl包括使用于軟件應用中以 及分派至鍵盤矩陣位置的鍵定義。尤其,鍵定義區段SeclOl包括定義 DeflOlO至Defl01D。例如,參考DeflOlO,定義"DEVICE—KEY—0"在軟 件應用中代表鍵盤上的硬鍵"0"。區段Secl03和Secl05的陳述描述產生 插入源文件的標頭與標尾,例如,"keypad_drv.h",并且源文件包括多種 鍵盤矩陣位置的設定。互動模塊510由處理單元41執行,互動模塊510加載并分析配置文件,
以及GPIO、 EINT、 ADC與鍵盤組件文件,并根據分析結果產生GUI。圖 14a至圖14e為在各方面(aspect)產生的GUI范例的示意圖。參考圖14a,產 生的GUI包括編輯窗口 WllOO,并且編輯窗口 WllOO包括五種數據格式分 別標示為"GPIO設定"LlllO、 "GPO設定"L1130、 "EINT設定"LI 150、 "ADC設定"L1170與"鍵盤設定"L1190。每個數據格式皆包括數據表以 幫助使用者編輯GPIO、 GPO、 EINT、 ADC或鍵盤引腳的設定,以及使用在 軟件應用中的GPIO、 GPO、 EINT、 ADC或鍵盤引腳及變量之間的定義對應 關系。當產生了編輯窗口 WllOO,初始顯示數據表FlllO,并且,當選取數 據格式的標示,例如L1130、 L1150、 L1170或L1190,對應數據表會顯示于 編輯窗口 W1100內并覆蓋初始數據表F1110,GUI顯示的結果顯示在圖14b、 14c、 14d或14e。再者,當選取一數據格式的標示時,數據格式的數據表將 被顯示于編輯窗口 W1100中,并且覆蓋先前顯示的數據表。接下來說明產生初始數據表F1110的細節。互動模塊510分析配置文件 (參考圖9)以擷取GPIO引腳的硬件配置,例如GPIO引腳的總數、可使用模 式及模式名稱、每一 GPIO引腳的初始閑置狀態,以及分析GPIO組件文件(參 考圖IO)以擷取使用于軟件應用中的全部GPIO變量,并且根據分析結果產 生數據表FlllO。圖15顯示GPIO引腳的數據表范例。數據表F1110包括u 行v列的數據矩陣,其中u代表分析的GPIO引腳總數、v代表設定項目的 總數。數據矩陣的每一單元(cell)包括UI控制,如下拉菜單、勾選框、輸入 區域或類似的對象以幫助使用者輸入GPIO引腳配置或GPIO引腳模式與 GPIO變量之間的對應關系。概念上,數據表F1110可以分為四個主要群組 Gllll、 G1113、 G1115與G1117。在群組Gllll中,對代表一個特定GPIO引腳的每一行而言,模式下拉 菜單的產生可幫助使用者自可使用模式中選擇缺省模式,以及勾選框的產生 可幫助使用者啟動或是不啟動特定模式。特定GPIO引腳的模式下拉菜單初 始被填入多個分析的模式名稱與專屬(pn)prietary)的關鍵詞"NC"作為菜單
項目,以通過選取菜單項目幫助使用者決定GPIO引腳的缺省模式或決定不 連接GPIO引腳。圖16顯示模式下拉菜單M1300的范例,包括對于GPIO 引腳"GPIO0"的五個菜單項目"0:GPIO0" 、 " 1:DICL" 、 "2:DSP—GP03"、"3:"與"NC",其中模式名稱"GPIO0" 、 "DICL"與"DSP—GP03"分 析自配置文件(參考圖9)。當對應于特定模式的菜單項目被選取,儲存表示 對應模式是GPIO引腳的缺省模式的信息到存儲器42中。當菜單項目"NC" 被選取時,儲存表示GPIO引腳沒有被連接到任一電子裝置的信息到存儲器 42中。接著,當按下按鈕B617(參考圖6)時,產生定義陳述"#defme GPIO_PORT0—MODE MODE—1"并記錄于源文件"gpio_drv.h",以根據儲 存的信息定義GPIO引腳"GPIO0"的缺省模式為模式"MODE一l"。另外, 初始顯示每一個GPIO引腳的可使用模式的勾選框以幫助使用者決定是否要 啟動特定模式。圖17顯示GPIO引腳"GPIO0"的勾選框范例Chkl41、Chk143 與Chkl45。因為當分析配置文件時判定"GPIO0"的模式"MODE3"處于 保留狀態,所以對于GPIO引腳"GPIO0"僅顯示三個勾選框Chkl41、 Chkl43 與Chkl45。勾選框(例如Chkl41)被勾選表示啟動對應于被勾選的勾選框的 模式,反之,勾選框(例如Chkl43或Chkl45)沒有被勾選表示不啟動對應于 沒有被勾選的勾選框的模式。當勾選框被勾選,儲存表示啟動一個GPIO引 腳的特定模式的信息到存儲器42中。當勾選框沒有被選取,儲存表示沒有 啟動一個GPIO引腳的特定模式的信息到存儲器42中。接著,例如當壓下 按鈕B617(參考圖6)時,產生并記錄定義陳述"#defme MODE0—GPIOO 0" 與"#define MODE1—GPIOO 1"到源文件"gpio—drv.h"以定義GPIO引腳"GPIO0"的模式"MODE0"被啟動,并且根據儲存的信息啟動GPIO引腳"GPIO0"的模式"MODE0"。在群組G1113中,對代表特定GPIO引腳的每一行而言,產生勾選框可 幫助使用者啟動或是不啟動GPIO引腳的缺省模式的初始閑置狀態,以及產 生狀態下拉菜單可幫助使用者自GPIO引腳的缺省模式的預定狀態中選擇初
始閑置狀態。特定GPIO引腳的狀態下拉菜單初始被填入多個預定狀態"PD" , "PU"與"Z"作為菜單項目,以幫助使用者決定狀態為GPIO引 腳的初始狀態。圖18顯示GPIO引腳"GPIO0"的狀態下拉菜單M1500與 勾選框Chkl51的范例。狀態下拉菜單Ml500包括三個預定菜單項目"PD"、 "PU"與"Z",其中當分析配置文件(參考圖9)時,會初始選擇菜單項目 "PD"。勾選框Chkl51與選擇的菜單項目"PD"代表GPIO引腳"GPIO0" 的初始狀態為下拉。當勾選框Chk151被勾選,表示啟動GPIO引腳的缺省 模式的初始狀態的信息將儲存到存儲器42。當勾選框Chkl51沒有被勾選時, 表示不啟動GPIO引腳的缺省模式的初始狀態的信息將儲存到存儲器42。當 對應于狀態的菜單項目被選取時,表示GPIO引腳的缺省模式的預設狀態為 對應的狀態的信息被儲存到存儲器42。接著,當按下按鈕B617(參考圖6), 產生定義陳述"#define GPIO—PORTO—PULL PULL—ENABLE"并記錄到上 述源文件"gpio—drv.h",以根據上述儲存的信息定義GPIO引腳"GPIO0"的缺省模式的初始狀態。在群組G1115中,對代表特定GPIO引腳的每一行而言,產生方向下拉菜單幫助使用者自多個預定方向選擇預設方向,以及產生兩個勾選框幫助使 用者啟動或不啟動GPIO引腳的信號輸入或輸出。特定GPIO引腳的方向下 拉菜單初始被填入預定方向"IN"與"OUT"作為菜單項目,以幫助使用者 決定GPIO引腳的預設方向。圖19顯示GPIO引腳"GPIO0"的兩個勾選框 Chkl61與Chkl63的范例與方向下拉菜單M1600的范例。勾選框Chkl61與 選取的菜單項目"OUT"代表GPIO引腳"GPIO0"輸出信號至電子裝置, 并且傳輸的初始方向為輸出。當勾選框被勾選,表示啟動GPIO引腳的信號 輸入或輸出的信息將儲存到存儲器42。當勾選框沒有被勾選時,表示不啟動 GPIO引腳的信號輸入或輸出的信息將儲存到存儲器42。當對應于一個方向 的菜單項目被選取時,表示GPIO引腳的缺省模式的預設方向為對應的方向 的信息被儲存到存儲器42。接著,當按下按鈕B617(參考圖6),產生定義陳
述"#defme GPIO—PORT0—DIR DIR—OUT" 、 "#defme DIR—IN—GPIO0 0" 與"#defmeGPIO_PORT_OUT_GPIO0 1",并記錄于源文件"gpio—drv.h", 以根據儲存的信息定義GPIO引腳"GPIO0"的缺省模式的預設方向為輸出、 不啟動GPIO引腳的信號輸入以及啟動GPIO引腳的信號輸出。除了定義陳 述之外,當壓下按鈕B617時,更記錄標頭與標尾(參考圖10的Sec73與Sec75) 于源文件"gpio—drv.h"中。在群組G1117中,對代表特定GPIO引腳的每一行而言,產生分別對應 于GPIO引腳的四個模式的四個變量下拉菜單可幫助使用者自使用于軟件應 用中分析的多個GPIO變量中選擇GPIO變量。對應特定GPIO引腳一個模 式的變量下拉菜單初始被填入多個分析的GPIO變量名稱作為菜單項目,以 幫助使用者決定GPIO引腳模式與GPIO變量之間的對應關系。圖20顯示變 量下拉菜單M1700的范例。變量下拉菜單M1700對應于GPIO引腳"GPIOO" 的模式"MODE0",包括至少五個菜單項目"gpio_led_status—en_pin"、 "gpio_ led—statusl—en_pin" 、 "gpio_led_status2—en_pin" 、 "gpio一led一status3—en_pin" 與"gpio—led—keybl—en_pin",以上這些菜單項目分析自GPIO組件文件(參 考圖10)。當GPIO變量名稱被選取時,表示GPIO引腳的模式對應到選取的 GPIO變量名稱的信息將儲存到存儲器42。接著,當按下按鈕B617(參考圖 6)時,產生宣告陳述"const char gpio—test—cmd—bit0_pin = GPIO—PORT—8" 并記錄于源文件"gpio_Var.c",以根據儲存的信息宣告在訂制設計芯片中使 用在軟件應用的GPIO變量"gpio—flash—test_cmd—bit0_pin"為固件中GPIO 端口號碼"GPIO_PORT_8"。除了宣告陳述之外,當壓下按鈕B617時,更 記錄標頭與標尾(參考圖10的Sec77與Sec79)到源文件"gpio—var.c"中。接下來說明產生初始數據表F1130的細節。互動模塊510分析配置文件 (參考圖9)以擷取GPO引腳的硬件配置,例如GPO引腳的總數、可使用模 式及模式名稱,以及分析GPO組件文件以擷取使用于軟件應用中的全部 GPO變量,并且根據分析結果產生數據表F1130。圖21顯示GPO引腳的數 據表范例。數據表Fl 130包括u行v列的數據矩陣,其中u代表分析的GPO 引腳總數、v代表設定項目的總數。數據矩陣的每一單元(cell)包括UI控制, 如下拉菜單、勾選框、輸入區域或類似的對象以幫助使用者輸入GPO弓|腳 配置或GPO引腳模式與GPO變量之間的對應關系。概念上,數據表F1130 可以分為兩個主要群組G1131與G1133。在群組G1131中,對代表特定GPO引腳的每一行而言,模式下拉菜單 的產生可幫助使用者自可使用模式中選擇缺省模式,以及勾選框的產生可幫 助使用者啟動或是不啟動特定模式。特定GPO引腳的模式下拉菜單初始被 填入多個分析模式名稱與專屬的關鍵詞"NC"作為菜單項目,以通過選取 菜單項目幫助使用者決定GPO引腳的缺省模式或決定不連接GPO引腳。產 生與控制下拉菜單的詳細方法可以依照圖16的說明。對每一GP0引腳而言, 對可使用模式,初次可顯示最多四個勾選框以幫助使用者決定是否啟動特定 模式。產生與控制上述勾選框的詳細方法可以依照圖17的說明。在群組G1133中,對代表特定GPO引腳的每一行而言,產生分別對應 于GPO引腳的四個模式的四個變量下拉菜單可幫助使用者自使用在軟件應 用中分析的多個GPO變量中選擇GPO變量。特定GPO引腳的變量下拉菜 單初始被填入多個分析的GPO變量名稱作為菜單項目,以幫助使用者決定 GPO引腳模式與GPO變量之間的對應關系。產生與控制變量下拉菜單的詳 細方法可以依照圖20的說明。接下來說明產生初始數據表F1150的細節。互動模塊510分析配置文件 (參考圖9)以擷取GP0引腳的硬件配置,例如EINT引腳的總數,以及分析 EINT組件文件(參考圖ll)以擷取使用在軟件應用中的全部EINT變量,并且 根據分析結果產生數據表F1150。圖22顯示EINT引腳的數據表范例。數據 表F1150包括u行v列的數據矩陣,其中u代表分析的EINT引腳總數、v 代表設定項目的總數。數據矩陣的每一單元(cell)包括UI控制,如下拉菜單、 勾選框、輸入區域或類似的對象以幫助使用者輸入EINT引腳配置或EINT
引腳(通過EINT端口號碼表示)與EINT變量之間的對應關系。概念上,數據 表F1150可以分為兩個主要群組G1151與G1153。在群組G1151中,對代表特定EINT引腳的每一列而言,對應于EINT 引腳(通過EINT端口號碼表示)的變量下拉菜單的產生可幫助使用者自使用 在軟件應用中分析的多個EINT變量中選擇EINT變量。特定EINT引腳的 變量下拉菜單初始被填入多個分析的EINT變量名稱與專屬關鍵詞"NC"作 為菜單項目,以幫助使用者決定EINT引腳與EINT變量之間的對應關系。 圖23顯示變量下拉菜單M2000的范例。對EINT引腳"ENITO"而言,變 量下拉菜單M2000包括至少九個菜單項目"SWBDG—EINT一NO" 、 "AUX— EINT_NO" 、 "TOUCH一PANEL一EINT一NO" 、 "CHRDET—EINT一NO"、 "MOTION_SENSOR—EINT—NO"、 "BT一EINT一NO" 、 "USB—EINT—NO"、 "CHR—USB—EINT—NO "與"NC ", 其中 EINT 變量名稱 " SWBDG_EINT_NO " 、 " AUX_EINT—NO " 、 "TOUCH—PANEL—EINT—NO "、 " CHRDET—EINT一NO "、 "MOTION—SENSOR—EINT_NO" 、 "BT一EINT一NO" 、 "USB—EINT_NO" 與"CHR—USB—EINT—NO"分析自EINT組件文件(參考圖11)。當EINT變 量名稱被選取時,表示EINT引腳(通過EINT端口號碼表示)可對應到選取的 EINT變量名稱的信息將儲存到存儲器42。當菜單項目"NC"被選取時,表 示EINT弓I腳沒有被連接到任一 電子裝置的信息將被儲存到存儲器42。接著, 例如,當按下按鈕B617(參考圖6)時,產生宣告陳述"const unsigned char AUX—EINT_NO0;,, 、 "const unsigned char TOUCH— PANEL—EINT—NO 1;" 、 " const unsigned char SWDBG—EINT—NO= EINT_ CHANNEL—NOT—EXIST; "、 " const unsigned char MOTION_SENSOR—EINT— NOEINT—CHANNEL—NOT—EXIST;",并記錄于源文件"eint—var.c",以 根據儲存的信息分別宣告固件中EINT號碼"0"分派至使用于軟件應用的 EINT變量"AUX一EINT一NO"、固件中EINT號碼"1"分派至使用于軟件 應用的EINT變量"TOUCH_PANEL_EINT—NO ",以及專屬常數 "EINT—CHANNEL—NOT—EXIST"分派至EINT變數"SWDBG—EINT—NO" 與"MOTION—SENSOR_EINT_NO"。值得注意的是,EINT變量被分派為 常數"EINTj:HANNEL—NOT—EXIST"表示EINT變量沒有對應到任何EINT 號碼。除了宣告陳述之外,當壓下按鈕B617(參考圖6)時,更記錄標頭與標 尾(參考圖11的Sec87與Sec89)于源文件"dnt_var,c"中。在群組G1153中,對代表一特定EINT引腳的每一行而言,對應于EINT 引腳的除跳時間下拉菜單的產生可幫助使用者自多個預定的除跳時間中選 擇一個除跳時間。特定EINT引腳的除跳時間下拉菜單初始被填入多個預定 數目作為菜單項目,以幫助使用者決定EINT引腳的除跳時間。圖24顯示 EINT弓I腳"EINTO"的除跳時間下拉菜單M2100的范例。除跳時間下拉菜 單M2100包括至少九個預定菜單項目自"49"至"57"。接著,當按下按 鈕B617(參考圖6)時,產生定義陳述"#define EINTO—DEBOUNCE—TIME— DELAY 50"與"#defmeEINTl—DEBOUNCE—TIME—DELAY 0",并記錄于 源文件"eint一drv.h",以根據儲存的信息分別定義EINT號碼為"0"的EINT 引腳的除跳時間延遲為50個10毫秒,以及EINT號碼為"1"的EINT引腳 的除跳時間延遲為0。除了定義陳述之外,當壓下按鈕B617(參考圖6)時, 更記錄標頭與標尾(參考圖11的Sec83與Sec85)于源文件"eint—drv.h"中。接下來說明產生初始數據表F1170的細節。互動模塊510分析配置文件 (參考圖9)以擷取ADC引腳的硬件配置,例如ADC引腳的總數,以及分析 ADC組件文件(參考圖12)以擷取使用于軟件應用中的全部ADC變量,并且 根據分析結果產生數據表F1170。圖25顯示ADC引腳的數據表范例。數據 表F1170包括u行v列的數據矩陣,其中u代表分析的ADC引腳總數、v 代表設定項目的總數。數據矩陣的每一單元(cell)包括UI控制,如下拉菜單、 勾選框、輸入區域或類似的對象以幫助使用者輸入ADC引腳(通過ADC頻 道號碼表示)與ADC變量之間的對應關系。概念上,數據表F1170可以分為
至少主要群組G1171。在群組G1711中,對代表特定ADC引腳的每一行而言,對應于ADC 引腳(通過ADC頻道號碼表示)的變量下拉菜單的產生可幫助使用者自使用 于軟件應用中分析的多個ADC變量中選擇ADC變量。特定ADC引腳的變 量下拉菜單初始被填入多個分析的ADC變量名稱與專屬關鍵詞"NC"作為 菜單項目,以幫助使用者決定ADC引腳與ADC變量之間的對應關系。圖 26顯示變量下拉菜單M2300的范例。對ADC引腳"ADC1"而言,變量下 拉菜單M2300包括至少八個菜單項目"ADC_VBAT" 、 "ADC_VISENSE"、 "ADC—VBATTMP" 、 "ADC一VCHARGER" 、 "ADC—ACCESSORYID"、 "ADC—PCBTMP" 、 "ADC—CHR—USB"與"NC",其中ADC變量名稱 "ADC一VBAT " 、" ADC_VISENSE " 、" ADC—VBATTMP "、 "ADC_VCHARGER" 、 "ADC一ACCESSORYID" 、 "ADC—PCBTMP"與 "ADC—CHR—USB"分析自ADC組件文件(參考圖12)。當ADC變量名稱被 選取時,表示ADC引腳(通過EINT頻道號碼表示)對應到選取的ADC變量 名稱的信息將儲存到存儲器42。當菜單項目"NC"被選取時,表示ADC引 腳沒有被連接到任一電子裝置的信息將被儲存到存儲器42。接著,當按下按 鈕B617(參考圖6)時,產生宣告陳述"constunsignedcharADC—VBAT = 0;"、 "const unsigned char ADC一VISENSE = l;"以及"const unsigned char ADC—PCBTMP = ADC—ERR—CHANNEL—NO;",并記錄于源文件 "adC_Var.c",以根據儲存的信息分別宣告固件中ADC頻道"0"分派至使 用于軟件應用的ADC變量"ADC一VBAT"、固件中ADC頻道"1"分派 至使用于軟件應用的ADC變量"ADC_VISENSE ",以及專屬常數 "ADC—ERR—CHANNEL—NO"分派至ADC變數"ADC—PCBTMP"。值得 注意的是,ADC變量被分派為常數"ADC_ERR—CHANNEL_NO"表示ADC 變量沒有對應到任何ADC頻道。除了宣告陳述之外,當壓下按鈕B617(參 考圖6)時,更記錄標頭與標尾(參考圖12的Sec93與Sec95)于源文件"adc_var.c"中。接下來說明產生初始數據表F1190的細節。互動模塊510分析配置文件 (參考圖9)以擷取鍵盤引腳的硬件配置,例如硬件鍵盤矩陣的總行數,以及 硬件鍵盤矩陣的總列數,以及分析鍵盤組件文件(參考圖13)以擷取使用于軟 件應用中的全部鍵定義,并且根據分析結果產生數據表F1190。圖27顯示 鍵盤引腳的數據表范例。數據表F1190包括u行v列的數據矩陣,其中u代 表分析的鍵盤矩陣的總行數、v代表分析的鍵盤矩陣的總列數。數據矩陣的 每一單元(cell)包括UI控制,如下拉菜單、勾選框、輸入區域或類似的對象 以幫助使用者輸入鍵盤矩陣的位置與鍵定義之間的對應關系。概念上,數據 表Fl 190可以分為至少主要群組Gl 191 。在群組G1191中,對數據矩陣的每一單元(cell)而言,對應于鍵盤矩陣 的一位置的定義下拉菜單的產生可幫助使用者自使用于軟件應用中分析的 多個鍵定義中選擇鍵定義。鍵盤矩陣的位置的定義下拉菜單初始被填入多個 分析的鍵定義與專屬關鍵詞""NONE"作為菜單項目,以幫助使用者決定鍵 盤矩陣的位置與鍵定義之間的對應關系。圖28顯示定義下拉菜單M2500的 范例。對鍵盤矩陣的第一列第兩行的單元而言,定義下拉菜單M2500包括 至少_^_一個菜單項目"DOWN" 、 "LEFT" 、 "RIGHT" 、 "MENU"、 "FUNCTION" 、 "SK—LEFT" 、 "SK_RIGHT" 、 "SEND" 、 "END"、 "POWER"與"NONE",其中鍵定義"DOWN" 、 "LEFT" 、 "RIGHT"、 "MENU" 、 "FUNCTION" 、 "SK一LEFT" 、 "SK—RIGHT" 、 "SEND"、 "END"與"POWER"分析自鍵盤組件文件(參考圖13)。注意顯示于定義 下拉菜單M2500的鍵定義儲存于鍵盤組件文件(參考圖10)的原始鍵定義的 簡寫。當鍵定義被選取時,表示鍵盤矩陣的位置對應到選取的鍵定義的信息 將儲存到存儲器42。當菜單項目"NONE"被選取時,表示鍵盤矩陣的位置 沒有被定義的信息將被儲存到存儲器42。接著,例如,當按下按鈕B617(參 考圖6)時,產生定義陳述"#defmeKEYPAD—MAPPING DEVICE—KEY—SEND, DEVICE—KEY_SK_RIGHT, DEVICE—KEY—NONE, DEVICE—KEY— FUNCTION,...",并記錄于源文件"keypad—drv.h",以根據儲存的信息分別且順序定義對應到鍵盤矩陣的位置的使用于軟件應用的鍵定義。值得注意 的是,鍵盤矩陣的位置對應到專屬常數"DEVICE_KEY—NONE"表示鍵盤 矩陣的位置沒有任何對應(即鍵盤矩陣的位置被保留)。除了定義陳述之外, 當壓下按鈕B617(參考圖6)時,更記錄標頭與標尾(參考圖10的Secl03與 Secl05)于源文件"key—drv.h"中。本發明的產生嵌入式目標映像的方法,或其特定型態或其部分,可以以 程序碼的型態(例如指令)包含于實體媒體,如軟盤、光盤片、硬盤、或是任 何其它機器可讀取(如計算機可讀取)儲存媒體,其中,當程序碼被機器,如 計算機加載且執行時,此機器變成用以參與本發明的裝置。本發明的方法與 裝置也可以以程序碼型態透過一些傳送媒體,如電線或電纜、光纖、或是任 何傳輸型態進行傳送,其中,當程序碼被機器,如計算機接收、加載且執行 時,此機器變成用以參與本發明的裝置。當在一般用途處理器實作時,程序 碼結合處理器提供一操作類似于應用特定邏輯電路的獨特裝置。雖然本發明已以實施方式揭露如上,但是對于本領域的技術人員,依據 本發明實施方式的思想,在具體實施方式
及應用范圍上均會有改變之處,綜 上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種產生嵌入式目標映像的方法,所述嵌入式目標映像儲存在嵌入式系統的非易失性存儲裝置中作為其固件,所述方法包括產生圖形用戶界面編輯器以幫助使用者提供安裝在所述嵌入式系統的芯片的多個引腳的設定信息;根據所述使用者對于所述圖形用戶界面編輯器的操作結果產生源碼;以及通過鏈接自所述源碼編譯的對象文件產生所述嵌入式目標映像。
2. 如權利要求1所述的產生嵌入式目標映像的方法,其特征在于,所 述提供的信息包括所述引腳的配置以及所述引腳與使用于所述嵌入式系統 中軟件應用的多個變量的對應關系。
3. 如權利要求1所述的產生嵌入式目標映像的方法,其特征在于,所述方法還包括分析至少一描述文件,所述描述文件包括用于描述所述芯片的所述引腳的硬件配置的多個陳述以及使用于所述嵌入式系統中軟件應用的多個變量; 以及根據所述分析結果產生所述圖形用戶界面編輯器。
4. 如權利要求3所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件包括配置文件,所述分析步驟還包括通過分析所述配置文件擷取 多個通用輸入輸出口引腳的總數,所述圖形用戶界面編輯器的所述產生步驟 還包括在所述圖形用戶界面編輯器內產生數據表,所述數據表包括u行v列, 并且u與所述擷取的所述通用輸入輸出口引腳的總數相同。
5. 如權利要求4所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件還包括通用輸入輸出口組件文件,所述數據表的每一行代表通用 輸入輸出口引腳,所述分析步驟還包括通過分析所述配置文件為每一通用輸入輸出口引腳擷取至少一可使用模式;通過分析所述配置文件為每一通用輸入輸出口引腳擷取對應于所述可 使用模式的至少一模式名稱;為每一通用輸入輸出口引腳擷取缺省模式的初始閑置狀態;以及通過分析所述通用輸入輸出口組件文件擷取使用于所述軟件應用的多 個通用輸入輸出口變量;以及所述圖形用戶界面編輯器的所述產生步驟還包括為所述數據表的每一行產生模式下拉菜單,所述模式下拉菜單包括對應 于所述擷取的模式名稱的至少一菜單項目,通過選取菜單項目幫助所述使用 者決定所述通用輸入輸出口引腳的所述缺省模式;為每一行產生對應于所述擷取的可使用模式的至少一勾選框,通過勾選 所述至少一勾選框幫助所述使用者啟動所述通用輸入輸出口引腳的模式;產生勾選框,通過勾選所述勾選框幫助所述使用者啟動所述通用輸入輸 出口引腳的所述缺省模式的初始閑置狀態;產生狀態下拉菜單,所述狀態下拉菜單包括多個預定狀態,通過選取菜 單項目幫助所述使用者決定所述通用輸入輸出口引腳的所述缺省模式的所 述初始閑置狀態;以及產生對應于所述通用輸入輸出口引腳的所述可使用模式的至少一變量 下拉菜單,所述至少一變量下拉菜單包括對應于所述擷取的通用輸入輸出口 變量的多個菜單項目,通過選取菜單項目幫助使用者決定所述通用輸入輸出 口引腳的可使用模式與通用輸入輸出口變量的對應關系。
6.如權利要求5所述的產生嵌入式目標映像的方法,其特征在于,所述圖形用戶界面編輯器的所述產生步驟還包括-產生方向下拉菜單,所述方向下拉菜單包括兩個預定菜單項目,通過選 取菜單項目幫助所述使用者決定所述通用輸入輸出口引腳的預設方向;以及 產生兩個勾選框,通過勾選或不勾選一個勾選框幫助所述使用者啟動或 不啟動信號輸入或輸出。
7. 如權利要求3所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件包括配置文件,所述分析步驟還包括通過分析所述配置文件擷取 多個通用輸出口引腳的總數,所述圖形用戶界面編輯器的所述產生步驟還包 括于所述圖形用戶界面編輯器內產生數據表,所述數據表包括u行v列,并 且u與所述擷取的所述通用輸出口引腳的總數相同。
8. 如權利要求7所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件還包括通用輸出口組件文件,所述數據表的每一行代表通用輸出 口引腳,所述分析步驟還包括通過分析所述配置文件為每一通用輸出口引腳擷取至少一可使用模式;通過分析所述配置文件為每一通用輸出口引腳擷取對應于所述可使用 模式的至少一模式名稱;通過分析所述通用輸出口組件文件擷取使用于所述軟件應用的多個通 用輸出口變量,以及所述圖形用戶界面編輯器的所述產生步驟還包括為所述數據表的每一行產生模式下拉菜單,所述模式下拉菜單包括對應 于所述擷取的模式名稱的至少一菜單項目,通過選取菜單項目幫助所述使用 者決定所述通用輸出口引腳的所述缺省模式;為每一行產生對應于所述擷取的可使用模式的至少一勾選框,通過勾選 所述至少一勾選框幫助所述使用者啟動所述通用輸出口引腳的模式;以及產生對應于所述通用輸出口引腳的所述可使用模式的至少一變量下拉 菜單,所述至少一變量下拉菜單包括對應于所述擷取的通用輸出口變量的多 個菜單項目,通過選取菜單項目幫助使用者決定所述通用輸出口引腳的可使 用模式與通用輸出口變量的對應關系。
9. 如權利要求3所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件包括配置文件,所述分析步驟還包括通過分析所述配置文件擷取 多個外部中斷引腳的總數,所述圖形用戶界面編輯器的所述產生步驟還包括 于所述圖形用戶界面編輯器內產生數據表,所述數據表包括U行V列,并且 u與所述擷取的所述外部中斷引腳的總數相同。
10. 如權利要求9所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件還包括外部中斷組件文件,所述數據表的每一行代表外部中斷引 腳,所述分析步驟還包括通過分析所述外部中斷組件文件擷取使用于所述軟 件應用的多個外部中斷變量,以及所述圖形用戶界面編輯器的所述產生步驟 還包括產生對應于所述外部中斷引腳的變量下拉菜單,所述變量下拉菜單包 括對應于所述擷取的外部中斷變量的多個菜單項目,通過選取菜單項目幫助 使用者決定所述外部中斷引腳與所述外部中斷變量的對應關系。
11. 如權利要求10所述的產生嵌入式目標映像的方法,其特征在于, 所述圖形用戶界面編輯器的所述產生步驟還包括產生對應于外部中斷引腳 的除跳時間下拉菜單,所述除跳時間下拉菜單包括作為菜單項目的多個預定 除跳時間,通過選取菜單項目幫助所述使用者決定所述外部中斷引腳的除跳 時間。
12. 如權利要求3所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件包括配置文件,所述分析步驟還包括通過分析所述配置文件擷取 多個模數轉換器引腳的總數,所述圖形用戶界面編輯器的所述產生步驟還包 括于所述圖形用戶界面編輯器內產生數據表,所述數據表包括u行v列,并 且u與所述擷取的所述模數轉換器引腳的總數相同。
13. 如權利要求12所述的產生嵌入式目標映像的方法,其特征在于, 所述描述文件還包括模數轉換器組件文件,所述數據表的每一行代表模數轉 換器引腳,所述分析步驟還包括通過分析所述模數轉換器組件文件擷取使用 于所述軟件應用的多個模數轉換器變量,以及所述圖形用戶界面編輯器的所 述產生步驟還包括產生對應于所述模數轉換器引腳的變量下拉菜單,所述變 量下拉菜單包括對應于所述擷取的模數轉換器變量的多個菜單項目,通過選 取菜單項目幫助使用者決定所述模數轉換器引腳與所述模數轉換器變量的 對應關系。
14. 如權利要求3所述的產生嵌入式目標映像的方法,其特征在于,所 述描述文件包括配置文件,所述分析步驟還包括通過分析所述配置文件擷取 硬件鍵盤的鍵盤矩陣的總行數,以及通過分析所述配置文件擷取所述硬件鍵 盤的所述鍵盤矩陣的總列數,所述圖形用戶界面編輯器的所述產生步驟還包 括于所述圖形用戶界面編輯器內產生數據表,所述數據表包括u行v列,并 且u與所述擷取的所述硬件鍵盤的所述鍵盤矩陣的總行數相同,以及v與所 述擷取的所述硬件鍵盤的所述鍵盤矩陣的總列數相同。
15. 如權利要求14所述的產生嵌入式目標映像的方法,其特征在于,所述描述文件還包括鍵盤組件文件,所述數據表的每一行代表所述鍵盤矩陣 的一行,所述數據表的每一列代表所述鍵盤矩陣的一列,所述分析步驟還包 括通過分析所述鍵盤組件文件擷取使用于所述軟件應用的多個鍵定義,以及 所述圖形用戶界面編輯器的所述產生步驟還包括為所述數據表的每一單元 產生定義下拉菜單,所述定義下拉菜單包括對應于所述擷取使用于軟件應用 中的鍵定義的多個菜單項目,通過選取菜單項目幫助使用者決定所述鍵盤矩 陣的位置與鍵定義的對應關系。
16. —種產生嵌入式目標映像系統,其特征在于,所述嵌入式目標映像 儲存在嵌入式系統的非易失性存儲裝置中作為其固件,所述系統包括-顯示器;以及處理單元,其耦接于所述顯示器,產生圖形用戶界面編輯器以幫助使用 者提供安裝于所述嵌入式系統的芯片的多個引腳的設定信息,根據所述使用 者對于所述圖形用戶界面編輯器的操作結果產生源碼,通過鏈接自所述源碼 編譯的對象文件產生所述嵌入式目標映像。
17. 如權利要求16所述的產生嵌入式目標映像系統,其特征在于,所述提供的信息包括所述引腳的配置,以及所述引腳與使用于所述嵌入式系統 中軟件應用的多個變量之間的對應關系。
18. 如權利要求17所述的產生嵌入式目標映像系統,其特征在于,所 述系統還包括存儲裝置,其中所述處理單元在所述存儲裝置中儲存所述提供 的信息,記錄所述提供的信息于儲存在儲存裝置的數據工作空間文件,并且 于稍后讀取所述數據工作空間文件以擷取所述提供的信息。
19. 如權利要求16所述的產生嵌入式目標映像系統,其特征在于,所 述系統還包括儲存裝置,其儲存至少一描述文件,所述至少一描述文件包括 用以描述所述芯片的所述引腳的硬件配置的多個陳述以及使用于所述嵌入 式系統中的軟件應用的多個變量,其中所述處理單元分析所述描述文件并根 據所述分析結果產生所述圖形用戶界面編輯器。
20. 如權利要求16所述的產生嵌入式目標映像系統,其特征在于,所 述系統還包括儲存裝置,其中所述處理單元在所述儲存裝置中儲存所述產生 的源碼。
全文摘要
一種產生嵌入式目標映像的系統及其方法,嵌入式目標映像儲存在嵌入式系統的非易失性存儲裝置中以作為固件(firmware),該方法包括產生圖形用戶界面(GUI)編輯器以幫助使用者提供安裝在嵌入式系統的芯片的多種引腳的設定信息;根據使用者對GUI編輯器的操作結果產生源碼;以及鏈接自源碼編譯的對象文件以產生嵌入式目標映像。本發明通過GUI編輯器幫助使用者產生源碼,并通過鏈接自源碼編譯的對象文件產生嵌入式目標映像,避免了直接修改源文件及/或頭文件,從而提高了產生嵌入式目標映像的效率,并且具有可靠性。
文檔編號G06F9/44GK101162427SQ200710162620
公開日2008年4月16日 申請日期2007年10月15日 優先權日2006年10月13日
發明者柯智偉, 石弘凱, 胡世昌 申請人:聯發科技股份有限公司