專利名稱:信息處理設(shè)備、啟動(dòng)方法和計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理設(shè)備、啟動(dòng)方法和計(jì)算機(jī)程序,并且具體地,涉及 用于進(jìn)行快速啟動(dòng)的信息處理設(shè)備、啟動(dòng)方法和計(jì)算機(jī)程序。
背景技術(shù):
現(xiàn)在正在廣泛使用數(shù)字靜態(tài)照相機(jī)。數(shù)字靜態(tài)照相機(jī)采用高技術(shù)標(biāo)準(zhǔn)的圖形用戶界面(GUI),并且通常與網(wǎng)絡(luò)連接。為了達(dá)到用戶的更高功能要求, 數(shù)字靜態(tài)照相機(jī)可以執(zhí)行諸如Linux (注冊(cè)商標(biāo))的高性能和多功能的操作系統(tǒng)。與諸如微型工業(yè)實(shí)時(shí)操作系統(tǒng)核(MlTRON)的小規(guī)模操作系統(tǒng)相比, 諸如Linux的高性能和多功能的操作系統(tǒng)通常需要更長時(shí)間來啟動(dòng)。如果諸如GUI或與網(wǎng)絡(luò)的連接的應(yīng)用中的處理變得很復(fù)雜,那么應(yīng)用程 序在規(guī)模上變得更大并且花費(fèi)更長時(shí)間啟動(dòng)。不被存儲(chǔ)在直接執(zhí)行其上存儲(chǔ)的程序的NOR型閃存上、而被存儲(chǔ)在 NAND型閃存上的操作系統(tǒng)和應(yīng)用程序使啟動(dòng)操作變得更慢。如果將程序存 儲(chǔ)在NAND型閃存上,那么在執(zhí)行前首先需要將程序加載到隨機(jī)存取存儲(chǔ)器 (RAM)上。日本未審查專利申請(qǐng)公開號(hào)2004-362426公開了使得有效地進(jìn)行中止處 理和恢復(fù)處理的技術(shù)。依照該公開,非易失性存儲(chǔ)器被布置作為主存儲(chǔ)器設(shè) 備,在將需要連續(xù)處理的信息重新存儲(chǔ)到非易失性存儲(chǔ)器上之后,關(guān)閉電源, 當(dāng)恢復(fù)電源時(shí),使用在非易失性存儲(chǔ)器上存儲(chǔ)的信息來恢復(fù)由關(guān)閉電源而中 斷的處理,標(biāo)識(shí)并優(yōu)先排列恢復(fù)處理需要的信息,首先基于較高優(yōu)先權(quán)將信 息存儲(chǔ)到非易失性存儲(chǔ)器上,并且將沒被存儲(chǔ)的具有較低優(yōu)先權(quán)的信息重新 存儲(chǔ)到二級(jí)存儲(chǔ)器上。發(fā)明內(nèi)容一旦在中止?fàn)顟B(tài)中移除電池,從可移動(dòng)的內(nèi)部電池操作的設(shè)備在下次啟
動(dòng)時(shí)將耗費(fèi)很長時(shí)間。有時(shí)設(shè)備不能正常啟動(dòng)。因此希望,例如,即使由于移除電池而停止了用以維持中止?fàn)顟B(tài)的電源 供電,也能快速地啟動(dòng)設(shè)備。根據(jù)本發(fā)明的一個(gè)實(shí)施例, 一種暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中的信息處理設(shè)備包括存儲(chǔ)控制單元,用于在轉(zhuǎn)換到中止?fàn)顟B(tài)和休眠狀態(tài)中的 一 個(gè)狀態(tài)的情況下控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)單元,用于^H則供電的停止,該電源被供應(yīng)用以維持作為暫停狀態(tài) 的中止?fàn)顟B(tài);以及啟動(dòng)方法確定單元,用于基于暫停狀態(tài)信息和歷史信息確 定用于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法,該歷史信息指示說明關(guān)于停 止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供電歷史。啟動(dòng)方法確定單元可以在第 一啟動(dòng)方法和第二啟動(dòng)方法之間確定用于從 暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法。在中止?fàn)顟B(tài)中通過執(zhí)行被存儲(chǔ)在易失 性存儲(chǔ)器上的程序開始第一啟動(dòng)方法,該程序曾經(jīng)在轉(zhuǎn)換到暫停狀態(tài)之前的 操作狀態(tài)中被存儲(chǔ)在易失性存儲(chǔ)器上。通過將被存儲(chǔ)在非易失性存儲(chǔ)器上的 映像加載到易失性存儲(chǔ)器上用于執(zhí)行而開始第二啟動(dòng)方法,該映像對(duì)應(yīng)于曾 經(jīng)在轉(zhuǎn)換到暫停狀態(tài)之前的操作狀態(tài)中被存儲(chǔ)在易失性存儲(chǔ)器上的程序。優(yōu)選地,如果暫停狀態(tài)信息指示中止?fàn)顟B(tài),并且如果歷史信息指示在中 止?fàn)顟B(tài)中沒有停止過供電,則啟動(dòng)方法確定單元確定第一啟動(dòng)方法作為用于 從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法。優(yōu)選地,如果暫停狀態(tài)信息指示中止?fàn)顟B(tài),并且如果歷史信息指示在中 止?fàn)顟B(tài)中曾經(jīng)停止供電,則啟動(dòng)方法確定單元確定第二啟動(dòng)方法作為用于從 暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法。優(yōu)選地,如果暫停狀態(tài)信息指示休眠狀態(tài),則啟動(dòng)方法確定單元確定第 二啟動(dòng)方法作為用于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法。信息處理設(shè)備可以包括暫停狀態(tài)確定單元,該暫停狀態(tài)確定單元用于確 定要轉(zhuǎn)換到中止?fàn)顟B(tài)還是休眠狀態(tài)。如果曾經(jīng)卸載然后又重新安裝了供電用以維持中止?fàn)顟B(tài)的電池,則響應(yīng) 于電池的裝載(load)可以激活操作狀態(tài),然后操作狀態(tài)無條件地轉(zhuǎn)換到中 止?fàn)顟B(tài)。檢測(cè)單元可以響應(yīng)于供電用以維持中止?fàn)顟B(tài)的電池的卸載而檢測(cè)供電的停止。
檢測(cè)單元可以檢測(cè)從用以維持中止?fàn)顟B(tài)的外部電源饋送的供電的停止。 根據(jù)本發(fā)明的 一個(gè)實(shí)施例, 一種暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的 暫停狀態(tài)之一中的信息處理設(shè)備的信息處理方法包括步驟在轉(zhuǎn)換到中止?fàn)?態(tài)和休眠狀態(tài)中的一個(gè)狀態(tài)的情況下控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)供電的停止,該電源被供應(yīng)用以維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以 及基于暫停狀態(tài)信息和歷史信息確定用于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng) 方法,該歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供 電歷史。根據(jù)本發(fā)明的一個(gè)實(shí)施例, 一種用于使得計(jì)算機(jī)進(jìn)行暫停在包括中止?fàn)?態(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一 中的信息處理設(shè)備的信息處理方法的計(jì)算 機(jī)程序包括步驟獲取暫停狀態(tài)信息和歷史信息,該暫停狀態(tài)信息指示中止 狀態(tài)和休眠狀態(tài)中的一個(gè)狀態(tài),并在轉(zhuǎn)換到這個(gè)狀態(tài)的情況下被存儲(chǔ),并且 該歷史信息指示說明檢測(cè)到用以維持所述中止?fàn)顟B(tài)的供電停止的、在該暫停 狀態(tài)中停止供電的歷史;以及基于該暫停狀態(tài)信息和歷史信息確定用于從暫 停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法。根據(jù)本發(fā)明的實(shí)施例,在轉(zhuǎn)換到中止?fàn)顟B(tài)和休眠狀態(tài)中的一個(gè)狀態(tài)的情 況下存儲(chǔ)關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息,檢測(cè)用以維持作為暫停狀態(tài)的中止 狀態(tài)的供電的停止,并基于該暫停狀態(tài)信息和歷史信息確定用于從暫停狀態(tài) 轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法,該歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果 的、在暫停狀態(tài)中的供電歷史。根據(jù)本發(fā)明的實(shí)施例,暫停狀態(tài)信息和歷史信息被獲取。該暫停狀態(tài)信 息指示中止?fàn)顟B(tài)和休眠狀態(tài)中的一個(gè)狀態(tài),并在轉(zhuǎn)換到這個(gè)狀態(tài)的情況被存 儲(chǔ),并且歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供 電歷史?;谠摃和顟B(tài)信息和歷史信息確定用于從暫停狀態(tài)轉(zhuǎn)換到操作狀 態(tài)的啟動(dòng)方法。根據(jù)本發(fā)明的實(shí)施例,信息處理設(shè)備從中止?fàn)顟B(tài)和休眠狀態(tài)之一恢復(fù)操作。 '根據(jù)本發(fā)明的實(shí)施例,即使停止了被供應(yīng)用于維持中止?fàn)顟B(tài)的電源,也 能快速啟動(dòng)信息處理設(shè)備。
圖1是作為根據(jù)本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的一個(gè)例子的數(shù)字靜態(tài)照相機(jī)的方框圖;圖2是圖示由主CPU執(zhí)行的操作系統(tǒng)和應(yīng)用程序的方框圖;圖3是圖示由主CPU執(zhí)行的二級(jí)引導(dǎo)加載程序的方框圖;圖4是圖示由實(shí)時(shí)處理CPU執(zhí)行的操作系統(tǒng)和應(yīng)用程序的方框圖;圖5是圖示由嵌入式控制器執(zhí)行的處理的方框圖;圖6圖示了數(shù)字靜態(tài)照相機(jī)的狀態(tài);圖7圖示了數(shù)字靜態(tài)照相機(jī)的狀態(tài);圖8圖示了數(shù)字靜態(tài)照相機(jī)的狀態(tài)轉(zhuǎn)換;圖9圖示了數(shù)字靜態(tài)照相機(jī)的狀態(tài);圖10圖示了熱引導(dǎo)的啟動(dòng)處理的概要;圖11圖示了熱引導(dǎo)的啟動(dòng)處理的概要;圖12圖示了冷引導(dǎo)的啟動(dòng)處理的概要;圖13圖示了暫停處理的概要;圖14是詳細(xì)圖示熱引導(dǎo)的啟動(dòng)處理的流程圖;圖15是圖14的流程圖的繼續(xù);圖16是圖15的流程圖的繼續(xù);圖17是詳細(xì)圖示熱引導(dǎo)的啟動(dòng)處理的流程圖;圖18是圖17的流程圖的繼續(xù);圖19是圖18的流程圖的繼續(xù);圖20是詳細(xì)圖示冷引導(dǎo)的啟動(dòng)處理的流程圖;圖21是圖20的流程圖的繼續(xù);圖22是圖21的流程圖的繼續(xù);圖23是圖示暫停處理的一個(gè)例子的流程圖;圖24是圖示暫停處理的另一個(gè)例子的流程圖;圖25是圖示電池卸載的歷史的存儲(chǔ)處理的流程圖;以及圖26圖示了啟動(dòng)時(shí)的狀態(tài)轉(zhuǎn)換。
具體實(shí)施方式
在描述本發(fā)明的實(shí)施例之前,下面首先討論權(quán)利要求的特征和本發(fā)明的 實(shí)施例中的具體元件之間的對(duì)應(yīng)關(guān)系。該描述意要確保在本說明書中描述支
持所要求的發(fā)明的實(shí)施例。因此,即使在以下的實(shí)施例中沒有將元件描述為 涉及本發(fā)明的某個(gè)特征,那也不是必然意味著該元件不涉及權(quán)利要求的特征。 相反,即使在此將元件描述為涉及權(quán)利要求的某個(gè)特征,那也不是必然意味 著該元件不涉及權(quán)利要求的其他特征。根據(jù)本發(fā)明的 一個(gè)實(shí)施例,暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中的信息處理設(shè)備(例如,圖1的數(shù)字靜態(tài)照相機(jī))包括存儲(chǔ)控 制單元(例如,圖5的啟動(dòng)方法確定信息存儲(chǔ)處理程序204),用于在向中止 狀態(tài)和休眠狀態(tài)中的一個(gè)狀態(tài)轉(zhuǎn)換的情況下,控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài) 信息的存儲(chǔ);檢測(cè)單元(例如,圖5的電池裝載檢測(cè)程序206),用于檢測(cè)供 電的停止,其中供電以維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以及啟動(dòng)方法確定單 元(例如,圖3的啟動(dòng)方法確定程序122),用于基于暫停狀態(tài)信息和歷史信 息確定對(duì)于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法,其中歷史信息指示說明 關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中供電的歷史。啟動(dòng)方法確定單元可以在第一啟動(dòng)方法(例如,熱引導(dǎo)(hot boot))和 第二啟動(dòng)方法(例如,暖引導(dǎo)(warm boot))之間確定對(duì)于從暫停狀態(tài)轉(zhuǎn)換 到操作狀態(tài)的啟動(dòng)方法。在暫停狀態(tài)中,通過執(zhí)行在易失性存儲(chǔ)器上存儲(chǔ)的 程序開始第 一啟動(dòng)方法,該程序曾經(jīng)就在轉(zhuǎn)換到暫停狀態(tài)之前的操作狀態(tài)中 被存儲(chǔ)在易失性存儲(chǔ)器中。通過將在非易失性存儲(chǔ)器中所存儲(chǔ)的映像加載到 易失性存儲(chǔ)器用于執(zhí)行來開始第二啟動(dòng)方法,該映像對(duì)應(yīng)于曾經(jīng)就在轉(zhuǎn)換到 暫停狀態(tài)之前的操作狀態(tài)中被存儲(chǔ)在易失性存儲(chǔ)器上的程序。信息處理設(shè)備可以包括暫停狀態(tài)確定單元(例如,圖2的暫停狀態(tài)確定 程序74 ),用于確定轉(zhuǎn)換到中止?fàn)顟B(tài)還是休眠狀態(tài)。如果供電以維持中止休眠狀態(tài)的電池(例如,圖1的電池35)被曾經(jīng)卸 載然后又被裝載了,那么響應(yīng)于電池的裝載可以激活操作狀態(tài),然后無條件 地轉(zhuǎn)換到中止?fàn)顟B(tài)。檢測(cè)單元可以檢測(cè)響應(yīng)于卸載了供電以維持中止?fàn)顟B(tài)的電池(例如,圖 1的電池35)的供電的停止。檢測(cè)單元可以檢測(cè)從供電以維持中止?fàn)顟B(tài)的外部電源(例如,圖1的外 部電源)饋送的供電的停止。根據(jù)本發(fā)明的一個(gè)實(shí)施例,暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停 狀態(tài)之一中的信息處理設(shè)備的信息處理方法包括步驟在向中止?fàn)顟B(tài)和休眠
狀態(tài)中的一個(gè)狀態(tài)轉(zhuǎn)換的情況下,控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);(例如,在圖23的步驟S602中);檢測(cè)供電的停止,其中供電以維持作為暫 停狀態(tài)的中止?fàn)顟B(tài)(例如,在圖24的步驟S901中);以及基于暫停狀態(tài)信息 和歷史信息確定對(duì)于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的啟動(dòng)方法,該歷史信息指 示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供電的歷史(例如,在 圖17的步驟S239中)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,用于使得計(jì)算機(jī)執(zhí)行暫停在包括中止?fàn)顟B(tài)和 休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中的信息處理設(shè)備的信息處理方法的計(jì)算機(jī)程 序包括步驟獲取暫停狀態(tài)信息和歷史信息,該暫停狀態(tài)信息指示中止?fàn)顟B(tài) 和休眠狀態(tài)中的一個(gè)狀態(tài),并且在向這個(gè)狀態(tài)轉(zhuǎn)換的情況下存儲(chǔ)該暫停狀態(tài)的、在暫停狀態(tài)中的供電的停止的歷史(例如,在圖17的步驟S237中);以 及基于該暫停狀態(tài)信息和歷史信息確定對(duì)于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的方 法(例如,在圖17的步驟S239中)。圖1是圖示根據(jù)本發(fā)明的一個(gè)實(shí)施例的數(shù)字靜態(tài)照相機(jī)的方框圖。該數(shù) 字靜態(tài)照相機(jī)包括主CPU 11、實(shí)時(shí)處理CPU12、屏蔽只讀存儲(chǔ)器(ROM) 13、電荷耦合設(shè)備(CCD) 14、模擬前端15、信號(hào)處理器16、 NAND型閃存 17、存儲(chǔ)器控制器18、串行接口 19、液晶顯示器(LCD) 20、圖形控制器 21、存儲(chǔ)卡22、存儲(chǔ)卡接口 23、無線局域網(wǎng)(LAN)接口 24、控制器25、 NAND型閃存26、 AT附加(ATA)閃存接口 27、集成設(shè)備電子(IDE)接口 28、同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SDRAM) 29、 SDRAM控制器30、輸入單元 31、通用輸入-輸出單元32、嵌入式控制器33、直流(DC)-直流(DC)轉(zhuǎn) 換器34、電池35和電池36??偩€與主CPUll、實(shí)時(shí)處理CPU12、屏蔽ROM13、信號(hào)處理器16、 存儲(chǔ)器控制器18、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接口 28、 SDRAM控制器30和通用輸入-輸出單元32相互連接。包括了嵌入式CPU和通用CPU中的一個(gè)的主CPU 11執(zhí)行操作系統(tǒng)和應(yīng) 用程序。因此主CPU在數(shù)字靜態(tài)照相機(jī)上進(jìn)行GUI處理,從而在數(shù)字靜態(tài) 照相機(jī)上設(shè)置圖像尺寸的大小、圖像的數(shù)據(jù)壓縮率以及曝光和快門速度。包括了嵌入式CPU和通用CPU中的一個(gè)的實(shí)時(shí)處理CPU 12獨(dú)立于主 CPU 11執(zhí)行操作系統(tǒng)和應(yīng)用程序。因此實(shí)時(shí)處理CPU 12進(jìn)行實(shí)時(shí)處理,控
制數(shù)字靜態(tài)照相機(jī)的每個(gè)塊。屏蔽ROM 13存儲(chǔ)該數(shù)字靜態(tài)照相機(jī)專有的數(shù)據(jù)和將在啟動(dòng)時(shí)由主CPU ll執(zhí)行的引導(dǎo)加載程序。啟動(dòng)指的不僅是從電源中斷狀態(tài)開始的啟動(dòng)操作,而且也是從中止?fàn)顟B(tài)、 休眠狀態(tài)或軟關(guān)閉(soft-off)狀態(tài)開始的啟動(dòng)操作,即恢復(fù)操作。屏蔽ROM 13可以存儲(chǔ)二級(jí)引導(dǎo)加載程序以及引導(dǎo)加載程序。CCD14是圖像傳感器,并且與模擬前端15連接。CCD14將響應(yīng)于由光 學(xué)系統(tǒng)(沒有示出)聚集在光敏單元上的對(duì)象圖像的模擬信號(hào)輸出到模擬前 端15??梢杂没パa(bǔ)金屬氧化物半導(dǎo)體(CMOS)傳感器代替CCD14。模擬前端15與CCD 14和信號(hào)處理器16的每個(gè)連接。模擬前端15對(duì)響 應(yīng)于來自CCD 14的對(duì)象圖像的模擬信號(hào)進(jìn)行諸如噪聲消除處理的預(yù)定處理, 從而將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。然后,模擬前端15將所獲得的對(duì)象圖像的 數(shù)字信號(hào)供應(yīng)至信號(hào)處理器16。信號(hào)處理器16對(duì)從模擬前端15供應(yīng)的對(duì)象圖像的數(shù)字信號(hào)進(jìn)行諸如白 平衡處理和編碼處理的預(yù)定處理。信號(hào)處理器16通過總線、IDE接口 28和 ATA閃存接口 27將所獲得作為預(yù)定處理結(jié)果的對(duì)象圖像的數(shù)據(jù)供應(yīng)至 NAND型閃存26,或通過總線和存儲(chǔ)卡接口 23供應(yīng)至存儲(chǔ)卡22。作為非易失性存儲(chǔ)器的一個(gè)例子,NAND型閃存17與存儲(chǔ)器控制器18 連接。NAND型閃存17存儲(chǔ)將由主CPU 11執(zhí)行的程序和主CPU 11執(zhí)行該和實(shí)時(shí)處理CPU 12執(zhí)行該程序所需的數(shù)據(jù)。NAND型閃存17在數(shù)字靜態(tài)照相機(jī)從休眠狀態(tài)轉(zhuǎn)換到操作狀態(tài)時(shí)存儲(chǔ) 映像。被記錄在NAND型閃存17上的映像是包含被加載在SDRAM 29上的 程序和在操作中隨數(shù)字靜態(tài)照相機(jī)一起的數(shù)據(jù)在內(nèi)的數(shù)據(jù)。通過將映像從 NAND型閃存17加載到SDRAM 29, SDRAM 29存儲(chǔ)程序和在操作中隨數(shù) 字靜態(tài)照相機(jī)一起的數(shù)據(jù)。在NAND型閃存17上存儲(chǔ)的映像包含將由主CPU 11執(zhí)行的程序和數(shù) 據(jù)??蛇x擇地,在NAND型閃存17上存儲(chǔ)的映像可以包含將由主CPU 11執(zhí) 行的程序和相關(guān)數(shù)據(jù)以及將由實(shí)時(shí)處理CPU 12執(zhí)行的程序和相關(guān)數(shù)據(jù)。也可以將在NAND型閃存17上存儲(chǔ)的映像稱作暖引導(dǎo)映像。存儲(chǔ)器控制器18控制從NAND型閃存17讀取程序和數(shù)據(jù)或暖引導(dǎo)映像
的讀操作。存儲(chǔ)器控制器18控制向NAND型閃存17寫入諸如暖引導(dǎo)映像的 各種數(shù)據(jù)的寫操作。串行接口 19在主CPU 11和嵌入式控制器33之間進(jìn)行串行通信。LCD 20在所連接的圖形控制器21的控制下顯示各種圖像和文本。圖形 控制器21控制圖形控制器21的顯示操作。存儲(chǔ)卡22包括諸如記憶棒(注冊(cè)商標(biāo))的非易失性存儲(chǔ)介質(zhì),并且被可 拆卸地安裝在數(shù)字靜態(tài)照相機(jī)上。當(dāng)被安裝到數(shù)字靜態(tài)照相機(jī)上時(shí),存儲(chǔ)卡 22與存儲(chǔ)卡接口 23電連接。存儲(chǔ)卡接口 23控制數(shù)據(jù)存儲(chǔ)到被安裝的存儲(chǔ)卡 22和從安裝的存儲(chǔ)卡22讀取數(shù)據(jù)。依照電氣和電子工程師協(xié)會(huì)(IEEE)標(biāo)準(zhǔn)802.lla、 llb或llg的無線LAN 接口 24與訪問點(diǎn)或另一設(shè)備通信。與無線LAN接口 24和總線連接的控制器 25控制無線LAN4妾口 24。NAND型閃存26是非易失性存儲(chǔ)介質(zhì),并在ATA閃存接口 27的控制下 存儲(chǔ)諸如圖像數(shù)據(jù)的各種數(shù)據(jù)。ATA閃存接口 27用作IDE接口 28和NAND 型閃存26之間的接口 ,并依照ATA標(biāo)準(zhǔn)與IDE接口 28通信。IDE接口 28 與ATA閃存接口 27通信。由于NAND型閃存26通過ATA閃存接口 27和IDE 接口 28與總線連接,因而主CPU11可以使用符合IDE標(biāo)準(zhǔn)的意要用于硬盤 和光盤驅(qū)動(dòng)之一的命令來控制NAND型閃存26。作為記錄介質(zhì)的一個(gè)例子,SDRAM 29與SDRAM控制器30連接。 SDRAM 29存儲(chǔ)將由主CPU 11執(zhí)行的操作系統(tǒng)和應(yīng)用程序以及將由實(shí)時(shí)處 理CPU 12執(zhí)行的操作系統(tǒng)和應(yīng)用程序。主CPU 11執(zhí)行在SDRAM 29上存儲(chǔ) 的操作系統(tǒng)和應(yīng)用程序。實(shí)時(shí)處理CPU 12執(zhí)行在SDRAM 29上存儲(chǔ)的操作 系統(tǒng)和應(yīng)用程序。含程序)的自更新功能。SDRAM控制器30控制向SDRAM 29寫入程序和數(shù)據(jù)的寫操作以及從 SDRAM 29讀取程序和數(shù)據(jù)的讀操作。輸入單元31包括電源按鈕、無線LAN按鈕、通用串行總線(USB)按 鈕、用于打開和關(guān)閉鏡頭蓋(鏡頭快門)的開關(guān),十字鍵、觸摸板等。輸入 單元31將響應(yīng)于電源按鈕、無線LAN按鈕和USB按鈕的按下操作的信號(hào)、 響應(yīng)于鏡頭蓋的打開和關(guān)閉操作的信號(hào)以及響應(yīng)于十字鍵和觸摸板的操作的 信號(hào)供應(yīng)至通用輸入-輸出單元32和嵌入式控制器33。通用輸入-輸出單元32用作串行或并行通用輸入-輸出接口 。通用輸入-輸出單元32通過總線將響應(yīng)于電源按鈕、無線LAN按鈕和USB按鈕的操作 的信號(hào)、響應(yīng)于鏡頭蓋的打開和關(guān)閉操作的信號(hào)以及響應(yīng)于十字鍵和觸摸板 的操作的信號(hào)供應(yīng)至主CPU 11和實(shí)時(shí)處理CPU 12之一。通用輸入-輸出單元32包括用于與USB設(shè)備和USB電纜之一連接的USB 連接端41。如果電纜(沒有示出)的一端與諸如個(gè)人計(jì)算機(jī)的設(shè)備連接,另一端與 USB連接端41連接,則通用輸入-輸出單元32將指示USB連接端41被連接 到該設(shè)備的信號(hào)供應(yīng)給嵌入式控制器33。作為嵌入式CPU的嵌入式控制器33執(zhí)行在內(nèi)部ROM或內(nèi)部RAM所存 儲(chǔ)的程序。嵌入式控制器33包括用于計(jì)時(shí)的實(shí)時(shí)時(shí)鐘。響應(yīng)于從輸入單元 31供應(yīng)的信號(hào),嵌入式控制器33控制主CPU11的設(shè)置,并響應(yīng)于當(dāng)按下電 源按鈕、無線LAN按鈕和USB按鈕之一時(shí)或當(dāng)打開或關(guān)閉鏡頭蓋時(shí)從輸入 單元31供應(yīng)的信號(hào),控制清除主CPUll上的復(fù)位狀態(tài)。嵌入式控制器33控制從DC-DC轉(zhuǎn)換器34到數(shù)字靜態(tài)照相機(jī)的每個(gè)塊的 電源供應(yīng)。DC-DC轉(zhuǎn)換器34轉(zhuǎn)換從作為DC電壓源的電池35供應(yīng)的、或自外部電 源供應(yīng)的電源,并在嵌入式控制器33的控制下在預(yù)定電壓處對(duì)數(shù)字靜態(tài)照相 機(jī)中的每個(gè)塊供電或停止供電。電池35是可拆卸地安裝在數(shù)字靜態(tài)照相機(jī)上的二級(jí)電池。電池35通過 DC-DC轉(zhuǎn)換器34向數(shù)字靜態(tài)照相機(jī)供電。電池36是諸如4丑扣電池的一級(jí)電池。當(dāng)不A人外部電源或電池35供電時(shí), 電池36向嵌入式控制器33供電。下面描述將由主CPU 11執(zhí)行的程序、將由實(shí)時(shí)處理CPU 12執(zhí)行的程序 和將由嵌入式控制器33執(zhí)行的程序。在下面的討論中,有時(shí)描述為由具體程序執(zhí)行具體處理,但是這種語言 不是意要描述為由相應(yīng)的計(jì)算機(jī)執(zhí)行具體處理。參考圖2,下面描述將由主CPU 11執(zhí)行的操作系統(tǒng)61和應(yīng)用程序62。主CPU 11執(zhí)行操作系統(tǒng)61和應(yīng)用程序62 。例如,操作系統(tǒng)61是Linux (注冊(cè)商標(biāo))操作系統(tǒng),并進(jìn)行諸如軟件管13
理的基礎(chǔ)處理。應(yīng)用程序62顯示將被拍攝的對(duì)象的圖像,并監(jiān)視所拍攝的圖像。操作系統(tǒng)61包括內(nèi)核(kernel) 71、設(shè)備驅(qū)動(dòng)程序72、供電管理機(jī)構(gòu) (mechanism ) 73、暫停狀態(tài)確定程序74、暫停狀態(tài)信息提供程序75、其他 CPU程序讀取程序76、設(shè)置值存儲(chǔ)處理程序77和暖引導(dǎo)映像生成程序78。用作操作系統(tǒng)61的核心的內(nèi)核71通過輸入-輸出單元32監(jiān)視應(yīng)用程序 62和諸如屏蔽ROM 13的設(shè)備,管理諸如SDRAM 29、存儲(chǔ)卡22和NAND 型閃存26的資源,并進(jìn)行中斷處理和交互處理通信。設(shè)備驅(qū)動(dòng)程序72控制包括了信號(hào)處理器16、串行接口 19、圖形控制器 21、存儲(chǔ)卡接口 23、控制器25、 IDE接口 28和通用輸入-輸出單元32的設(shè) 備。設(shè)備驅(qū)動(dòng)程序72個(gè)別地控制信號(hào)處理器16到通用輸入-輸出單元32。但 是,在下面的描述中,設(shè)備驅(qū)動(dòng)程序72被描述為通常不加區(qū)分各個(gè)元件來控 制信號(hào)處理器16到通用輸入-輸出單元32的驅(qū)動(dòng)程序。作為高級(jí)結(jié)構(gòu)和電源接口 (ACPI)子系統(tǒng)的供電管理機(jī)構(gòu)73管理電源, 以使得數(shù)字靜態(tài)照相機(jī)暫停在中止?fàn)顟B(tài)、休眠狀態(tài)和軟關(guān)閉狀態(tài)之一,或使 得數(shù)字靜態(tài)照相機(jī)從中止?fàn)顟B(tài)、休眠狀態(tài)和軟關(guān)閉狀態(tài)的暫停狀態(tài)轉(zhuǎn)換到操 作狀態(tài)。當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),暫停狀態(tài)確定程序74確定數(shù)字靜態(tài) 照相機(jī)是否處于中止?fàn)顟B(tài)和休眠狀態(tài)中的一個(gè)狀態(tài)。當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),暫停狀態(tài)信息提供程序75通過串行 接口 19將暫停狀態(tài)信息供應(yīng)至嵌入式控制器33,該暫停狀態(tài)信息指示數(shù)字 靜態(tài)照相機(jī)是處于中止?fàn)顟B(tài)還是休眠狀態(tài)。當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),其他CPU程序讀取程序76將NAND 型閃存17上存儲(chǔ)的操作系統(tǒng)和應(yīng)用程序加載到SDRAM 29上。將從NAND型閃存17讀取程序或數(shù)據(jù)以及將讀取的程序或數(shù)據(jù)存儲(chǔ)到 SDRAM 29上的動(dòng)作稱為"將程序或數(shù)據(jù)從NAND型閃存17加載到SDRAM 29"。當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),設(shè)置值存儲(chǔ)處理程序77將在暫停時(shí) 期之后啟動(dòng)數(shù)字靜態(tài)照相機(jī)所需的數(shù)據(jù)存儲(chǔ)到NAND型閃存17上。所需的 數(shù)據(jù)可以包含快門速度、曝光、縮放或拍攝的圖像的大小、編碼處理中的壓 縮率和諸如主CPUll中的寄存器值的設(shè)置值。
當(dāng)更新了諸如操作系統(tǒng)61和應(yīng)用程序62之一的固件并且數(shù)字靜態(tài)照相 機(jī)從斷開電源狀態(tài)啟動(dòng)時(shí),暖引導(dǎo)映像生成程序78在啟動(dòng)后立即生成暖引導(dǎo)應(yīng)用程序62包括拍攝處理程序81、監(jiān)視器處理程序82、設(shè)置處理程序 83、 USB海量存儲(chǔ)類處理程序84、狀態(tài)轉(zhuǎn)換處理程序85和供電管理程序86。拍攝處理程序81控制將被拍攝到LCD 20上的對(duì)象圖像的顯示、所拍攝 的圖像的圖像處理和所拍攝的圖像的編碼和存儲(chǔ)。因而拍攝處理程序81進(jìn)行 拍攝處理。監(jiān)視器處理程序82允許用戶通過在LCD20上顯示被拍攝并被存儲(chǔ)在 NAND型閃存26和存儲(chǔ)卡22之一上的圖像的數(shù)據(jù)來瀏覽圖像。設(shè)置處理程序83進(jìn)行用于快門速度、曝光、要被縮放或拍攝的圖像的大 小、編碼方法、編碼處理中的壓縮率、圖像數(shù)據(jù)的存儲(chǔ)目標(biāo)和瀏覽操作中顯 示圖像的方式的各種設(shè)置處理。當(dāng)使用電纜,其一端與諸如個(gè)人計(jì)算機(jī)的設(shè)備連接,另一端與USB連接 端41連接時(shí),USB海量存儲(chǔ)類處理程序84進(jìn)行USB海量存儲(chǔ)類處理,以使 得數(shù)字靜態(tài)照相機(jī)操作作為記錄設(shè)備。從拍攝處理程序81到USB海量存儲(chǔ)類處理程序84的每個(gè)進(jìn)行從拍攝處 理到USB海量存儲(chǔ)類處理的每個(gè)所需的GUI處理。狀態(tài)轉(zhuǎn)換處理程序85進(jìn)行狀態(tài)轉(zhuǎn)換處理以將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到多 個(gè)操作狀態(tài)中的 一個(gè)。稍后將描述該操作狀態(tài)。供電管理程序86用作管理由Linux (注冊(cè)商標(biāo))內(nèi)核所提供的電源的接 口,并發(fā)出與電源狀態(tài)有關(guān)的各種命令。操作系統(tǒng)61可以包括狀態(tài)轉(zhuǎn)換處理程序85。下面將參考圖3描述將由主CPU11執(zhí)行的第二引導(dǎo)加載程序101。在啟 動(dòng)時(shí),通過由主CPU 11執(zhí)行的引導(dǎo)加載程序?qū)⒌诙龑?dǎo)加載程序加載到 SDRAM 29上,然后執(zhí)行該第二引導(dǎo)加載程序。二級(jí)引導(dǎo)加載程序101對(duì)應(yīng)于在個(gè)人計(jì)算機(jī)中使用的程序grub或lilo, 并控制操作系統(tǒng)61和應(yīng)用程序62的啟動(dòng)。二級(jí)引導(dǎo)加載程序101包括啟動(dòng)方法確定信息取回(retrieval)程序121、 啟動(dòng)方法確定程序122、設(shè)置值讀取程序123、其他CPU程序讀取程序124t的暖引導(dǎo)
和暖引導(dǎo)映像讀取程序125。啟動(dòng)方法確定信息取回程序121取回在嵌入式控制器33的內(nèi)部存儲(chǔ)器上 存4諸的啟動(dòng)方法確定4言息。該啟動(dòng)方法確定〗言息確定啟動(dòng)方法。啟動(dòng)方法包括多個(gè)方法。在一個(gè)啟動(dòng)方法中,可以通過執(zhí)行在中止?fàn)顟B(tài) 中被存儲(chǔ)在SDRAM 29上并且還曾在暫停之前的操作狀態(tài)中被存儲(chǔ)在 SDRAM 29上的程序,來啟動(dòng)數(shù)字靜態(tài)照相機(jī)。在另一啟動(dòng)方法中,可以通 過把暖引導(dǎo)映像從NAND型閃存17加載到SDRAM 29上并執(zhí)行該暖引導(dǎo)映 像來啟動(dòng)數(shù)字靜態(tài)照相機(jī),該暖引導(dǎo)映像曾在暫停之前的操作狀態(tài)中被存儲(chǔ) 在SDRAM 29上。狀態(tài)中被存儲(chǔ)在SDRAM 29上的程序而進(jìn)行的啟動(dòng)方法;故稱作熱引導(dǎo)。將通 過把曾在暫停之前的操作狀態(tài)中被存儲(chǔ)在SDRAM 29上的暖引導(dǎo)映像從 NAND型閃存17加載到SDRAM 29上并執(zhí)行該暖引導(dǎo)映像而進(jìn)行的啟動(dòng)方 法稱作暖引導(dǎo)。將通過打開并啟動(dòng)被存儲(chǔ)在NAND型閃存17上的操作系統(tǒng)的文件而進(jìn) 行的啟動(dòng)方法稱作冷引導(dǎo)。以暖引導(dǎo)啟動(dòng)數(shù)字靜態(tài)照相機(jī)所需的時(shí)間比以熱引導(dǎo)啟動(dòng)數(shù)字靜態(tài)照相 機(jī)所需的時(shí)間長,并且以冷引導(dǎo)啟動(dòng)數(shù)字靜態(tài)照相機(jī)所需的時(shí)間比以暖引導(dǎo) 確定數(shù)字靜態(tài)照相機(jī)所需的時(shí)間長得多。更具體地,熱引導(dǎo)中的啟動(dòng)比冷引 導(dǎo)中的啟動(dòng)快得多,暖引導(dǎo)中的啟動(dòng)比冷引導(dǎo)中的啟動(dòng)快,并且熱引導(dǎo)中的 啟動(dòng)比比暖引導(dǎo)中的啟動(dòng)快。熱引導(dǎo)和暖引導(dǎo)中的啟動(dòng)一般被稱為"恢復(fù)"。熱引導(dǎo)、暖引導(dǎo)和冷引導(dǎo)處理數(shù)字靜態(tài)照相機(jī)、主CPU 11和操作系統(tǒng) 61中的一個(gè)。換句話說,可以以熱引導(dǎo)、暖引導(dǎo)和冷引導(dǎo)之一來啟動(dòng)數(shù)字靜 態(tài)照相機(jī),可以以熱引導(dǎo)、暖引導(dǎo)和冷引導(dǎo)之一來啟動(dòng)主CPU 11,并且可以 以熱引導(dǎo)、暖引導(dǎo)和冷引導(dǎo)之一來啟動(dòng)操作系統(tǒng)61 。下面描述啟動(dòng)方法確定信息。啟動(dòng)方法確定信息包括暫停狀態(tài)信息、電 池裝載信息和啟動(dòng)觸發(fā)信息。暫停狀態(tài)信息指示所確定的暫停狀態(tài)。暫停狀態(tài)信息包括指示是否生成 暖引導(dǎo)映像的映像生成標(biāo)記。如果映像生成標(biāo)記被設(shè)置,則映像生成標(biāo)記指 示將生成暖引導(dǎo)映像,并且如果映像生成標(biāo)記被清除,則指示不生成暖引導(dǎo)標(biāo)記。電池裝載信息指示在暫停狀態(tài)中的電池35的裝載歷史。 啟動(dòng)觸發(fā)信息指示觸發(fā)的起因,例如,按下在輸入單元31上的電源按鈕、無線LAN按鈕和USB按鈕中的一個(gè)、設(shè)備與USB連接端的連接和鏡頭蓋的打開。啟動(dòng)方法確定信息取回程序121將從嵌入式控制器33中取回的啟動(dòng)方法 確定信息存儲(chǔ)在SDRAM 29上的預(yù)定存儲(chǔ)區(qū)上。啟動(dòng)方法確定程序122基于啟動(dòng)方法確定信息來確定啟動(dòng)方法。當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),設(shè)置值讀取程序123讀取已經(jīng)被設(shè) 置值存儲(chǔ)處理程序77存儲(chǔ)在NAND型閃存17上的設(shè)置值。在暖引導(dǎo)或冷引導(dǎo)中,其他CPU程序讀取程序124把被存儲(chǔ)在NAND 型閃存17上的實(shí)時(shí)處理CPU 12的"l喿作系統(tǒng)和應(yīng)用程序加載到SDRAM 29 上。在暖引導(dǎo)中,暖引導(dǎo)映像讀取程序125把暖引導(dǎo)映像從NAND型閃存17 加載到SDRAM 29上。下面將參考圖4的流程圖描述都將由實(shí)時(shí)處理CPU 12執(zhí)行的操作系統(tǒng) 141和應(yīng)用程序142。實(shí)時(shí)處理CPU 12執(zhí)行操作系統(tǒng)141和應(yīng)用程序142。操作系統(tǒng)41是諸如u ITRON的實(shí)時(shí)操作系統(tǒng),并進(jìn)行各種基本處理。 應(yīng)用程序142對(duì)用于拍攝對(duì)象的光學(xué)系統(tǒng)(沒有示出)、CCD 14、模擬前端 15和信號(hào)處理器16上進(jìn)行實(shí)時(shí)控制處理。^捧作系統(tǒng)141包括啟動(dòng)方法確定信息取回程序161、啟動(dòng)方法確定程序 162和應(yīng)用啟動(dòng)完成控制程序163。在啟動(dòng)操作中,啟動(dòng)方法確定信息取回程序161通過讀取已經(jīng)被啟動(dòng)方 法確定信息^F又回程序121存儲(chǔ)在SDRAM 29的預(yù)定存^l區(qū)上的啟動(dòng)方法確定 信息來耳又回該啟動(dòng)方法確定信息。啟動(dòng)方法確定程序162基于該啟動(dòng)方法確定信息來確定啟動(dòng)方法,該啟 動(dòng)方法確定信息與由啟動(dòng)方法確定程序122所使用的信息相同。因此由啟動(dòng) 方法確定程序162確定的啟動(dòng)方法與由啟動(dòng)方法確定程序122確定的啟動(dòng)方 法相同。在啟動(dòng)操作中,應(yīng)用啟動(dòng)完成控制程序163基于在啟動(dòng)方法確定信息中 包含的啟動(dòng)觸發(fā)信息來控制應(yīng)用程序142的各種處理的啟動(dòng)和結(jié)束。應(yīng)用程序142包括實(shí)時(shí)處理程序171、 GUI處理程序172和啟動(dòng)屏幕顯 示程序173。實(shí)時(shí)處理程序171基于實(shí)時(shí)來控制光學(xué)系統(tǒng)(沒有示出)、CCD 14、模 擬前端15和信號(hào)處理器16。GUI處理程序172進(jìn)行用戶接口處理,以從輸入單元31獲取來自用戶的 命令,該輸入單元31是由實(shí)時(shí)處理CPU 12和主CPU 11共享的。GUI處理 程序172進(jìn)行由拍攝處理程序81到USB海量存儲(chǔ)類處理程序84進(jìn)行的GUI 處理的部分,更具體地,進(jìn)行GUI處理,限于在啟動(dòng)后立即設(shè)置所需的值的 設(shè)置,比如快門速度、曝光和縮放的設(shè)置。在啟動(dòng)操作中,啟動(dòng)屏幕顯示程序173使得LCD 20顯示示出了啟動(dòng)的 啟動(dòng)屏幕。應(yīng)用程序142可以包括應(yīng)用啟動(dòng)完成控制程序163。下面描述將由嵌入式控制器33執(zhí)行的程序。圖5圖示了將由嵌入式控制 器33執(zhí)行的程序。嵌入式控制器33包括供電控制程序201、其他CPU復(fù)位 控制程序202、啟動(dòng)方法確定信息取回程序203、啟動(dòng)方法確定信息存儲(chǔ)處理 程序204、啟動(dòng)方法確定信息提供程序205和電池裝載檢測(cè)程序206。供電控制程序201控制DC-DC轉(zhuǎn)換器34,從而控制對(duì)數(shù)字靜態(tài)照相機(jī) 的每個(gè)塊的電源供應(yīng)。其他CPU復(fù)位控制程序202控制主CPU 11的復(fù)位和清除主CPU 11上 的復(fù)位狀態(tài)。啟動(dòng)方法確定信息if又回程序203」取回啟動(dòng)方法確定信息。 當(dāng)數(shù)字靜態(tài)照相機(jī)被設(shè)置為暫停時(shí),啟動(dòng)方法確定信息取回程序203通 過接收從暫停狀態(tài)信息提供程序75傳送的暫停狀態(tài)信息來取回啟動(dòng)方法確 定信息的暫停狀態(tài)信息。啟動(dòng)方法確定信息取回程序203從電池裝載檢測(cè)程序206中獲取與電池 35的裝載有關(guān)的^f全測(cè)結(jié)果。啟動(dòng)方法確定信息取回程序203響應(yīng)于關(guān)于電池 35的裝載的檢測(cè)結(jié)果,生成電池裝載信息。啟動(dòng)方法確定信息取回程序203 響應(yīng)于從輸入單元31供應(yīng)的信號(hào),生成啟動(dòng)觸發(fā)信息,該啟動(dòng)觸發(fā)信息指示 電源按鈕、無線LAN按鈕和USB按鈕中的一個(gè)的按下或鏡頭蓋的打開。響 應(yīng)于電源按鈕、無線LAN按鈕和USB按鈕中的 一個(gè)的按下或鏡頭蓋的打開 而生成從輸入單元31供應(yīng)的信號(hào)。啟動(dòng)方法確定信息存儲(chǔ)處理程序204把所獲取的啟動(dòng)方法確定信息存儲(chǔ) 在嵌入式控制器33的內(nèi)部存儲(chǔ)器上。啟動(dòng)方法確定信息存儲(chǔ)處理程序204把 接收的暫停狀態(tài)信息、所生成的電池裝載信息或所生成的啟動(dòng)觸發(fā)信息存儲(chǔ) 在嵌入式控制器33的內(nèi)部存儲(chǔ)器上。響應(yīng)于來自主CPU 11的請(qǐng)求,啟動(dòng)方法確定信息提供程序205通過串行 接口 19將啟動(dòng)方法確定信息從嵌入式控制器33的內(nèi)部存儲(chǔ)器供應(yīng)至主CPU 11。電池裝載檢測(cè)程序206檢測(cè)DC-DC轉(zhuǎn)換器34的輸出電壓,從而檢測(cè)電 池35的裝載。下面參考圖6到圖9描述數(shù)字靜態(tài)照相機(jī)的狀態(tài)。如圖6所示,數(shù)字靜 態(tài)照相機(jī)采取機(jī)械關(guān)閉狀態(tài)G3、中止?fàn)顟B(tài)S3、休眠狀態(tài)S4、軟關(guān)閉狀態(tài)S5、 拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)、設(shè)置處理執(zhí)行狀態(tài)和其他處理執(zhí)行 狀態(tài)中的一個(gè)。在拍攝處理執(zhí)行狀態(tài)中,主CPU 11執(zhí)行拍攝處理程序81。在監(jiān)視處理 執(zhí)行狀態(tài)中,主CPU 11執(zhí)行監(jiān)視處理程序82。在設(shè)置處理執(zhí)行狀態(tài)中,主 CPU 11執(zhí)行設(shè)置處理程序83。在其他處理執(zhí)行狀態(tài)中,主CPU 11執(zhí)行USB海量存儲(chǔ)類處理程序84。 同樣在其他處理執(zhí)行狀態(tài)中,主CPU 11執(zhí)行應(yīng)用程序62,而不執(zhí)行拍攝處 理程序81、監(jiān)視處理程序82、設(shè)置處理程序83和USB海量存儲(chǔ)類處理程序 84中的一個(gè)。將中止?fàn)顟B(tài)S3、休眠狀態(tài)S4和軟關(guān)閉狀態(tài)S5中的每個(gè)也稱作暫停狀態(tài)。 將拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)、設(shè)置處理執(zhí)行狀態(tài)和其他處理執(zhí) 行狀態(tài)中的每個(gè)稱作操作狀態(tài)S0。圖7圖示了是否用操作狀態(tài)S0、中止?fàn)顟B(tài)S3、休眠狀態(tài)S4、軟關(guān)閉狀 態(tài)S5和機(jī)械關(guān)閉狀態(tài)G3的每個(gè)中的電源來為主CPU 11 、 SDRAM 29和嵌 入式控制器33的每個(gè)供電。圖7中的標(biāo)簽"開"指示供電,而圖7中的標(biāo)簽"關(guān)"指示不供電。在操作狀態(tài)SO中,DC-DC轉(zhuǎn)換器34為主CPU 11、 SDRAM 29和嵌入 式控制器33的所有供電。在中止?fàn)顟B(tài)S3中,DC-DC轉(zhuǎn)換器34為SDRAM 29和嵌入式控制器33
供電,而停止為主CPU 11供電。SDRAM 29在被供電時(shí)用其自更新功能來 更新被存儲(chǔ)在其上的數(shù)據(jù)(程序)。因此SDRAM 29在中止?fàn)顟B(tài)S3中連續(xù)存 儲(chǔ)程序和數(shù)據(jù)。在休眠狀態(tài)S4和軟關(guān)閉狀態(tài)S5的每個(gè)中,DC-DC轉(zhuǎn)換器34為嵌入式 控制器33供電,而停止為主CPU 11和SDRAM 29供電。無論是處于休眠狀態(tài)S4還是處于軟關(guān)閉狀態(tài)S5,數(shù)字靜態(tài)照相機(jī)都以 同樣的方式電操作,并且在以下的討論中不區(qū)分休眠狀態(tài)S4和軟關(guān)閉狀態(tài) S5。在機(jī)械關(guān)閉狀態(tài)G3中,DC-DC轉(zhuǎn)換器34停止對(duì)主CPU11、 SDRAM 29和嵌入式控制器33供電。但是,仍然從電池36對(duì)嵌入式控制器33供電。嵌 入式控制器33保持其內(nèi)部的實(shí)時(shí)時(shí)鐘(RTC)運(yùn)轉(zhuǎn)著。在操作狀態(tài)SO中對(duì)實(shí)時(shí)處理CPU 12和主CPU ll供電,但在中止?fàn)顟B(tài) S3、休眠狀態(tài)S4、軟關(guān)閉狀態(tài)S5和機(jī)械關(guān)閉狀態(tài)G3中不對(duì)它們供電。圖8圖示了狀態(tài)轉(zhuǎn)換。當(dāng)在機(jī)械關(guān)閉狀態(tài)G3中裝載了電池35時(shí),數(shù)字 靜態(tài)照相機(jī)轉(zhuǎn)換到休眠狀態(tài)S4 (軟關(guān)閉狀態(tài)S5 )。如果在休眠狀態(tài)S4 (軟關(guān)閉狀態(tài)S5)中卸載電池35,則數(shù)字靜態(tài)照相 機(jī)轉(zhuǎn)換到機(jī)械關(guān)閉狀態(tài)G3。如果在休眠狀態(tài)S4 (軟關(guān)閉狀態(tài)S5 )中在輸入單元31上按下電源按鈕, 則數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到操作狀態(tài)S0。如果在操作狀態(tài)S0中按下電源按鈕 達(dá)長于預(yù)定時(shí)間的一段時(shí)期,則數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到休眠狀態(tài)S4 (軟關(guān)閉 狀態(tài)S5)。如果在操作狀態(tài)S0中按下電源按鈕、如果在操作狀態(tài)S0中關(guān)閉鏡頭蓋、 或如果用戶在操作狀態(tài)S0中在長于預(yù)定時(shí)間的一段時(shí)期數(shù)不進(jìn)行操作,則碼 相機(jī)轉(zhuǎn)換到中止?fàn)顟B(tài)S3。如果在中止?fàn)顟B(tài)S3中按下電源4姿鈕、如果在中止?fàn)顟B(tài)S3中在輸入單元 31上按下無線LAN按鈕、如果在中止?fàn)顟B(tài)S3中打開鏡頭蓋或如果在中止?fàn)?態(tài)S3中電纜的一端與USB連接端41連接,另一端與另一設(shè)備連接,則數(shù)字 靜態(tài)照相機(jī)轉(zhuǎn)換到操作狀態(tài)S0。如果在中止?fàn)顟B(tài)S3中電池35的電壓下降到預(yù)定值以下同時(shí)沒有施加外 部電源,或者如果自從轉(zhuǎn)換到中止?fàn)顟B(tài)S3已經(jīng)經(jīng)過了預(yù)定時(shí)間,則數(shù)字靜態(tài) 照相機(jī)轉(zhuǎn)換到休眠狀態(tài)S4 (軟關(guān)閉狀態(tài)S5)。.
如果在中止?fàn)顟B(tài)S3中卸載電池35,則數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到機(jī)械關(guān)閉 狀態(tài)G3。類似地,如果在操作狀態(tài)SO中卸載電池35,則數(shù)字靜態(tài)照相機(jī)轉(zhuǎn) 換到機(jī)械關(guān)閉狀態(tài)G3。如果在操作狀態(tài)SO中不進(jìn)行處理達(dá)預(yù)定的一段時(shí)間,則數(shù)字靜態(tài)照相機(jī) 轉(zhuǎn)換到主CPUll中的時(shí)鐘頻率降低的空閑狀態(tài)。在空閑狀態(tài)中,響應(yīng)于規(guī)則 的中斷輸入,在規(guī)則的間隔處數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到操作狀態(tài)S0。參考圖9詳細(xì)描述操作狀態(tài)S0。操作狀態(tài)SO包括拍攝處理執(zhí)行狀態(tài)、 監(jiān)視處理執(zhí)行狀態(tài)、設(shè)置處理執(zhí)行狀態(tài)、其他處理執(zhí)行狀態(tài)、USB海量存儲(chǔ) 類處理執(zhí)行狀態(tài)和初始狀態(tài)SON。在USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)中,主CPU 11執(zhí)行USB海量類處理程 序84。在初始狀態(tài)SON中,控制應(yīng)用程序的執(zhí)行。在初始狀態(tài)SON中,主CPU 11執(zhí)行應(yīng)用程序62,但不執(zhí)行拍攝處理程序81、監(jiān)視處理程序82、設(shè)置處 理程序83和USB海量存儲(chǔ)類處理程序84中的任何一個(gè)。數(shù)字靜態(tài)照相機(jī)可以從初始狀態(tài)SON轉(zhuǎn)換到拍攝處理執(zhí)行狀態(tài)、監(jiān)視處 理執(zhí)行狀態(tài)、設(shè)置處理執(zhí)行狀態(tài)和USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)中的任何一 個(gè)。相反,數(shù)字靜態(tài)照相機(jī)可以從拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)、 設(shè)置處理執(zhí)行狀態(tài)和USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)中的任何一個(gè)轉(zhuǎn)換到初始 狀態(tài)SON。數(shù)字靜態(tài)照相機(jī)不能從拍攝處理執(zhí)行狀態(tài)直接轉(zhuǎn)換到監(jiān)視處理執(zhí)行狀 態(tài)、設(shè)置處理執(zhí)行狀態(tài)和USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)中的任何一個(gè),并且 不能從監(jiān)視處理執(zhí)行狀態(tài)直接轉(zhuǎn)換到拍攝處理執(zhí)行狀態(tài)、設(shè)置處理執(zhí)行狀態(tài) 和USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)中的任何一個(gè)。數(shù)字靜態(tài)照相機(jī)不能從設(shè)置 處理執(zhí)行狀態(tài)直接轉(zhuǎn)換到拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)和USB海量 存儲(chǔ)類處理執(zhí)行狀態(tài)中的任何一個(gè),并且不能從USB海量存儲(chǔ)類處理執(zhí)行狀 態(tài)直接轉(zhuǎn)換到拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)和設(shè)置處理執(zhí)行狀態(tài)中 的任〗可一個(gè)。更具體地,不允許在拍攝處理執(zhí)行狀態(tài)、監(jiān)視處理執(zhí)行狀態(tài)、設(shè)置處理 執(zhí)行狀態(tài)和USB海量存儲(chǔ)類處理執(zhí)行狀態(tài)之間的直接轉(zhuǎn)換。 參考圖10到圖12概述啟動(dòng)處理。下面描述暖引導(dǎo)啟動(dòng)。通過把曾經(jīng)在暫停之前的操作狀態(tài)SO中被存儲(chǔ)在
SDRAM 29上的暖引導(dǎo)映像從NAND型閃存17加載到SDRAM 29,來開始暖引導(dǎo)。圖10圖示了暖引導(dǎo)啟動(dòng)過程。在時(shí)間tO處,清除主CPU11的復(fù)位。主 CPU 11開始執(zhí)行被存儲(chǔ)在屏蔽ROM 13的預(yù)定地址處的引導(dǎo)加載程序。用于 執(zhí)行引導(dǎo)加載程序的主CPU 11將第二引導(dǎo)加載程序,人NAND型閃存17加載 到SDRAM 29。響應(yīng)于引導(dǎo)加載程序的跳轉(zhuǎn)命令,主CPU 11開始執(zhí)行第二 引導(dǎo)加載程序。用于執(zhí)行第二引導(dǎo)加載程序的主CPU 11將由實(shí)時(shí)處理CPU 12執(zhí)行的操 作系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加載到SDRAM 29。用于執(zhí)行第二引導(dǎo)加載程序的主CPU 11清除實(shí)時(shí)處理CPU 12的復(fù)位。其復(fù)位狀態(tài)被清除的實(shí)時(shí)處理CPU 12開始執(zhí)行帶有SDRAM 29的預(yù)定 地址的程序,從而在時(shí)間tl處啟動(dòng)操作系統(tǒng)141 。將要執(zhí)行第二 51導(dǎo)加載程序的主CPU 11將暖引導(dǎo)映像從NAND型閃存 17加載到SDRAM 29。在把暖引導(dǎo)映像加載到SDRAM 29上以后,主CPU 11在時(shí)間t2處開始 執(zhí)行被包含在所加載的暖引導(dǎo)映像中的供電管理機(jī)構(gòu)73。用于執(zhí)行供電管理 機(jī)構(gòu)73的主CPU 11通過檢測(cè)包括DC-DC轉(zhuǎn)換器34和電池35在內(nèi)的電源繼供電管理機(jī)構(gòu)73的恢復(fù)處理后,主CPU 11在時(shí)間t3處開始執(zhí)行被包 含在所加載的暖引導(dǎo)映像中的內(nèi)核71。用于執(zhí)行內(nèi)核71的主CPU 11通過檢 測(cè)SDRAM中的存儲(chǔ)器空間的可用狀態(tài)并修改管理諸如SDRAM 29的資源的 處理的參數(shù)來進(jìn)行恢復(fù)處理。繼內(nèi)核71的恢復(fù)處理之后,主CPU 11在時(shí)間t4處進(jìn)行^皮包含在所加載 的暖引導(dǎo)映像中的設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。更具體地,主CPUll通過 檢測(cè)信號(hào)處理器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器 25、 IDE接口 28和通用輸入-輸出單元32的設(shè)備狀態(tài)并根據(jù)所檢測(cè)的設(shè)備狀 態(tài)修改設(shè)備驅(qū)動(dòng)程序72的參數(shù)來進(jìn)行恢復(fù)處理。繼設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理后,主CPU 11通知實(shí)時(shí)處理CPU完成了 設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。在從主CPU 11接收到完成設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理的通知后,實(shí)時(shí) 處理CPU 12通過執(zhí)行實(shí)時(shí)處理程序171來進(jìn)行實(shí)時(shí)控制處理,并開始與主CPU 11通信。繼設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理之后,主CPU 11在時(shí)間t5處開始被包含 在所加載的暖引導(dǎo)映像中的應(yīng)用程序62的恢復(fù)處理。主CPU 11通過設(shè)置用 于快門速度、保管和縮放的值來進(jìn)行應(yīng)用程序62的恢復(fù)處理。繼應(yīng)用程序62的恢復(fù)處理之后,主CPU 11通知實(shí)時(shí)處理CPU 12完成 了應(yīng)用程序62的恢復(fù)處理。應(yīng)用程序62的供電管理程序86通過取回指示電 源的狀態(tài)的參數(shù)來開始監(jiān)^L電源的狀態(tài)。圖11圖示了曾經(jīng)在暫停之前的操作狀態(tài)S0中被存儲(chǔ)在SDRAM29上的 程序。通過執(zhí)行在中止?fàn)顟B(tài)S3中被存儲(chǔ)在SDRAM 29上的程序,進(jìn)行如圖 11所示的熱引導(dǎo)啟動(dòng)。即使在中止?fàn)顟B(tài)S3中且在熱引導(dǎo)啟動(dòng)處理開始后,將在暫停之前的操作 狀態(tài)SO中被存儲(chǔ)的操作系統(tǒng)61、應(yīng)用程序62、操作系統(tǒng)141和應(yīng)用程序142 的每個(gè)連續(xù)存儲(chǔ)在SDRAM 29上。在時(shí)間t0處,主CPU 11的復(fù)位狀態(tài)被清除。主CPU 11開始執(zhí)行被存儲(chǔ) 在屏蔽ROM 13的預(yù)定地址處的引導(dǎo)加載程序。用于執(zhí)行引導(dǎo)加載程序的主 CPU 11把第二引導(dǎo)加載程序從NAND型閃存17加載到SDRAM 29。響應(yīng)于 引導(dǎo)加載程序的跳轉(zhuǎn)命令,主CPU 11開始執(zhí)行第二引導(dǎo)加載程序。如前所述,在中止?fàn)顟B(tài)S3中和甚至在開始熱引導(dǎo)啟動(dòng)處理之后,SDRAM 29連續(xù)存儲(chǔ)操作系統(tǒng)141和應(yīng)用程序142。在熱引導(dǎo)啟動(dòng)處理中,用于執(zhí)行 第二引導(dǎo)加載程序的主CPU 11沒有把操作系統(tǒng)141和應(yīng)用程序142加載到 SDRAM 29中。用于進(jìn)行第二引導(dǎo)加載程序的主CPU 11清除實(shí)時(shí)處理CPU 12上的復(fù)位狀態(tài)。從其復(fù)位狀態(tài)清除的實(shí)時(shí)處理CPU 12開始執(zhí)行帶有SDRAM 29的預(yù)定 地址的程序中的命令,從而在時(shí)間tl開始執(zhí)行操作系統(tǒng)141。在清除了實(shí)時(shí)處理CPU 12上的復(fù)位狀態(tài)之后,主CPU 11開始#1行在 SDRAM 29上存儲(chǔ)的供電管理機(jī)構(gòu)73 。用于執(zhí)行供電管理機(jī)構(gòu)73的主CPU 11 通過^f企測(cè)包括DC-DC轉(zhuǎn)換器34和電池35在內(nèi)的電源的狀態(tài)并響應(yīng)于所沖企測(cè) 的電源狀態(tài)而修改內(nèi)部參數(shù)來進(jìn)行恢復(fù)處理。繼供電管理機(jī)構(gòu)73的恢復(fù)處理之后,主CPU 11在時(shí)間t2處開始執(zhí)行在 SDRAM 29上存儲(chǔ)的內(nèi)核71。用于執(zhí)行內(nèi)核71的主CPU 11通過檢測(cè)在
SDRAM 29中的存儲(chǔ)器空間的可用狀態(tài)并修改管理諸如SDRAM 29的資源的 處理的參數(shù)來進(jìn)行恢復(fù)處理。繼內(nèi)核71的恢復(fù)處理之后,在時(shí)間t3處,主CPU 11進(jìn)行在SDRAM29 上存儲(chǔ)的設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。更具體地,主CPU 1通過檢測(cè)信號(hào)處 理器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接 口 28和通用輸入-輸出單元32的設(shè)備狀態(tài)并根據(jù)所檢測(cè)的設(shè)備狀態(tài)修改設(shè)備 驅(qū)動(dòng)程序72的參數(shù)來進(jìn)行設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。繼設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理之后,主CPU 11通知實(shí)時(shí)處理CPU 12 完成了設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。當(dāng)從主CPU 11接收到完成設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理的通知時(shí),實(shí)時(shí) 處理CPU 12通過執(zhí)行實(shí)時(shí)處理程序171來進(jìn)行實(shí)時(shí)控制處理,并開始與主 CPU 11通信。繼設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理之后,在時(shí)間t4處,主CPU 11開始在 SDRAM 29上存儲(chǔ)的應(yīng)用程序62的恢復(fù)處理。主CPU 11通過設(shè)置用于快門 速度、曝光和縮放的值來進(jìn)行應(yīng)用程序62的恢復(fù)處理。繼應(yīng)用程序62的恢復(fù)處理之后,主CPU 11通知實(shí)時(shí)處理CPU 12完成 了應(yīng)用程序62的恢復(fù)處理。應(yīng)用程序62的供電管理程序86通過取回指示電 源狀態(tài)的參數(shù)來開始監(jiān)浮見電源的狀態(tài)。在熱引導(dǎo)啟動(dòng)處理中,主CPUll沒有從NAND型閃存17讀取暖引導(dǎo)映 像并然后將所讀取的暖引導(dǎo)映像加載到SDRAM 29中。熱引導(dǎo)啟動(dòng)處理比暖 引導(dǎo)啟動(dòng)處理啟動(dòng)更快?,F(xiàn)在討論冷引導(dǎo)。在數(shù)字靜態(tài)照相機(jī)的設(shè)備中,可以在其裝載之前或在 更新所謂的固件之后進(jìn)行冷引導(dǎo)。通過打開被存儲(chǔ)在NAND型閃存17上的 操作系統(tǒng)61和應(yīng)用程序62進(jìn)行冷引導(dǎo)。圖12圖示了冷引導(dǎo)的啟動(dòng)過程。從其復(fù)位狀態(tài)清除的主CPU ll在時(shí)間tO處開始執(zhí)行被存儲(chǔ)在屏蔽ROM 13的預(yù)定地址上的引導(dǎo)加載程序。用于執(zhí)行引導(dǎo)加載程序的主CPU 11將第 二引導(dǎo)加載程序從NAND型閃存17加載到SDRAM29上。響應(yīng)于該引導(dǎo)加 載程序的跳轉(zhuǎn)命令,主CPU 11開始執(zhí)行第二引導(dǎo)加載程序。用于執(zhí)行第二引導(dǎo)加載程序的主CPU ll在時(shí)間tl處開始將操作系統(tǒng)141 和應(yīng)用程序142從NAND型閃存17加載到SDRAM 29。
繼將由實(shí)時(shí)處理CPU 12執(zhí)行的操作系統(tǒng)141和應(yīng)用程序142加載到 SDRAM 29后,主CPU 11將實(shí)時(shí)處理CPU 12從其復(fù)位狀態(tài)清除。復(fù)位清除了的實(shí)時(shí)處理CPU 12在時(shí)間t2處開始執(zhí)行帶有SDRAM 29的 預(yù)定地址的程序的命令,從而開始執(zhí)行操作系統(tǒng)141。用于執(zhí)行第二引導(dǎo)加載程序的主CPU 11將操作系統(tǒng)61和應(yīng)用程序62 從NAND型閃存17加載到SDRAM 29。繼將操作系統(tǒng)61和應(yīng)用程序62加載到SDRAM 29后,主CPU 11在時(shí) 間t3處開始執(zhí)行被加載到SDRAM 29的供電管理機(jī)構(gòu)73。用于執(zhí)行供電管內(nèi)部參數(shù)來進(jìn)行初始化處理,其中電源包括DC-DC轉(zhuǎn)換器34和電池35。在初始化供電管理機(jī)構(gòu)73時(shí),主CPU 11在時(shí)間t4處開始執(zhí)行被加載到 SDRAM 29的內(nèi)核71。用于執(zhí)行內(nèi)核71的主CPU 11通過才全測(cè)SDRAM 29 的存儲(chǔ)器空間的大小(地址范圍)并初始化管理諸如SDRAM 29的資源的處 理參數(shù)來進(jìn)行初始化處理。在初始化內(nèi)核71時(shí),主CPU 11在時(shí)間t5處開始^^加載到SDRAM 29 上的設(shè)備驅(qū)動(dòng)程序72的初始化處理。更具體地,主CPU 11通過檢測(cè)信號(hào)處 理器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接 口 28和通用輸入-輸出單元32的設(shè)備狀態(tài)并根據(jù)所檢測(cè)的設(shè)備狀態(tài)初始化設(shè) 備驅(qū)動(dòng)程序72的參數(shù)來進(jìn)行初始化處理。繼設(shè)備驅(qū)動(dòng)程序72的初始化處理完成之后,主CPU 11通知實(shí)時(shí)處理 CPU 12完成了設(shè)備驅(qū)動(dòng)程序72的初始化處理。在從主CPU 11接收到完成設(shè)備驅(qū)動(dòng)程序72的初始化處理的通知時(shí),實(shí) 時(shí)處理CPU 12執(zhí)行實(shí)時(shí)處理程序171。因此,實(shí)時(shí)處理CPU 12進(jìn)行實(shí)時(shí)處 理,并開始與主CPU 11通信。繼完成設(shè)備驅(qū)動(dòng)程序72的初始化處理之后,主CPU 11在時(shí)間t6處開始 初始化#1加載到SDRAM 29的應(yīng)用程序62。在應(yīng)用程序62的初始化處理中, 主CPU 11將用于拍攝處理和監(jiān)視處理的各種參數(shù)設(shè)置為默認(rèn)值。繼完成應(yīng)用程序62的初始化處理之后,主CPU 11通知實(shí)時(shí)處理CPU 12 已經(jīng)初始化了應(yīng)用程序62。應(yīng)用程序62的供電管理程序86通過例如從供電 管理機(jī)構(gòu)73取回指示電源狀態(tài)的參數(shù)來開始監(jiān)視電源的狀態(tài)。主CPU 11生成暖引導(dǎo)映像,并將所生成的暖引導(dǎo)映像存儲(chǔ)到NAND型
閃存17上。當(dāng)更新固件時(shí),進(jìn)行冷引導(dǎo)啟動(dòng)處理,以更新NAND型閃存17上的暖引導(dǎo)映像。用于執(zhí)行已初始化的操作系統(tǒng)61的主CPU 11可以將應(yīng)用程序62從 NAND型閃存17加載到SDRAM 29。下面參考圖13描述用于從操作狀態(tài)SO轉(zhuǎn)換到暫停狀態(tài)的暫停處理。在時(shí)間t0處發(fā)出開始暫停處理的開始命令。用于執(zhí)行應(yīng)用程序62的主 CPU 11在轉(zhuǎn)換到暫停狀態(tài)之前將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到初始狀態(tài)SON。用于 執(zhí)行應(yīng)用程序62的主CPU 11確定轉(zhuǎn)換到中止?fàn)顟B(tài)S3還是休眠狀態(tài)S4。例如,用于執(zhí)行應(yīng)用程序62的主CPU 11進(jìn)行用于關(guān)閉存儲(chǔ)了所拍攝的 圖像數(shù)據(jù)的文件的結(jié)束處理。用于執(zhí)行應(yīng)用程序62的主CPU 11在時(shí)間tl處通知實(shí)時(shí)處理CPU 12完 成了結(jié)束處理。實(shí)時(shí)處理CPU 12開始用于將形成光學(xué)系統(tǒng)(沒有示出)的鏡頭返回到結(jié) 束位置的結(jié)束處理。應(yīng)用程序62的供電管理程序86發(fā)出轉(zhuǎn)換到中止?fàn)顟B(tài)S3和休眠狀態(tài)S4 中所確定的一個(gè)狀態(tài)的命令,從而通知供電管理機(jī)構(gòu)73完成了結(jié)束處理。繼完成應(yīng)用程序62的結(jié)束處理后,主CPU 11通過結(jié)束對(duì)包括信號(hào)處理 器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接口 28和通用輸入-輸出單元32的設(shè)備的控制,在時(shí)間t2處開始設(shè)備驅(qū)動(dòng)程序72 的結(jié)束處理。繼完成設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理后,主CPU 11在時(shí)間t3處對(duì)內(nèi)核71 進(jìn)行結(jié)束處理,例如,結(jié)束包括了應(yīng)用程序62的設(shè)備監(jiān)視、諸如SDRAM29 的資源的管理、中斷處理和內(nèi)部處理通信的預(yù)定處理。當(dāng)完成內(nèi)核71的結(jié)束處理時(shí),主CPU 11通過設(shè)置暫停狀態(tài)中的參數(shù), 在時(shí)間t4處開始供電管理機(jī)構(gòu)73的結(jié)束處理。響應(yīng)于從實(shí)時(shí)處理CPU 12接收到結(jié)束處理的完成通知,用于執(zhí)行供電管 理^L構(gòu)73的主CPU 11在時(shí)間t5處通過串41^妄口 19請(qǐng)求嵌入式控制器33停 止供電(切斷電源)。響應(yīng)于來自主CPUll的停止供電的請(qǐng)求,在時(shí)間t6處, 嵌入式控制器33使得DC-DC轉(zhuǎn)換器34停止對(duì)主CPU 11和實(shí)時(shí)處理CPU 12 供電,而繼續(xù)允許DC-DC轉(zhuǎn)換器34對(duì)SDRAM 29供電,以便轉(zhuǎn)換到中止?fàn)?br>
態(tài)S3。為了轉(zhuǎn)換到休眠狀態(tài)S4,嵌入式控制器33使得DC-DC轉(zhuǎn)換器34停 止對(duì)SDRAM 29、主CPU 11和實(shí)時(shí)處理CPU 12供電。數(shù)字靜態(tài)照相機(jī)暫停在中止?fàn)顟B(tài)S3和休眠狀態(tài)S4中的一個(gè)狀態(tài)中。下面詳細(xì)描述熱引導(dǎo)、暖引導(dǎo)和冷引導(dǎo)啟動(dòng)處理。圖14到16是詳細(xì)圖示暖引導(dǎo)啟動(dòng)處理的流程圖。在步驟SIOI中,用于 執(zhí)行啟動(dòng)方法確定信息取回程序203的嵌入式控制器33從輸入單元31獲取 用作開始處理的觸發(fā)的信號(hào)。更具體地,啟動(dòng)方法確定信息取回程序203響 應(yīng)于按下電源按扭、無線LAN按鈕和USB按鈕中的一個(gè)或打開鏡頭蓋,從 輸入單元31獲取觸發(fā)信號(hào)。響應(yīng)于所獲取的信號(hào),用于執(zhí)行啟動(dòng)方法確定信 息取回程序203的嵌入式控制器33生成啟動(dòng)觸發(fā)信息,該啟動(dòng)觸發(fā)信息指示 諸如按下電源按扭、無線LAN按鈕和USB按鈕中的一個(gè)或打開鏡頭蓋的啟 動(dòng)觸發(fā)。在步驟S102中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式 控制器33響應(yīng)于所獲取的信號(hào),把在步驟SIOI中生成的啟動(dòng)觸發(fā)信息存儲(chǔ) 在其內(nèi)部存儲(chǔ)器上。更具體地,當(dāng)響應(yīng)于按下電源按扭、無線LAN按鈕和 USB按鈕中的一個(gè)或打開鏡頭蓋而從輸入單元31獲取指示啟動(dòng)觸發(fā)的信號(hào) 時(shí),啟動(dòng)方法確定信息取回程序203生成啟動(dòng)觸發(fā)信息,該啟動(dòng)觸發(fā)信息指 示諸如按下電源按扭、無線LAN按鈕和USB按鈕中的一個(gè)或打開鏡頭蓋的 啟動(dòng)觸發(fā)。啟動(dòng)方法確定信息存儲(chǔ)處理程序204把所生成的啟動(dòng)觸發(fā)信息存 儲(chǔ)在嵌入式控制器33的內(nèi)部存儲(chǔ)器上。在步驟S103中,用于執(zhí)行供電控制程序201的嵌入式控制器33使得 DC-DC轉(zhuǎn)換器34開始對(duì)數(shù)字靜態(tài)照相機(jī)的每個(gè)塊供電。以這種方式,現(xiàn)在 主CPU 11到通用輸入-輸出單元32被通電。在步驟S104中,嵌入式控制器33在待機(jī)狀態(tài)中等候達(dá)一段預(yù)定時(shí)間, 直到供電達(dá)到了穩(wěn)定電平并且通電的數(shù)字靜態(tài)照相機(jī)中的每個(gè)塊都穩(wěn)定地處 于運(yùn)作中。在步驟S105中,用于執(zhí)行其他CPU復(fù)位控制程序202的嵌入式控制器 33清除主CPU11上的復(fù)位狀態(tài)。例如,嵌入式控制器33通過改變信號(hào)線上 的復(fù)位信號(hào)的電平來清除主CPU 11的復(fù)位狀態(tài),其中信號(hào)線把復(fù)位信號(hào)從嵌 入式控制器33傳送到主CPU 11。隨著復(fù)位狀態(tài)被清除,主CPU 11在步驟S201開始屏蔽ROM 13的引導(dǎo)
加載程序,從而開始執(zhí)行該引導(dǎo)加載程序。更具體地,主CPU11響應(yīng)于用于
復(fù)位清除的硬件中斷,通過執(zhí)行被存儲(chǔ)在屏蔽ROM 13的預(yù)定地址上的命令 來開始引導(dǎo)加載程序。在步驟S202中,主CPU11初始化引導(dǎo)加載程序。
在步驟S203中,用于執(zhí)行引導(dǎo)加載程序的主CPU11把二級(jí)引導(dǎo)加載程 序101從NAND型閃存17加載到SDRAM 29。在步驟S204中,主CPU 11 執(zhí)行跳轉(zhuǎn)到被包含在引導(dǎo)加載程序中的二級(jí)引導(dǎo)加載程序101的跳轉(zhuǎn)命令。 處理跳轉(zhuǎn)到二級(jí)引導(dǎo)加載程序101。結(jié)果,主CPUll開始執(zhí)行二級(jí)引導(dǎo)加載 程序101。
可替換地,可以將二級(jí)引導(dǎo)加載程序101存儲(chǔ)在屏蔽ROM 13上,并且 處理可以跳轉(zhuǎn)到被存儲(chǔ)在屏蔽ROM 13上的二級(jí)引導(dǎo)加載程序101。
在步驟S205中,主CPU 11初始化二級(jí)引導(dǎo)加載程序101。由于二級(jí)引 導(dǎo)加載程序101包含串行接口 19的驅(qū)動(dòng)程序,因而主CPU 11可以通過串行 接口 19與嵌入式控制器33通信。
在步驟S206,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定信息取回 程序121的主CPU 11通過串行接口 19向嵌入式控制器33發(fā)送對(duì)于啟動(dòng)方法 確定信息的請(qǐng)求。
在步驟S106中,用于執(zhí)行啟動(dòng)方法確定信息提供程序205的嵌入式控制 器33通過串行接口 19從主CPU 11接收對(duì)于啟動(dòng)方法確定信息的請(qǐng)求。在步 驟S107中,用于執(zhí)行啟動(dòng)方法確定信息提供程序205的嵌入式控制器33通 過串行接口 19向主CPU 11發(fā)送被存儲(chǔ)在嵌入式控制器33的內(nèi)部存儲(chǔ)器上的 啟動(dòng)方法確定4言 息o
在步驟S207中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定信息取 回程序121的主CPU 11通過串行接口 19從嵌入式控制器33接收啟動(dòng)方法確 定信息。
在步驟S208中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定信息取
在這種情況下,主CPU 11將該啟動(dòng)方法確定信息存儲(chǔ)在SDRAM 29的存儲(chǔ) 區(qū)的預(yù)定區(qū)域。
在步驟S209中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定程序 122的主CPU 11基于在步驟S207中所接收的啟動(dòng)方法確定信息來確定啟動(dòng) 方法。在這種情況下,主CPU11確定暖引導(dǎo)啟動(dòng)作為啟動(dòng)方法。如果暫停信
息指示帶有電池裝載信息指示電池卸載的中止?fàn)顟B(tài)S3,或如果暫停狀態(tài)信息
指示休眠狀態(tài)S4,則啟動(dòng)方法確定程序122確定暖引導(dǎo)啟動(dòng)作為啟動(dòng)方法。 在步驟S210中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的主CPU 11初始化通
用輸入-輸出單元32。
在步驟S211中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的設(shè)置值讀取程序123
的主CPU 11將啟動(dòng)操作中所需的設(shè)置值從NAND型閃存17加載到SDRAM
29裝置。
在步驟S212中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的其他CPU程序讀取 程序124的主CPU 11將實(shí)時(shí)處理CPU 12的操作系統(tǒng)141和應(yīng)用程序142從 NAND型閃存17加載到SDRAM 29。
在步驟S213中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的主CPUll清除實(shí)時(shí) 處理CPU 12上的復(fù)位狀態(tài)。
隨著復(fù)位狀態(tài)被清除,在步驟S301中,實(shí)時(shí)處理CPU 12開始執(zhí)行被加 載到了 SDRAM 29上的操作系統(tǒng)141。更具體地,實(shí)時(shí)處理CPU12響應(yīng)于 用于復(fù)位清除的硬件中斷或軟件中斷,通過執(zhí)行被存儲(chǔ)在SDRAM 29的預(yù)定 地址上的命令來開始執(zhí)行操作系統(tǒng)141。在步驟S302中,主CPU ll初始化 操作系統(tǒng)141。
在步驟S303中,用于執(zhí)行操作系統(tǒng)141的啟動(dòng)方法確定信息取回程序 161的實(shí)時(shí)處理CPU 12讀取在步驟S208中被存儲(chǔ)在SDRAM 29上的啟動(dòng)方 法確定信息。在步驟S304中,用于執(zhí)行操作系統(tǒng)141的啟動(dòng)方法確定程序 162的實(shí)時(shí)處理CPU 12基于在步驟S303中所讀取的啟動(dòng)方法確定信息以與 步驟S209中相同的方式確定啟動(dòng)方法。在這種情況下,確定暖引導(dǎo)啟動(dòng)作為 啟動(dòng)方法。
在步驟S305,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處理CPU 12開始應(yīng)用程序 142。在步驟S306中,實(shí)時(shí)處理CPU 12初始化應(yīng)用程序142。
在步驟S307中,用于執(zhí)行應(yīng)用程序142的實(shí)時(shí)處理CPU12控制圖形控 制器21,從而使得LCD 20顯示數(shù)據(jù),并使得揚(yáng)聲器(沒有示出)和蜂鳴器 (沒有示出)之一發(fā)出啟動(dòng)音。
在步驟S308中,用于執(zhí)行應(yīng)用程序142的啟動(dòng)屏幕顯示程序173的實(shí)時(shí) 處理CPU12控制圖形控制器21,從而使得LCD20顯示啟動(dòng)屏幕。
在步驟S309中,用于^l行應(yīng)用程序142的GUI處理程序172的實(shí)時(shí)處
理CPU 12開始用于從與主CPU 11共享的輸入單元31獲取用戶命令的用戶 接口處理。用戶接口處理具有在數(shù)量上比應(yīng)用程序62更少的功能,即,具有 有限數(shù)量的功能。
在步驟S310中,用于執(zhí)行應(yīng)用程序142的實(shí)時(shí)處理程序171的實(shí)時(shí)處理 CPU 12開始對(duì)光學(xué)系統(tǒng)(沒有示出)、CCD 14、模擬前端15和信號(hào)處理器 16進(jìn)行實(shí)時(shí)控制處理。 ,
如果在步驟S310中啟動(dòng)方法確定信息的啟動(dòng)觸發(fā)信息指示鏡頭蓋的打 開,則實(shí)時(shí)處理CPU12可以在實(shí)時(shí)控制處理中初始化光學(xué)系統(tǒng)(沒有示出)、 CCD 14、模擬前端15和信號(hào)處理器16。
主CPU 11進(jìn)行步驟S214到S218,而實(shí)時(shí)處理CPU 12進(jìn)行步驟S301 到S310。更具體地,在步驟S214中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的暖 引導(dǎo)映像讀取程序125的主CPU 11將暖引導(dǎo)映像從NAND型閃存17加載到 SDRAM 29。
在步驟S215中,主CPU 11執(zhí)行跳轉(zhuǎn)到被包含在二級(jí)引導(dǎo)加載程序101 中的內(nèi)核71的跳轉(zhuǎn)命令。處理跳轉(zhuǎn)到內(nèi)核71。結(jié)果,主CPU11開始執(zhí)行操 作系統(tǒng)61。
在步驟S216中,用于執(zhí)行操作系統(tǒng)61的主CPU 11通過檢測(cè)諸如DC-DC 轉(zhuǎn)換器34和電池35的電源的狀態(tài)并響應(yīng)于所檢測(cè)的電源狀態(tài)修改內(nèi)部參數(shù) 來進(jìn)行供電管理機(jī)構(gòu)73的恢復(fù)處理。
在步驟S217中,用于執(zhí)行操作系統(tǒng)61的主CPU 11通過^r測(cè)SDRAM29 中的存儲(chǔ)器空間的可用狀態(tài)并修改管理諸如SDRAM 29的資源的處理的參數(shù) 來進(jìn)行內(nèi)核71的恢復(fù)處理。
在步驟S218中,用于執(zhí)行操作系統(tǒng)61的主CPU 11通過4全測(cè)信號(hào)處理 器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接口 28和通用輸入-輸出單元32的設(shè)備狀態(tài)并根據(jù)所檢測(cè)的設(shè)備狀態(tài)修改設(shè)備驅(qū) 動(dòng)程序72的參數(shù)來進(jìn)行設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。
在步驟S219中,用于執(zhí)行操作系統(tǒng)61的主CPU 11通過總線通知實(shí)時(shí) 處理CPU 12完成了設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理。
在步驟S311中,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處理CPU12通過總線接 收來自主CPU 11的設(shè)備驅(qū)動(dòng)程序72的恢復(fù)處理的完成通知。
在步驟S220中,用于執(zhí)行操作系統(tǒng)61的主CPU 11開始執(zhí)行應(yīng)用程序
62。在步驟S221中,主CPU 11進(jìn)行應(yīng)用程序62的恢復(fù)處理,比如用于快 門速度、曝光和縮放的設(shè)置值。
繼步驟S221之后,數(shù)字靜態(tài)照相機(jī)繼續(xù)到初始狀態(tài)SON。
在步驟S222中,主CPU 11通過總線通知實(shí)時(shí)處理CPU 12完成了應(yīng)用 程序62的恢復(fù)處理。
在步驟S312中,實(shí)時(shí)處理CPU 12通過總線接收來自主CPU 11的應(yīng)用 程序62的恢復(fù)處理的完成通知。
在步驟S313中,用于執(zhí)行操作系統(tǒng)141的應(yīng)用啟動(dòng)完成控制程序163的 實(shí)時(shí)處理CPU 12結(jié)束應(yīng)用程序142的GUI處理程序172,從而完成具有有 限數(shù)量的功能的用戶接口處理。因此結(jié)束暖引導(dǎo)啟動(dòng)處理。
通過暖引導(dǎo)啟動(dòng)處理,數(shù)字靜態(tài)照相機(jī)可以快速從暫停狀態(tài)轉(zhuǎn)換到初始 狀態(tài)SON。
下面參考圖17到19的流程圖來詳細(xì)描述熱引導(dǎo)處理。
嵌入式控制器33的步驟S131到S137分別與圖14的步驟S101到S107 相同,并且在此省略了其論述。
主CPU 11的步驟S231到S238分別與圖14的步驟S201到S208相同, 并且在此省略了其論述。
在步驟S239中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定程序 122的主CPU 11基于在步驟S237中所接收的啟動(dòng)方法確定信息來確定啟動(dòng) 方法。在這種情況下,主CPU 11確定熱引導(dǎo)啟動(dòng)方法作為啟動(dòng)方法。如果暫 停狀態(tài)信息指示帶有電池裝載信息指示電池沒有卸載的中止?fàn)顟B(tài)S3,則啟動(dòng) 方法確定程序122確定熱引導(dǎo)啟動(dòng)方法作為啟動(dòng)方法。
主CPU 11的步驟S240和S241分別與圖14的步驟S210和S211相同, 并且在此省略了其論述。
在步驟S242中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的主CPU 11清除實(shí)時(shí) 處理CPU 12上的復(fù)位狀態(tài)。
實(shí)時(shí)處理CPU 12的步驟S331到S333分別與圖15的步驟S301到S303 相同,并且在此省略了其論述。
在步驟S334中,用于執(zhí)行操作系統(tǒng)141的啟動(dòng)方法確定程序162的實(shí)時(shí) 處理CPU 12基于在步驟S333中所讀取的啟動(dòng)方法確定信息以與步驟S239 中相同的方式確定啟動(dòng)方法。實(shí)時(shí)處理CPU 12確定熱引導(dǎo)啟動(dòng)方法作為啟動(dòng)
方法。
實(shí)時(shí)處理CPU 12的步驟S335到S338與圖15和16的步驟S305到S308 相同,并且在此省略了其論述。
在步驟S339中,用于執(zhí)行應(yīng)用程序142的實(shí)時(shí)處理程序171的實(shí)時(shí)處理 CPU 12開始對(duì)光學(xué)系統(tǒng)(沒有示出)、CCD 14、模擬前端15和信號(hào)處理器 16的實(shí)時(shí)控制處理。
因此實(shí)時(shí)處理CPU進(jìn)行用于從與CPU 11共享的輸入單元31獲取用戶命令的 用戶接口處理。在這種情況下,實(shí)時(shí)處理CPU12進(jìn)行帶有其功能有限的,即, 帶有其功能在數(shù)量上少于應(yīng)用程序62的用戶接口處理。
在熱引導(dǎo)中,主CPU 11非常迅速地啟動(dòng),并且快速啟動(dòng)導(dǎo)致實(shí)時(shí)處理 CPU 12不執(zhí)行GUI處理程序172。
步驟S331到S339由實(shí)時(shí)處理CPU 12進(jìn)行,而步驟S243到S246由主 CPU 11并行進(jìn)行。更具體地,在步驟S243中,主CPU 11執(zhí)行跳轉(zhuǎn)到被包含 在二級(jí)引導(dǎo)加載程序101中的內(nèi)核71的跳轉(zhuǎn)命令,從而跳轉(zhuǎn)到內(nèi)核71。主 CPU 11開始執(zhí)行操作系統(tǒng)61 。
主CPU 11的步驟S244到S246分別與圖15和16的步驟S216到S218 相同,并且在此省略了其論述。
主CPU 11的步驟S247到S250分別與圖16的步驟S219到S222相同, 并且在此省略了其論述。同樣,實(shí)時(shí)處理CPU 12的步驟S340和S341分別 與圖16的步驟S311和S312相同,并且在此省略了其論述。
在繼步驟S250之后的步驟S251中,用于執(zhí)行應(yīng)用程序62的狀態(tài)轉(zhuǎn)換處 理程序85的主CPU 11參考被存儲(chǔ)在SDRAM 29上的啟動(dòng)方法確定信息的啟 動(dòng)觸發(fā)信息。然后主CPU 11響應(yīng)于觸發(fā)類型將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到應(yīng)用的 執(zhí)行狀態(tài)。因此結(jié)束熱引導(dǎo)啟動(dòng)處理。如果是通過按下輸入單元31上的電源 按鈕而觸發(fā)啟動(dòng),則在步驟S251中狀態(tài)轉(zhuǎn)換處理程序85通過開始監(jiān)視處理 程序82將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到監(jiān)視處理執(zhí)行狀態(tài)。如果是通過打開鏡頭蓋 而觸發(fā)啟動(dòng),則狀態(tài)轉(zhuǎn)換處理程序85在步驟S251中通過開始拍攝處理程序 81將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到拍攝處理執(zhí)行狀態(tài)。
通過熱引導(dǎo)啟動(dòng)處理,在操作狀態(tài)SO中,快速啟動(dòng)了數(shù)字靜態(tài)照相機(jī), 并響應(yīng)于觸發(fā)類型將其轉(zhuǎn)換到執(zhí)行狀態(tài)。
下面參考圖20到圖22詳細(xì)描述冷引導(dǎo)啟動(dòng)處理。通常當(dāng)數(shù)字靜態(tài)照相
機(jī)安裝了其設(shè)備或更新了其所謂的固件時(shí)進(jìn)行冷引導(dǎo)啟動(dòng)處理。
嵌入式控制器33的步驟S161到S167分別與圖14的步驟S101到S107
相同,并且在此省略了其論述。
主CPU 11的步驟S261到S268分別與圖14的步驟S201到S208相同, 并且在此省略了其論述。
在步驟S269中,用于執(zhí)行二級(jí)引導(dǎo)加載程序101的啟動(dòng)方法確定程序 122的主CPU 11基于在步驟S267中所接收的啟動(dòng)方法確定信息來確定啟動(dòng) 方法。在這種情況下,確定冷引導(dǎo)啟動(dòng)方法作為啟動(dòng)方法。
在步驟S269中,用于執(zhí)行啟動(dòng)方法確定程序122的主CPU 11參考^f皮包 含在暫停狀態(tài)信息中的映像生成標(biāo)記。如果設(shè)置了映像生成標(biāo)記,則生成暖 引導(dǎo)映像。主CPU 11確定冷引導(dǎo)啟動(dòng)方法作為啟動(dòng)方法。
如果獲取了被更新的固件,并且用戶請(qǐng)求更新固件,則將在稍后討論的 暫停處理中設(shè)置映像生成標(biāo)記。
主CPU 11的步驟S270到S273分別與圖14和15的步驟S210到S213 相同,并且在此省略了其論述。
實(shí)時(shí)處理CPU 12的步驟S361到S363分別與圖15的步驟S301到S303 相同,并且在此省略了其論述。
在步驟S364中,用于執(zhí)行操作系統(tǒng)141的啟動(dòng)方法確定程序162的實(shí)時(shí) 處理CPU 12基于在步驟S363中所讀取的啟動(dòng)方法確定信息以與步驟S269 中相同的方式確定啟動(dòng)方法。實(shí)時(shí)處理CPU 12確定冷引導(dǎo)啟動(dòng)方法作為啟動(dòng) 方法。
實(shí)時(shí)處理CPU 12的步驟S365和S366分別與圖15的步驟S305和S306 相同,并且在此省略了其論述。
在步驟S367中,用于執(zhí)行應(yīng)用程序142的實(shí)時(shí)處理CPU 12控制實(shí)時(shí)處 理CPU 12,從而使得LCD 20顯示正在進(jìn)行固件更新的指示。
因此用戶可以了解當(dāng)前正在更新固件。
如果讓主CPU 11負(fù)責(zé)顯示正在進(jìn)行固件更新的指示的顯示控制,則生成 顯示正在進(jìn)行固件更新的指示的暖引導(dǎo)映像。由于實(shí)時(shí)處理CPU 12進(jìn)行顯示 指示的顯示控制處理,因而即使使用所生成的暖引導(dǎo)映像執(zhí)行暖引導(dǎo)啟動(dòng)處 理,也不顯示正在進(jìn)行固件更新的指示。
在步驟S368中,用于執(zhí)行應(yīng)用程序142的實(shí)時(shí)處理程序171的實(shí)時(shí)處理 CPU 12開始對(duì)光學(xué)系統(tǒng)(沒有示出)、CCD 14、模擬前端15和信號(hào)處理器 16進(jìn)行實(shí)時(shí)控制處理。
在這種情況下,實(shí)時(shí)處理CPU 12以^C控制的方式4丸4亍GUI處理程序172。 實(shí)時(shí)處理CPU 12因此進(jìn)行用于從與主CPU 11共享的輸入單元31獲取用戶 命令的用戶接口處理。在這種情況下,實(shí)時(shí)處理CPU12進(jìn)行帶有其功能有限 的,即帶有其功能在數(shù)量上少于應(yīng)用程序62的用戶接口處理。實(shí)時(shí)處理CPU 12因此執(zhí)行啟動(dòng)屏幕顯示程序173,從而以受限的方式在LCD 20上顯示啟 動(dòng)屏幕。
步驟S361到S368由實(shí)時(shí)處理CPU 12進(jìn)行,而步驟S274到S278由主 CPU ll并行進(jìn)行。更具體地,在步驟S274中,用于執(zhí)行二級(jí)引導(dǎo)加載程序 101的主CPU 11將4喿作系統(tǒng)61從NAND型閃存17加載到SDRAM 29。
在步驟S275中,主CPU 11執(zhí)行跳轉(zhuǎn)到被包含在二級(jí)引導(dǎo)加載程序10] 的內(nèi)核71的跳轉(zhuǎn)命令,從而跳轉(zhuǎn)到內(nèi)核71 。主CPU 11開始執(zhí)行操作系統(tǒng)61 。
在步驟S276中,用于執(zhí)行操作系統(tǒng)61的供電管理機(jī)構(gòu)73的主CPU 11 通過檢測(cè)包括DC-DC轉(zhuǎn)換器34和電池35在內(nèi)的電源的狀態(tài)并根據(jù)所檢測(cè)的
在步驟S277中,用于執(zhí)行操作系統(tǒng)61的內(nèi)核71的主CPU 11通過片企測(cè) 在SDRAM 29中的存儲(chǔ)器空間的可用狀態(tài)并修改管理諸如SDRAM 29的資源 的處理參數(shù)來對(duì)內(nèi)核71進(jìn)行初始化處理。
在步驟S278中,執(zhí)行操作系統(tǒng)61的主CPU 11通過檢測(cè)設(shè)備和包括信 號(hào)處理器16、串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE 接口 28和通用輸入-輸出單元32的設(shè)備的狀態(tài)并根據(jù)檢測(cè)結(jié)果初始化設(shè)備驅(qū) 動(dòng)程序72的參數(shù)來對(duì)設(shè)備驅(qū)動(dòng)程序72進(jìn)行初始化處理。
在步驟S279中,用于執(zhí)行操作系統(tǒng)61的主CPU 11通過總線通知實(shí)時(shí) 處理CPU 12完成了設(shè)備驅(qū)動(dòng)程序72的初始化處理。
在步驟S369中,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處理CPU 12通過總線接 收來自主CPU 11的設(shè)備驅(qū)動(dòng)程序72的初始化處理的完成通知。
在步驟S280中,用于執(zhí)行操作系統(tǒng)61的主CPU 11將應(yīng)用程序62從 NAND型閃存17加載到SDRAM 29。在步驟S281中,用于執(zhí)行操作系統(tǒng)61 的主CPU 11開始"t丸行應(yīng)用程序62。在步驟S282中,主CPU 11初始化應(yīng)用程序62。繼步驟S282后,數(shù)字 靜態(tài)照相機(jī)轉(zhuǎn)換到初始狀態(tài)SON。
在步驟S283中,主CPU 11通過總線通知實(shí)時(shí)處理CPU 12完成了應(yīng)用 程序62的初始化處理。
在步驟S370中,實(shí)時(shí)處理CPU 12通過總線接收來自主CPU 11的應(yīng)用 程序62的初始化處理的完成通知。
在步驟S284中,用于執(zhí)行暫停狀態(tài)信息提供程序75的主CPU 11通過 串行接口 19將清除映像生成標(biāo)記的請(qǐng)求發(fā)送到嵌入式控制器33。
在步驟S168中,用于執(zhí)行啟動(dòng)方法確定信息取回程序203的嵌入式控制 器33通過串行接口 19接收來自主CPU11的清除映像生成標(biāo)記的請(qǐng)求。
在步驟S169中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式 控制器33清除被包含在暫停狀態(tài)信息中的映像生成標(biāo)記。
在步驟S285中,用于執(zhí)行操作系統(tǒng)61的暖引導(dǎo)映像生成程序78的主 CPU 11讀取存儲(chǔ)在SDRAM 29上的程序和數(shù)據(jù),并生成暖引導(dǎo)映像。更具 體地,暖引導(dǎo)映像生成程序78使用在操作狀態(tài)S0的初始狀態(tài)SON中被加載 到SDRAM 29上的程序和數(shù)據(jù)生成暖引導(dǎo)映像。
在步驟S286中,用于執(zhí)行操作系統(tǒng)61的暖引導(dǎo)映像生成程序78的主 CPU ll使得NAND型閃存17存儲(chǔ)在步驟S285中所生成的暖引導(dǎo)映像,從 而完成冷引導(dǎo)啟動(dòng)處理。在步驟S286中,例如,暖引導(dǎo)映像生成程序78以 使所生成的暖引導(dǎo)映像覆蓋先前被存儲(chǔ)在NAND型閃存17上的暖引導(dǎo)映像 的方式將所生成的暖引導(dǎo)映像存儲(chǔ)在NAND型閃存17上。
通過冷引導(dǎo)啟動(dòng)處理,生成包含了被更新的固件的暖引導(dǎo)映像,并將其 存儲(chǔ)在NAND型閃存17上。
繼步驟S286之后立即進(jìn)行將在下面討論的結(jié)束處理。
在一種選擇中,在驗(yàn)證了已經(jīng)正常生成暖引導(dǎo)映像后,主CPU11可以通 過串行接口 19將清除映像生成標(biāo)記的請(qǐng)求發(fā)送到嵌入式控制器33。嵌入式 控制器33可以接收清除映像生成標(biāo)記的請(qǐng)求,并清除被包含在暫停狀態(tài)信息 中的映像生成標(biāo)記。在此選擇中,僅當(dāng)已經(jīng)正常生成了暖引導(dǎo)映像時(shí)才清除 映像生成標(biāo)記。因此更可靠地生成暖引導(dǎo)映像。
在另一種選擇中,可以在暖引導(dǎo)映像被正常存儲(chǔ)在NAND型閃存17上 之后清除映像生成標(biāo)記。
在另一種選擇中,在完成了冷引導(dǎo)啟動(dòng)處理后,數(shù)字靜態(tài)照相機(jī)被設(shè)置 為暫停,然后使用在步驟S285中所生成的暖引導(dǎo)映像以暖引導(dǎo)方法啟動(dòng)數(shù)字 靜態(tài)照相機(jī)。僅當(dāng)正常啟動(dòng)數(shù)字靜態(tài)照相機(jī)時(shí)才清除映像生成標(biāo)記。以此方 式,僅當(dāng)使用暖引導(dǎo)映像正常啟動(dòng)數(shù)字靜態(tài)照相機(jī)時(shí)才清除映像生成標(biāo)記。在另一種選擇中,指示是否生成了暖引導(dǎo)映像的生成映像標(biāo)記(image generated flag )與映像生成標(biāo)記一起被包含在暫停狀態(tài)信息中。如果生成了暖 引導(dǎo)映像,則設(shè)置生成映像標(biāo)記。在下一次啟動(dòng)中,參考所設(shè)置的生成映像 標(biāo)記和映像生成標(biāo)記,確定暖引導(dǎo)啟動(dòng)方法作為啟動(dòng)方法,并完成操作系統(tǒng) 61的恢復(fù)處理。然后清除生成映像標(biāo)記和映像生成標(biāo)記。隨著生成映像標(biāo)記的復(fù)位和映像生成標(biāo)記的設(shè)置,確定冷引導(dǎo)啟動(dòng)方法 作為啟動(dòng)方法。隨著生成映像標(biāo)記的復(fù)位和映像生成標(biāo)記的復(fù)位,基于要轉(zhuǎn) 換的暫停狀態(tài)和暫停狀態(tài)中的電池35的電池裝載的歷史來確定啟動(dòng)方法。下面參考圖23的流程圖描述暫停處理。在步驟S501中,用于執(zhí)行應(yīng)用程序62的狀態(tài)轉(zhuǎn)換處理程序85的主CPU 11通過結(jié)束拍攝處理程序81、監(jiān)視處理程序82、設(shè)置處理程序83和USB海 量存儲(chǔ)類處理程序84的執(zhí)行中的一個(gè)將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到操作狀態(tài)SO 的初始狀態(tài)SON。在步驟S502中,用于執(zhí)行操作系統(tǒng)61的暫停狀態(tài)確定程序74的主CPU 11確定要轉(zhuǎn)換的暫停狀態(tài)。更具體地,暫停狀態(tài)確定程序74確定要轉(zhuǎn)換到 中止?fàn)顟B(tài)S3還是休眠狀態(tài)S4。在步驟S502中,如果按下輸入單元31上的電源按鈕、同時(shí)電池35的輸 出電壓等于或高于閾值,或如果關(guān)閉鏡頭蓋、同時(shí)電池35的輸出電壓等于或 高于閾值,則暫停狀態(tài)確定程序74確定中止?fàn)顟B(tài)S3作為要轉(zhuǎn)換的暫停狀態(tài)。在步驟S502中,如果電池35的輸出電壓低于閾值,或如果按下電源按 鈕持續(xù)長于預(yù)定時(shí)間的一段時(shí)間,則暫停狀態(tài)確定程序74確定休眠狀態(tài)S4 作為要轉(zhuǎn)換的狀態(tài)。在步驟S503中,應(yīng)用執(zhí)行操作系統(tǒng)61的暫停狀態(tài)信息提供程序75的主 CPU ll通過串行接口 19將指示要轉(zhuǎn)換的暫停狀態(tài)的暫停狀態(tài)信息發(fā)送到嵌 入式控制器33。在步驟S601中,用于執(zhí)行啟動(dòng)方法確定信息取回程序203的嵌入式控制 器33通過串行接口 19接收來自主CPU11的暫停狀態(tài)信息。在步驟S602中,
用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式控制器33將在步驟 S601中所接收的暫停狀態(tài)信息存儲(chǔ)到嵌入式控制器33的內(nèi)部存儲(chǔ)器上。可以獲取被更新的固件,即,操作系統(tǒng)61和應(yīng)用程序62中的一個(gè),并 且用戶可以請(qǐng)求更新固件。在步驟S503中,發(fā)送包含了所設(shè)置的映像生成標(biāo) 記的暫停狀態(tài)信息。在步驟S601中,接收包含了所設(shè)置的映像生成標(biāo)記的暫 停狀態(tài)信息。在步驟S602中,將包含了所設(shè)置的映像生成標(biāo)記的暫停狀態(tài)信 息存儲(chǔ)到嵌入式控制器33的內(nèi)部存儲(chǔ)器上??梢圆猾@取被更新的固件,或者即使獲取了被更新的固件,用戶也可以 不請(qǐng)求更新固件。在這種情況下,在步驟S503中發(fā)送包含了被清除的映像生 成標(biāo)記的暫停狀態(tài)信息。在步驟S601中,接收包含了被清除的映像生成標(biāo)記 的暫停狀態(tài)信息。在步驟S602中,將包含了被清除的映像生成標(biāo)記的暫停狀 態(tài)信息存儲(chǔ)在嵌入式控制器33的內(nèi)部存儲(chǔ)器上。在步驟S603中,用于執(zhí)行電池裝載檢測(cè)程序206的嵌入式控制器33檢 測(cè)DC-DC轉(zhuǎn)換器34的輸出電壓,從而確定是否裝載了電池35。用于執(zhí)行啟 動(dòng)方法確定信息取回程序203的嵌入式控制器33響應(yīng)于電池35的裝載的檢 測(cè)結(jié)果生成電池裝載信息。在步驟S604中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式 控制器33將響應(yīng)于電池35的裝載的檢測(cè)結(jié)果的電池裝載信息存儲(chǔ)在其內(nèi)部 存儲(chǔ)器上。如果在步驟S604中確定電池35被卸載,則啟動(dòng)方法確定信息存 儲(chǔ)處理程序204將指示電池35被卸載的電池裝載信息存儲(chǔ)在嵌入式控制器 33的內(nèi)部存儲(chǔ)器上。如果在步驟S604中確定電池35沒有^C卸載,則啟動(dòng)方 法確定信息存儲(chǔ)處理程序204將指示電池35沒有被卸載的電池裝載信息存儲(chǔ) 在嵌入式控制器33的內(nèi)部存儲(chǔ)器上。在步驟S504中,用于執(zhí)行應(yīng)用程序62的主CPU 11進(jìn)行應(yīng)用程序62的 結(jié)束處理。在步驟S504中,例如,應(yīng)用程序62通過關(guān)閉存儲(chǔ)了所拍攝的圖 像數(shù)據(jù)的文件進(jìn)行結(jié)束處理。在步驟S505中,用于執(zhí)行應(yīng)用程序62的主CPU 11通知實(shí)時(shí)處理CPU 12 完成了結(jié)束處理。在步驟S701中,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處理CPU12通過總線接 收來自主CPUll的結(jié)束處理的完成通知。在步驟S702中,用于執(zhí)行操作系統(tǒng)141和應(yīng)用程序142的實(shí)時(shí)處理CPU 12進(jìn)行結(jié)束處理。在步驟S703中,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處理CPU12 通過總線通知主CPUll完成了結(jié)束處理。在步驟S702中,例如,應(yīng)用程序142的實(shí)時(shí)處理程序171將形成光學(xué)系 統(tǒng)(沒有示出)的鏡頭返回到其結(jié)束位置。在步驟S506中,用于執(zhí)行應(yīng)用程序62的主CPU 11通過總線接收來自 實(shí)時(shí)處理CPU 12的結(jié)束處理的完成通知。在完成了結(jié)束處理時(shí),在步驟S704中,用于執(zhí)行操作系統(tǒng)141的實(shí)時(shí)處 理CPU 12通過總線通知主CPU 11完成了結(jié)束處理。在步驟S507中,用于 執(zhí)行操作系統(tǒng)61的主CPU 11通過總線接收來自實(shí)時(shí)處理CPU 12的結(jié)束處 理的完成通知。在將結(jié)束處理的完成通知發(fā)送到主CPU 11后,由已經(jīng)接收到結(jié)束處理的 完成通知的主CPU 11復(fù)位實(shí)時(shí)處理CPU 12。然后實(shí)時(shí)處理CPU 12保持休 息或執(zhí)行無限循環(huán)命令。在步驟S508中,用于執(zhí)行操作系統(tǒng)61的設(shè)置值存儲(chǔ)處理程序77的主 CPU 11使得NAND型閃存17存儲(chǔ)將被用于返回到啟動(dòng)處理的設(shè)置值。將要 被存儲(chǔ)在NAND型閃存17上的設(shè)置值包含快門速度、曝光、縮放或拍攝的 圖像的大小、編碼處理中的壓縮率、和諸如主CPU 11中的寄存器值的設(shè)置值。 在步驟S508中被存儲(chǔ)在NAND型閃存17上的設(shè)置值包括實(shí)時(shí)處理CPU 12 中的寄存器上的值和實(shí)時(shí)處理CPU 12的接口中的寄存器上的值,在SDRAM 29上管理這些值作為操作系統(tǒng)141和應(yīng)用程序142的變量。在步驟S509中,用于執(zhí)行操作系統(tǒng)61的主CPU 11進(jìn)行設(shè)備驅(qū)動(dòng)程序 72的結(jié)束處理。更具體地,操作系統(tǒng)61通過結(jié)束用于控制包括了串行接口 19、圖形控制器21、存儲(chǔ)卡接口 23、控制器25、 IDE接口 28和通用輸入-輸出單元32在內(nèi)的設(shè)備的處理來進(jìn)行設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理。在步驟S510中所進(jìn)行的設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理的部分中,用于執(zhí) 行操作系統(tǒng)61的其他CPU程序讀取程序76的主CPU 11將實(shí)時(shí)處理CPU 12 的操作系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加載到SDRAM 29。當(dāng)將要進(jìn)行下一個(gè)暖引導(dǎo)啟動(dòng)處理時(shí),這種安排使主CPU 11從將操作系 統(tǒng)141和應(yīng)用程序142自NAND型閃存17加載到SDRAM 29中釋放。進(jìn)行 了甚至更快的啟動(dòng)。當(dāng)實(shí)時(shí)處理CPU 12正在進(jìn)行結(jié)束處理時(shí),用其修改的內(nèi)部變量執(zhí)行操作
系統(tǒng)141和應(yīng)用程序142。繼實(shí)時(shí)處理CPU 12的結(jié)束處理之后,進(jìn)行將操作 系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加載到SDRAM 29??梢栽谥鰿PU 11將操作系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加 載到SDRAM 29之前由主CPU 11復(fù)位實(shí)時(shí)處理CPU12,并且可以將實(shí)時(shí)處 理CPU 12留在復(fù)位狀態(tài)。這種操作可以比在實(shí)時(shí)處理CPU 12執(zhí)行無限循環(huán) 命令時(shí)更安全地將操作系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加載到 SDRAM 29,并進(jìn)行啟動(dòng)處理。更具體地,這種操作降低了這種可能性在 到下 一 次啟動(dòng)之前,由實(shí)時(shí)處理CPU 12修改被加載到SDRAM 29上的操作 系統(tǒng)141和應(yīng)用程序142。如果實(shí)時(shí)處理CPU12執(zhí)行無限循環(huán)命令,而不是被轉(zhuǎn)換到復(fù)位狀態(tài),則 將無限循環(huán)命令存儲(chǔ)在與存儲(chǔ)了操作系統(tǒng)141和應(yīng)用程序142的存儲(chǔ)區(qū)不同 的存儲(chǔ)區(qū)上。例如,實(shí)時(shí)處理CPU 12或者執(zhí)行被存儲(chǔ)在與存儲(chǔ)了操作系統(tǒng) 141和應(yīng)用程序142的存儲(chǔ)區(qū)不同的存儲(chǔ)區(qū)上的無限循環(huán)命令,或者執(zhí)行被 存儲(chǔ)在屏蔽ROM 13上的無限循環(huán)命令。在完成了結(jié)束處理后,實(shí)時(shí)處理CPU 12保持在復(fù)位狀態(tài)或執(zhí)行無限循環(huán) 命令。這樣防止被加載到了 SDRAM 29上的操作系統(tǒng)141和應(yīng)用程序142被 修改,直到下一次以熱引導(dǎo)方法啟動(dòng)數(shù)字靜態(tài)照相機(jī)。如果在步驟S502中確定暫停狀態(tài)是休眠狀態(tài)S4,則可以跳過步驟S510。繼完成設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理后,在步驟S511,用于執(zhí)行操作系 統(tǒng)61的主CPU 11進(jìn)行內(nèi)核71的結(jié)束處理。在步驟S511中,例如,操作系 統(tǒng)61完成諸如監(jiān)^L應(yīng)用程序62、管理諸如SDRAM 29的資源和進(jìn)4亍內(nèi)部處 理通信的預(yù)定處理。在完成內(nèi)核71的結(jié)束處理時(shí),在步驟S512中,用于執(zhí)行操作系統(tǒng)61的 主CPU 11進(jìn)行供電管理機(jī)構(gòu)73的結(jié)束處理,比如設(shè)置暫停狀態(tài)中的參數(shù)。在步驟S513中,用于執(zhí)行操作系統(tǒng)61的供電管理機(jī)構(gòu)73的主CPU 11 通過串行接口 19將停止供電的請(qǐng)求發(fā)送到嵌入式控制器33。在步驟S605中,用于執(zhí)行供電控制程序201的嵌入式控制器33通過串 行接口 19接收來自主CPU 11的停止供電的請(qǐng)求。在步驟S606中,用于執(zhí)行供電控制程序201的嵌入式控制器33使得 DC-DC轉(zhuǎn)換器34停止供電并結(jié)束處理。例如,在步驟S606中,供電控制程 序201通過參考被存儲(chǔ)在嵌入式控制器33的內(nèi)部存儲(chǔ)器上的暫停狀態(tài)信息,
將數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到中止?fàn)顟B(tài)S3。因此,供電控制程序201使得DC-DC 轉(zhuǎn)換器34停止對(duì)主CPU ll和實(shí)時(shí)處理CPU 12供電,而繼續(xù)對(duì)SDRAM29 供電。為了轉(zhuǎn)換到休眠狀態(tài)S4,供電控制程序201使得DC-DC轉(zhuǎn)換器34停 止對(duì)SDRAM 29、主CPU 11和實(shí)時(shí)處理CPU 12供電。暫停狀態(tài)被確定,并且指示所確定的暫停狀態(tài)的暫停狀態(tài)信息被存儲(chǔ)在 嵌入式控制器33的內(nèi)部存儲(chǔ)器上。然后將數(shù)字靜態(tài)照相機(jī)設(shè)置到所確定的暫 停狀態(tài)。在轉(zhuǎn)換到暫停狀態(tài)之前,將返回到啟動(dòng)狀態(tài)所需的設(shè)置值存儲(chǔ)在 NAND型閃存17上。此外,在轉(zhuǎn)換到中止?fàn)顟B(tài)S3之前,將實(shí)時(shí)處理CPU 12的操作系統(tǒng)141 和應(yīng)用程序142加載到SDRAM 29上。在轉(zhuǎn)換到中止?fàn)顟B(tài)S3之前,可以將實(shí)時(shí)處理CPU 12的操作系統(tǒng)141和 應(yīng)用程序142加載到SDRAM29上。在前述的步驟S332中,實(shí)時(shí)處理CPU12 從SDRAM 29中讀取實(shí)時(shí)處理CPU 12中的寄存器上的值和實(shí)時(shí)處理CPU 12 的接口中的寄存器上的值,這些值在暫停之前包含在步驟S241中被加載到 SDRAM 29上的設(shè)置值中。實(shí)時(shí)處理CPU 12設(shè)置所讀^^的用于實(shí)時(shí)處理CPU 12中的寄存器的和用于實(shí)時(shí)處理CPU 12的接口中的寄存器的值。操作系統(tǒng)141用被設(shè)置用于實(shí)時(shí)處理CPU 12中的寄存器的和用于實(shí)時(shí)處 理CPU 12的接口中的寄存器的正確值來開始運(yùn)行。因此使實(shí)時(shí)處理CPU 12 免于失控,并且防止在轉(zhuǎn)換到中止?fàn)顟B(tài)S3之前被加載到SDRAM 29上的操 作系統(tǒng)141和應(yīng)用程序142被破壞。因此正確并可靠地執(zhí)行操作系統(tǒng)141和 應(yīng)用程序142。圖24是圖示暫停處理的另一例子的流程圖。步驟S531到S539、步驟S631到S634以及步驟S731到S734分別與圖 23中的步驟S501到S509、步驟S601到步驟S604以及步驟S701到S704相 同,并且在此省略了其論述。在圖24的流程圖所示的暫停處理中,在設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理中 沒有將實(shí)時(shí)處理CPU 12的l喿作系統(tǒng)141和應(yīng)用程序142加載到SDRAM 29 上。步驟S540到S542以及步驟S635和S636分別與圖23中的步驟S511到 步驟S513以及步驟S605和S606相同,并且在此省略了其論述。在設(shè)備驅(qū)動(dòng)程序72的結(jié)束處理中,可以不將實(shí)時(shí)處理CPU 12的操作系
統(tǒng)141和應(yīng)用程序142加載到SDRAM 29上。將操作系統(tǒng)141和應(yīng)用程序142加載到SDRAM 29上要花費(fèi)一段預(yù)定時(shí) 間。如果不將操作系統(tǒng)141和應(yīng)用程序142加載到SDRAM 29上,則可以在 更短的時(shí)間段中進(jìn)行暫停處理。被存儲(chǔ)在NAND型閃存17上的設(shè)置值不包含在步驟S538中被存儲(chǔ)在 SDRAM 29上的作為操作系統(tǒng)141和應(yīng)用程序142的變量的實(shí)時(shí)處理CPU 12 中的寄存器上的值和實(shí)時(shí)處理CPU 12的接口的寄存器上的值。因此減少了存儲(chǔ)設(shè)置值所需的NAND型閃存17中的存儲(chǔ)區(qū)。繼參考圖24的流程圖所述的暫停處理后,可以進(jìn)行參考圖17到圖19的 流程圖所述的熱引導(dǎo)啟動(dòng)處理。在這種情況下,在步驟S242之前,用于執(zhí)行 二級(jí)引導(dǎo)加載程序101的其他CPU程序讀取程序124的主CPU 11將實(shí)時(shí)處 理CPU 12的操作系統(tǒng)141和應(yīng)用程序142從NAND型閃存17加載到SDRAM 29上。下面描述電池35的卸載操作的存儲(chǔ)歷史的存儲(chǔ)處理。在每個(gè)預(yù)定的間隔 處由嵌入式控制器33進(jìn)行存儲(chǔ)處理。在暫停狀態(tài)中從DC-DC轉(zhuǎn)換器34為嵌 入式控制器33供電,并且在機(jī)械關(guān)閉狀態(tài)G3中從電池36為嵌入式控制器 33供電。圖25是圖示電池35的卸載歷史的存儲(chǔ)處理的流程圖。在步驟S901中, 用于執(zhí)行電池裝載檢測(cè)程序206的嵌入式控制器33檢測(cè)DC-DC轉(zhuǎn)換器34 的輸出電壓,從而檢測(cè)電池35的裝載。例如,在步驟S901中,電池裝載檢 測(cè)程序206比較DC-DC轉(zhuǎn)換器34的輸出電壓與預(yù)定閾值,從而確定安裝還 是卸載了電池。在步驟S902中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式 控制器33確定是否卸載了電池35。如果在步驟S902中確定卸載了電池35, 則處理繼續(xù)到步驟S903。用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌 入式控制器33將電池裝載信息存儲(chǔ)在其內(nèi)部存儲(chǔ)器上。因此處理結(jié)束。如果 卸載了電池35,則更新被存儲(chǔ)在嵌入式控制器33上的電池裝載信息以指示 卸載了電池35。如果在步驟S902中確定沒有卸載電池35,則沒有必要更新被存儲(chǔ)在嵌 入式控制器33上的電池裝載信息。因此跳過步驟S903處理結(jié)束。如果在暫停狀態(tài)中卸載了電池35,則更新電池裝載信息以指示卸載了電 池35。因此電池裝載信息指示暫停狀態(tài)中電池35的裝載歷史。在步驟S卯l中,用于執(zhí)行電池裝載檢測(cè)程序206的嵌入式控制器33可 以通過檢測(cè)DC-DC轉(zhuǎn)換器34的輸出電壓來檢測(cè)從外部電源供電的停止,并 且在步驟S902中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式控 制器33可以確定外部電源是否停止供電。如果在步驟S902中確定外部電源 停止供電,則在步驟S903中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204 的嵌入式控制器33可以將指示停止從外部電源供電的電池裝載信息存儲(chǔ)到 其內(nèi)部存儲(chǔ)器上。然后電池裝載信息指示從外部電源供電的歷史。此外,在步驟S901中,用于執(zhí)行電池裝載檢測(cè)程序206的嵌入式控制器 33可以通過檢測(cè)DC-DC轉(zhuǎn)換器34的輸出電壓來檢測(cè)從外部電源供電的停止 和電池35的裝載,并且在步驟S902中,用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處 理程序204的嵌入式控制器33可以確定外部電源供電是否停止和是否卸載了 電池35。如果在步驟S卯2中確定外部電源停止供電并且卸載了電池35,則 用于執(zhí)行啟動(dòng)方法確定信息存儲(chǔ)處理程序204的嵌入式控制器33可以將指示 外部電源停止供電并且卸載了電池35的電池裝載信息存儲(chǔ)在其內(nèi)部存儲(chǔ)器 上。電池裝載信息是指示停止用以維持暫停狀態(tài)的中止?fàn)顟B(tài)S3的電源供電 的歷史的信息中的一個(gè)例子。電池裝載檢測(cè)程序206檢測(cè)用以維持暫停狀態(tài) 的中止?fàn)顟B(tài)S3的電源供電的停止。如果在如圖26所示的機(jī)械關(guān)閉狀態(tài)G3中裝載電池35,則數(shù)字靜態(tài)照相 機(jī)以冷引導(dǎo)和暖引導(dǎo)中的一個(gè)啟動(dòng),并且響應(yīng)于由于電池35的裝載引起的開 始觸發(fā)而轉(zhuǎn)換到操作狀態(tài)SO??梢詫?shù)字靜態(tài)照相機(jī)從操作狀態(tài)SO無條件 地轉(zhuǎn)換到中止?fàn)顟B(tài)S3。在這種情況下,既不輸出啟動(dòng)屏幕,也不輸出啟動(dòng)音。即使冷引導(dǎo)啟動(dòng)處理和暖引導(dǎo)啟動(dòng)處理中的一個(gè)耗費(fèi)時(shí)間,在用戶得知 以前簡(jiǎn)單地通過裝載電池35設(shè)置數(shù)字靜態(tài)照相機(jī)為暫停在中止?fàn)顟B(tài)S3。隨著在中止?fàn)顟B(tài)S3中按下電源按鈕,以熱引導(dǎo)啟動(dòng)方法啟動(dòng)數(shù)字靜態(tài)照 相機(jī)到操作狀態(tài)S0。響應(yīng)于諸如打開鏡頭蓋的另一觸發(fā),可以以熱引導(dǎo)啟動(dòng) 方法將數(shù)字靜態(tài)照相機(jī)從中止?fàn)顟B(tài)S3轉(zhuǎn)換到操作狀態(tài)S0。對(duì)于用戶而言,看來數(shù)字靜態(tài)照相機(jī)響應(yīng)于諸如按下電源按鈕的觸發(fā)從 機(jī)械關(guān)閉狀態(tài)G3快速啟動(dòng)。數(shù)字靜態(tài)照相機(jī)響應(yīng)于用戶操作而轉(zhuǎn)換到暫停狀態(tài)或操作狀態(tài)S0。在從
暫停狀態(tài)到操作狀態(tài)SO的轉(zhuǎn)換中,數(shù)字靜態(tài)照相機(jī)快速啟動(dòng)。如果在沒有卸載電池35的中止?fàn)顟B(tài)S3的中間啟動(dòng)數(shù)字靜態(tài)照相機(jī),則 使用熱引導(dǎo)啟動(dòng)方法。如果在中止?fàn)顟B(tài)S3中用戶卸載了電池35然后又將其 裝回,則以暖引導(dǎo)啟動(dòng)方法啟動(dòng)數(shù)字靜態(tài)照相機(jī)。無論是否裝載了電池35, 以暖引導(dǎo)啟動(dòng)方法啟動(dòng)曾經(jīng)暫停在休眠狀態(tài)S4中的數(shù)字靜態(tài)照相機(jī)。在用戶 看來,暫停狀態(tài)是電源斷開狀態(tài)(機(jī)械關(guān)閉狀態(tài)G3)。如果被轉(zhuǎn)換到作為暫停狀態(tài)的中止?fàn)顟B(tài)和休眠狀態(tài)之一,數(shù)字靜態(tài)照相 機(jī)從中止?fàn)顟B(tài)和休眠狀態(tài)之一重新恢復(fù)操作。如果數(shù)字靜態(tài)照相機(jī)從中止?fàn)?態(tài)和〗木眠狀態(tài)之一轉(zhuǎn)換到暫停狀態(tài),則控制指示從中止?fàn)顟B(tài)和休眠狀態(tài)之一 轉(zhuǎn)換到數(shù)字靜態(tài)照相機(jī)將要轉(zhuǎn)換到的暫停狀態(tài)的暫停狀態(tài)信息的存儲(chǔ)。檢測(cè) 用以維持中止?fàn)顟B(tài)的電源供電的停止?;跁和顟B(tài)信息和關(guān)于暫停狀態(tài)中 的停止供電的歷史的歷史信息,確定用于暫停狀態(tài)到操作狀態(tài)的啟動(dòng)方法。獲取暫停狀態(tài)信息和歷史信息。暫停狀態(tài)信息指示中止?fàn)顟B(tài)和休眠狀態(tài) 之一,并在向其轉(zhuǎn)換的情況下存儲(chǔ)該暫停狀態(tài)信息,并且歷史信息指示暫停 狀態(tài)中停止供電的歷史,該歷史說明停止用以維持中止?fàn)顟B(tài)的電源供電的檢 測(cè)?;谠摃和顟B(tài)信息和歷史信息確定用于從暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的 啟動(dòng)方法。即使當(dāng)停止了用以維持中止?fàn)顟B(tài)的電源供電時(shí),也快速進(jìn)行啟動(dòng) 處理。本發(fā)明不僅適用于數(shù)字靜態(tài)照相機(jī),而且適用于包括了個(gè)人計(jì)算機(jī)、數(shù) 碼攝像機(jī)、蜂窩電話和移動(dòng)播放器的移動(dòng)設(shè)備,以及包括了 HDD記錄器和播 放器以及電視接收機(jī)的固定設(shè)備。如果以暖引導(dǎo)和冷引導(dǎo)之一啟動(dòng),則數(shù)字靜態(tài)照相機(jī)轉(zhuǎn)換到初始狀態(tài) SON。即使當(dāng)數(shù)字靜態(tài)照相機(jī)由于暖引導(dǎo)和冷引導(dǎo)之一而轉(zhuǎn)換到初始狀態(tài) SON時(shí),數(shù)字靜態(tài)照相機(jī)也可以轉(zhuǎn)換到響應(yīng)于初始狀態(tài)SON的觸發(fā)類型的 處理??梢允褂糜布蛙浖M(jìn)行上述一 系列處理步驟。如果使用軟件進(jìn)行上述 —系列處理步驟,則可以將形成軟件的程序從程序記錄介質(zhì)安裝到計(jì)算機(jī),或通用計(jì)算機(jī)中。可以將要由計(jì)算機(jī)(諸如主CPU 11、實(shí)時(shí)處理CPU 12或嵌入式控制器
33)執(zhí)行的程序記錄在可移動(dòng)介質(zhì)上,然后將其作為包括了該可移動(dòng)介質(zhì)的 分組介質(zhì)而供應(yīng)。該分組介質(zhì)可以包括磁盤(包括軟盤)、光盤(包括緊致只讀存儲(chǔ)器(CD-ROM)和數(shù)字通用盤(DVD))、磁光盤和半導(dǎo)體存儲(chǔ)器。還 可以通過包括了局域網(wǎng)(LAN)、因特網(wǎng)和數(shù)字衛(wèi)星廣播系統(tǒng)的有線或無線通 信介質(zhì)來供應(yīng)程序。將可移動(dòng)介質(zhì)安裝在與IDE接口 28連接的驅(qū)動(dòng)器上,然后通過IDE接 口 28將程序存儲(chǔ)到NAND型閃存17上。因此安裝了程序。通過無線通信介 質(zhì)和無線LAN接口或通過有線通信介質(zhì)和通用輸入-輸出單元32接收程序, 然后將程序存儲(chǔ)到NAND型閃存17上。因此安裝了程序??蛇x擇地,可以 將程序預(yù)先安裝在NAND型閃存17上??梢砸郧笆龅臅r(shí)間序列順序進(jìn)行程序,或者可以當(dāng)做出每次調(diào)用時(shí)在合 適的時(shí)間上進(jìn)行程序。本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求及其等效物的范圍內(nèi),視 設(shè)計(jì)需要和其他因素,可以發(fā)生各種修改、組合、次組合和變更。相關(guān)申請(qǐng)的交叉引用本發(fā)明包含與2006年12月28日在日本專利局提交的日本專利申請(qǐng)JP 2006-355323有關(guān)的主題,其全部?jī)?nèi)容通過引用合并于此。
權(quán)利要求
1.一種信息處理設(shè)備,暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中,該信息處理設(shè)備包括存儲(chǔ)控制裝置,用于在轉(zhuǎn)換到所述中止?fàn)顟B(tài)和所述休眠狀態(tài)中的一個(gè)狀態(tài)的情況下,控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)裝置,用于檢測(cè)電源供電的停止,該電源被供應(yīng)用于維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以及啟動(dòng)方法確定裝置,用于基于所述暫停狀態(tài)信息和歷史信息來確定用于從該暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的的啟動(dòng)方法,該歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供電歷史。
2. 如權(quán)利要求1所述的信息處理設(shè)備,其中,所述啟動(dòng)方法確定裝置在 第一啟動(dòng)方法和第二啟動(dòng)方法之間確定用于從該暫停狀態(tài)到該操作狀態(tài)的轉(zhuǎn) 換的啟動(dòng)方法,其中,通過在中止?fàn)顟B(tài)中執(zhí)行存儲(chǔ)在易失性存儲(chǔ)器上的程序 開始所述第一啟動(dòng)方法,該程序曾經(jīng)在緊接著轉(zhuǎn)換到所述暫停狀態(tài)之前的操 作狀態(tài)中被存儲(chǔ)在所述易失性存儲(chǔ)器上,并且其中通過將存儲(chǔ)在非易失性存 儲(chǔ)器上的映像加載到所述易失性存儲(chǔ)器上用于執(zhí)行來開始所述第二啟動(dòng)方 法,該映像對(duì)應(yīng)于所述曾經(jīng)在緊接著轉(zhuǎn)換到所述暫停狀態(tài)之前的操作狀態(tài)中 被存儲(chǔ)在所述易失性存儲(chǔ)器上的程序。
3. 如權(quán)利要求2所述的信息處理設(shè)備,其中,如果所述暫停狀態(tài)信息指 示中止?fàn)顟B(tài),并且如果所述歷史信息指示在所述中止?fàn)顟B(tài)中沒有停止過供電, 則所述啟動(dòng)方法確定裝置確定所述第一啟動(dòng)方法作為用于從所述暫停狀態(tài)轉(zhuǎn) 換到所述操作狀態(tài)的啟動(dòng)方法。
4. 如權(quán)利要求2所述的信息處理設(shè)備,其中,如果所述暫停狀態(tài)信息指 示中止?fàn)顟B(tài),并且如果所述歷史信息指示在所述中止?fàn)顟B(tài)中曾經(jīng)停止供電, 則所述啟動(dòng)方法確定裝置確定所述第二啟動(dòng)方法作為用于從所述暫停狀態(tài)轉(zhuǎn) 換到所述操作狀態(tài)的啟動(dòng)方法。
5. 如權(quán)利要求2所述的信息處理設(shè)備,其中,如果所述暫停狀態(tài)信息指 示休眠狀態(tài),則所述啟動(dòng)方法確定裝置確定所述第二啟動(dòng)方法作為用于從所 述暫停狀態(tài)轉(zhuǎn)換到所述操作狀態(tài)的啟動(dòng)方法。
6. 如權(quán)利要求1所述的信息處理設(shè)備,還包括暫停狀態(tài)確定裝置,用于確定要轉(zhuǎn)換到中止?fàn)顟B(tài)還是休眠狀態(tài)。
7. 如權(quán)利要求1所述的信息處理設(shè)備,其中,如果供電以維持所述中止 狀態(tài)的電池曾經(jīng)被卸載然后被重新裝載,則響應(yīng)于所述電池的裝載而激活所 述操作狀態(tài),然后無條件地轉(zhuǎn)換到所述中止?fàn)顟B(tài)。
8. 如權(quán)利要求所述的信息處理設(shè)備,其中,所述檢測(cè)裝置檢測(cè)響應(yīng)于 供電以維持所述中止?fàn)顟B(tài)的所述電池的卸載的供電的停止。
9. 如權(quán)利要求1所述的信息處理設(shè)備,其中,所述檢測(cè)裝置檢測(cè)從外部電源饋送的用以維持所述中止?fàn)顟B(tài)的供電的停止。
10. —種信息處理設(shè)備的信息處理方法,該信息處理設(shè)備暫停在包括中 止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中,該信息處理方法包括步驟在轉(zhuǎn)換到中止?fàn)顟B(tài)和^U民狀態(tài)中的一個(gè)狀態(tài)的情況下,控制關(guān)于這個(gè)狀 態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)電源供電的停止,該電源被供應(yīng)用于維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以及基于所述暫停狀態(tài)信息和歷史信息來確定用于從該暫停狀態(tài)轉(zhuǎn)換到操作 狀態(tài)的的啟動(dòng)方法,該歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫 停狀態(tài)中的供電歷史。
11. 一種計(jì)算機(jī)程序,用于使得計(jì)算機(jī)進(jìn)行在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一暫停的信息處理設(shè)備的信息處理方法,該計(jì)算機(jī)程序包 括步驟獲取暫停狀態(tài)信息和歷史信息,該暫停狀態(tài)信息指示所述中止?fàn)顟B(tài)和所 述休眠狀態(tài)中的一個(gè)狀態(tài),并在轉(zhuǎn)換到這個(gè)狀態(tài)的情況下被存儲(chǔ),并且該歷 史信息指示說明檢測(cè)到用以維持所迷中止?fàn)顟B(tài)的供電停止的、在該暫停狀態(tài) 中停止供電的歷史;以及基于所述暫停狀態(tài)信息和所述歷史信息確定用于從該暫停狀態(tài)轉(zhuǎn)換到操 作狀態(tài)的的啟動(dòng)方法。
12. —種信息處理設(shè)備,暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀 態(tài)之一中,該信息處理設(shè)備包括存儲(chǔ)控制單元,在轉(zhuǎn)換到該中止?fàn)顟B(tài)和該休眠狀態(tài)中的一個(gè)狀態(tài)的情況 下控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)單元,檢測(cè)供電的停止,該電源被供應(yīng)用于維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以及啟動(dòng)方法確定單元,基于所述暫停狀態(tài)信息和歷史信息確定用于從該暫 停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的的啟動(dòng)方法,該歷史信息指示說明關(guān)于停止供電的 檢測(cè)結(jié)果的、在暫停狀態(tài)中的供電歷史。
全文摘要
一種信息處理設(shè)備,暫停在包括中止?fàn)顟B(tài)和休眠狀態(tài)在內(nèi)的暫停狀態(tài)之一中,該信息處理設(shè)備包括存儲(chǔ)控制單元,用于在轉(zhuǎn)換到所述中止?fàn)顟B(tài)和所述休眠狀態(tài)中的一個(gè)狀態(tài)的情況下,控制關(guān)于這個(gè)狀態(tài)的暫停狀態(tài)信息的存儲(chǔ);檢測(cè)單元,用于檢測(cè)電源供電的停止,該電源被供應(yīng)用于維持作為暫停狀態(tài)的中止?fàn)顟B(tài);以及啟動(dòng)方法確定單元,用于基于所述暫停狀態(tài)信息和歷史信息來確定用于從該暫停狀態(tài)轉(zhuǎn)換到操作狀態(tài)的的啟動(dòng)方法,該歷史信息指示說明關(guān)于停止供電的檢測(cè)結(jié)果的、在暫停狀態(tài)中的供電歷史。
文檔編號(hào)G06F1/32GK101211214SQ20071030558
公開日2008年7月2日 申請(qǐng)日期2007年12月27日 優(yōu)先權(quán)日2006年12月28日
發(fā)明者山地秀典 申請(qǐng)人:索尼株式會(huì)社