電子裝置及控制程序的加載方法
【專利摘要】一種電子裝置包括第一記憶單元、處理單元及操作接口。處理單元與第一記憶單元電性連接。操作接口與處理單元電性連接。當(dāng)處理單元通過操作接口與主機(jī)裝置通信連接,處理單元執(zhí)行加載程序,并傳送通知信號至主機(jī)裝置。主機(jī)裝置依據(jù)通知信號傳送至少一個控制程序至第一記憶單元。當(dāng)控制程序傳送完成后,處理單元重新啟動,并執(zhí)行儲存于第一記憶單元的控制程序。從而實現(xiàn)具有增加、修改或改變所儲存的固件的能力,同時也能夠簡化電路布局的架構(gòu)。
【專利說明】電子裝置及控制程序的加載方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明關(guān)于一種電子裝置及控制程序的加載方法。
【背景技術(shù)】
[0002] 固件(firmware )是一種嵌入在硬件裝置中的軟件,其為基本硬件初始化及周邊控 制的必要控制程序(或稱之為程序代碼),并用以控制和協(xié)調(diào)集成電路,以使裝置能夠正確 的運行。因而,固件廣泛地運用于多種不同的電子產(chǎn)品中,例如是電腦主機(jī)以及可與電腦主 機(jī)搭配使用或通信連接的電子裝置,如光驅(qū)、刻錄機(jī)、硬盤、記憶卡、無線基地臺、IP分享器、 數(shù)字相機(jī)或調(diào)制解調(diào)器。
[0003] -般而言,電子裝置的固件可儲存于只讀存儲器或閃存中。當(dāng)固件是儲存于只讀 存儲器時,由于只讀存儲器并不能修改或刪除其所儲存的數(shù)據(jù),因此使用者將無法增加、修 改或改變只讀存儲器中所儲存的固件。換言之,使用者將無法通過更新固件的方式,使電子 裝置適應(yīng)新的硬件環(huán)境,或使電子裝置增加額外的功能及優(yōu)化電子裝置的執(zhí)行程序。
[0004] 此外,當(dāng)電子裝置的固件是儲存于閃存時,當(dāng)電子裝置需要執(zhí)行固件時,需先將固 件自閃存?zhèn)魉椭岭S機(jī)存取內(nèi)存,再通過處理單元執(zhí)行位于隨機(jī)存取內(nèi)存的固件。雖然,藉由 閃存儲存固件,將可提供使用者增加、修改或改變固件的能力。然而,此種方式將需要額外 增設(shè)至少一個專門用以儲存固件的閃存,從而限制了電路布局的設(shè)計方式。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種具有增加、修改或改變所儲存的固件的能力,同時也能夠簡化電 路布局的架構(gòu)的電子裝置及控制程序的加載方法。
[0006] 本發(fā)明的一種電子裝置包括第一記憶單元、處理單元及操作接口。處理單元與第 一記憶單元電性連接。操作接口與處理單元電性連接。當(dāng)處理單元通過操作接口與主機(jī)裝 置通信連接,處理單元執(zhí)行加載程序,并傳送通知信號至主機(jī)裝置。主機(jī)裝置依據(jù)通知信號 傳送至少一個控制程序至第一記憶單元。當(dāng)控制程序傳送完成后,處理單元重新啟動,并執(zhí) 行儲存于第一記憶單元的控制程序。其中控制程序的格式為單列的串行數(shù)據(jù),且不具有通 信協(xié)議數(shù)據(jù)。
[0007] 本發(fā)明的一種控制程序的加載方法,是應(yīng)用于電子裝置,且電子裝置與主機(jī)裝置 通信連接。加載方法包括以下步驟:由電子裝置的處理單元執(zhí)行加載程序,并傳送通知信號 至主機(jī)裝置;主機(jī)裝置依據(jù)通知信號傳送至少一個控制程序至電子裝置的第一記憶單元; 以及于控制程序傳送完成后,處理單元重新啟動,并執(zhí)行儲存于第一記憶單元的控制程序。 其中控制程序的格式為單列的串行數(shù)據(jù),且不具有通信協(xié)議數(shù)據(jù)。
[0008] 本發(fā)明的一種電子裝置及控制程序的加載方法,藉由電子裝置的處理單元執(zhí)行加 載程序,以通知主機(jī)裝置傳送至少一個控制程序至電子裝置的第一記憶單元。處理單元并 于控制程序傳送完成后,重新啟動并執(zhí)行儲存于第一記憶單元的控制程序。從而實現(xiàn)具有 增加、修改或改變所儲存的固件的能力,同時也能夠簡化電路布局的架構(gòu)。
【專利附圖】
【附圖說明】
[0009] 圖1A為依據(jù)本發(fā)明較佳實施例的一種電子裝置的示意圖。
[0010] 圖1B為依據(jù)本發(fā)明較佳實施例的一種控制程序的加載方法的流程圖。
[0011] 圖2為依據(jù)本發(fā)明較佳實施例的一種控制程序的格式的示意圖。
[0012] 圖3為依據(jù)本發(fā)明較佳實施例的另一種電子裝置的示意圖。
【具體實施方式】
[0013] 以下將參照相關(guān)圖式,說明依本發(fā)明較佳實施例的電子裝置及控制程序的加載方 法,其中相同的元件將以相同的參照符號加以說明。
[0014] 首先,請參照圖1A所示,其為本發(fā)明較佳實施例的電子裝置1的示意圖。電子裝 置1包括第一記憶單元11、第二記憶單元12、處理單元13、操作接口 14及儲存媒體15。其 中,處理單元13分別與第一記憶單元11、第二記憶單元12、操作接口 14及儲存媒體15電 性連接。第一記憶單元11為儲存加載程序111。在本實施例中,第一記憶單元11為隨機(jī)存 取內(nèi)存,第二記憶單元12為只讀存儲器,處理單元13為中央處理器(Central Processing Unit,CPU),而儲存媒體15為閃存。
[0015] 電子裝置1藉由操作接口 14與主機(jī)裝置Η通信連接。在實施上,操作接口 14可為 外圍設(shè)備互連(Peripheral Component Interconnect,PCI)接口或為傳輸速率更快的高速 外圍設(shè)備互連(Peripheral Component Interconnect Express,PCI-E)接口。在實施上, 主機(jī)裝置Η可為臺式電腦或筆記本電腦。此外,需特別說明的是,電子裝置1可依據(jù)需求及 其功能而還具有其他的元件。然而,由于其他元件的組成并非本發(fā)明的重點,因而本發(fā)明并 不針對其他元件的組成及連接關(guān)系進(jìn)行敘述。
[0016] 接著,請參照圖1Β的流程圖,并搭配圖1Α所示,以說明本發(fā)明較佳實施例的控制 程序的加載方法,其可應(yīng)用于上述的電子裝置1。加載方法的步驟包括步驟S01?S03。步 驟S01由電子裝置1的處理單元13執(zhí)行加載程序111,并傳送通知信號至主機(jī)裝置H。在 本實施例中,當(dāng)電子裝置1經(jīng)由操作接口 14與主機(jī)裝置Η通信連接時,電子裝置1將執(zhí)行 接口指令處理流程(Interface Command Handle Routine)。詳而言之,當(dāng)電子裝置1與主 機(jī)裝置Η通信連接,處理單元13將執(zhí)行儲存于第二記憶單元12中的程序代碼,以進(jìn)行自我 測試及初始化,例如是確認(rèn)寄存器(register)、標(biāo)識位(flag)、定時器是否能夠正常運作, 并加載系統(tǒng)的默認(rèn)值。
[0017] 在完成前述的動作后,電子裝置1將藉由操作接口 14接收主機(jī)裝置Η所傳送的加 載程序111,并將所接收的加載程序111儲存至第一記憶單元11。值得一提的是,加載程序 111實質(zhì)上是固件,且如本發(fā)明的圖1Α所示,較佳的方式是將加載程序111寫入至第一記憶 單元11的儲存空間最末端的地址。當(dāng)加載程序111已完整地儲存于第一記憶單元11后, 處理單元13將執(zhí)行加載程序111,并通過操作接口 14傳送通知信號至主機(jī)裝置Η。
[0018] 步驟S02由主機(jī)裝置Η依據(jù)通知信號傳送至少一個控制程序至電子裝置1的第一 記憶單元11。在本實施例中,當(dāng)主機(jī)裝置Η接收到來自電子裝置2所傳送的通知信號后,將 傳送至少一個控制程序至電子裝置1。其中,控制程序為固件,且相較于儲存于第二記憶單 元12的程序代碼,控制程序可為提供電子裝置1額外功能或進(jìn)一步優(yōu)化電子裝置1的處理 效能的固件。
[0019] 控制程序經(jīng)由操作接口 14傳送至第一記憶單元11,而被加載程序111所接收,并 儲存于第一記憶單元11。在實施上,主機(jī)裝置Η將可依據(jù)電子裝置1所傳送的通知信號,判 斷電子裝置1所需要的控制程序。此外,控制程序自第一記憶單元11的儲存空間的最前端 的地址被依序?qū)懭搿?br>
[0020] 步驟S03在控制程序傳送完成后,處理單元13重新啟動(reset),并執(zhí)行儲存于第 一記憶單元11的控制程序。在本實施例中,當(dāng)主機(jī)裝置Η將所需要傳送的控制程序皆傳送 至電子裝置1后,將會通知電子裝置1。接著,電子裝置1的處理單元13將重新啟動,并執(zhí) 行于前一步驟(即步驟S02)中所寫入的控制程序。在實施上,處理單元13重新啟動的過程 中,電子裝置1仍保有電力,換言之,第一記憶單元11仍可完整保存其所儲存的控制程序。 當(dāng)處理單元13重新啟動完成后,通過程序代碼所執(zhí)行的指針(pointer)將導(dǎo)向第一記憶單 元11的最低地址,即第一記憶單元11之儲存空間的最前端的地址,并由處理單元13執(zhí)行 位于第一記憶單元11的控制程序。
[0021] 因此,依據(jù)前述之電子裝置1及控制程序的加載方法不僅能夠省略一個專門用以 儲存固件的閃存,從而簡化電路布局的架構(gòu),同時也能夠依據(jù)使用者或電子裝置1的需求, 而自主機(jī)裝置Η加載額外的控制程序,以增加或修改電子裝置1所能提供的功能及或提升 其效能。
[0022] 此外,值得一提的是,藉由加載程序111所接收的控制程序,其格式是單列的串行 數(shù)據(jù)。請參照圖2,其為本發(fā)明較佳實施例的控制程序的格式的示意圖。如圖2所示,在本 實施例中,控制程序的格式是具有16個字節(jié)(byte ),也就是說,主機(jī)裝置Η傳送至電子裝置 2的數(shù)據(jù)封包是具有16個字節(jié)。其中,各字節(jié)的數(shù)據(jù)D0?D15皆屬于有效的數(shù)據(jù),亦即, 控制程序的格式中不一定要具有通信協(xié)議數(shù)據(jù),例如是指令的操作碼(CMD op code)、長度 (1 ength)、偏移地址(offset address)及或內(nèi)存型態(tài)(memory type)等數(shù)據(jù),但本發(fā)明不僅 限于此。
[0023] 與已知的控制程序相比較,本發(fā)明的控制程序大幅減少了數(shù)據(jù)封包中額外的負(fù)擔(dān) (overhead),而使數(shù)據(jù)封包僅包括實際的數(shù)據(jù)。因此,本發(fā)明的控制程序(數(shù)據(jù))在傳送時, 將可避免帶寬的浪費,并提升控制程序(數(shù)據(jù))的傳輸速度。
[0024] 接著,請參照圖3所示,其為本發(fā)明較佳實施例的電子裝置2的示意圖。電子裝置 2包括第一記憶單元21、第二記憶單元22、處理單元23、操作接口 24及儲存媒體25。其中, 處理單元23分別與第一記憶單元21、第二記憶單元22、操作接口 24及儲存媒體25電性連 接。在本實施例中,第一記憶單元21為隨機(jī)存取內(nèi)存,第二記憶單元22為只讀存儲器,處 理單元23為中央處理器,而儲存媒體25為閃存。電子裝置2與前述的電子裝置1的區(qū)別 在于,加載程序221以預(yù)先刻錄的方式儲存于第二記憶單元22。
[0025] 本發(fā)明的控制程序的加載方法亦可于電子裝置2中實施,其流程為,當(dāng)電子裝置2 與主機(jī)裝置Η通信連接,處理單元23將執(zhí)行儲存于第二記憶單元22中的程序代碼,以進(jìn)行 自我測試及初始化,并加載系統(tǒng)的默認(rèn)值。在完成前述的動作后,電子裝置2將執(zhí)行儲存于 第二記憶單元22的加載程序221,并傳送通知信號至主機(jī)裝置Η。接著,電子裝置2將執(zhí)行 如前述的步驟S01至步驟S03的動作,由于步驟S01至步驟S03的技術(shù)內(nèi)容已于上述之實 施例進(jìn)行說明,故在此不再贅述。
[0026] 綜上所述,依據(jù)本發(fā)明的一種電子裝置及控制程序的加載方法,藉由電子裝置的 處理單元執(zhí)行加載程序,以通知主機(jī)裝置傳送至少一個控制程序至電子裝置的第一記憶單 元。處理單元并于控制程序傳送完成后,重新啟動并執(zhí)行儲存于第一記憶單元的控制程序。 從而實現(xiàn)具有增加、修改或改變所儲存的固件的能力,同時也能夠簡化電路布局的架構(gòu)。 [0027] 雖然本發(fā)明已以實施例揭露如上,然其并非用以限定本發(fā)明,任何所屬【技術(shù)領(lǐng)域】 中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動與潤飾,故本發(fā)明 的保護(hù)范圍當(dāng)視權(quán)利要求書所界定者為準(zhǔn)。
【權(quán)利要求】
1. 一種電子裝置,其特征在于,包括: 第一記憶單元; 處理單元,與上述第一記憶單元電性連接;以及 操作接口,與上述處理單元電性連接, 其中當(dāng)上述處理單元通過上述操作接口與主機(jī)裝置通信連接,上述處理單元執(zhí)行加載 程序,并傳送通知信號至上述主機(jī)裝置,上述主機(jī)裝置依據(jù)上述通知信號傳送至少一個控 制程序至上述第一記憶單元,且當(dāng)上述控制程序傳送完成后,上述處理單元重新啟動,并執(zhí) 行儲存于上述第一記憶單元的上述控制程序。
2. 如權(quán)利要求1所述的電子裝置,其特征在于,其中上述控制程序的格式為單列的串 行數(shù)據(jù)。
3. 如權(quán)利要求1所述的電子裝置,其特征在于,其中上述控制程序的格式中的數(shù)據(jù)均 為有效數(shù)據(jù)。
4. 如權(quán)利要求1所述的電子裝置,其特征在于,其中當(dāng)上述處理單元通過上述操作接 口與上述主機(jī)裝置通信連接,上述電子裝置執(zhí)行接口指令處理流程,并由上述第一記憶單 元儲存自上述主機(jī)裝置所傳送的上述加載程序。
5. 如權(quán)利要求1所述的電子裝置,其特征在于,還包括: 第二記憶單元,與上述處理單元電性連接;以及 儲存媒體,與上述處理單元電性連接。
6. 如權(quán)利要求5所述的電子裝置,其特征在于,其中當(dāng)上述處理單元通過上述操作接 口與上述主機(jī)裝置通信連接,上述電子裝置執(zhí)行接口指令處理流程,并由上述處理單元執(zhí) 行儲存于上述第二記憶單元的上述加載程序。
7. -種控制程序的加載方法,是應(yīng)用于電子裝置,且上述電子裝置與主機(jī)裝置通信連 接,其特征在于,上述加載方法包括以下步驟: 由上述電子裝置的處理單元執(zhí)行加載程序,并傳送通知信號至上述主機(jī)裝置; 上述主機(jī)裝置依據(jù)上述通知信號傳送至少一個控制程序至上述電子裝置的第一記憶 單元;以及 于上述控制程序傳送完成后,上述處理單元重新啟動,并執(zhí)行儲存于上述第一記憶單 元的上述控制程序。
8. 如權(quán)利要求7所述的加載方法,其特征在于,其中在由上述處理單元執(zhí)行上述加載 程序前,還包括: 上述電子裝置經(jīng)由操作接口與上述主機(jī)裝置通信連接; 上述電子裝置執(zhí)行接口指令處理流程,并接收上述主機(jī)裝置所傳送的上述加載程序; 以及 由上述第一記憶單元儲存上述加載程序。
9. 如權(quán)利要求7所述的加載方法,其特征在于,其中上述控制程序的格式中的數(shù)據(jù)均 為有效數(shù)據(jù)。
10. 如權(quán)利要求7所述的加載方法,其特征在于,其中在由上述處理單元執(zhí)行上述加載 程序前,還包括: 上述電子裝置經(jīng)由操作接口與上述主機(jī)裝置通信連接;以及 上述電子裝置執(zhí)行接口指令處理流程, 其中上述加載程序儲存于上述電子裝置的第二記憶單元。
【文檔編號】G06F9/445GK104123145SQ201310145914
【公開日】2014年10月29日 申請日期:2013年4月24日 優(yōu)先權(quán)日:2013年4月24日
【發(fā)明者】吳金龍, 彭盛昌 申請人:祥碩科技股份有限公司