宋麗華,戰(zhàn) 穎,簡 陽,張鑫磊,鮑世昆
(北方工業(yè)大學(xué)信息工程學(xué)院,北京100144)
隨著便攜式嵌入式設(shè)備功能需求的增長,系統(tǒng)的電池儲能能力增長速度越來越不能與之相匹配,因此對系統(tǒng)有限電能進(jìn)行管理已成為嵌入式系統(tǒng)的一個重要研究方向[1]。電源管理的一個關(guān)鍵部分就是對系統(tǒng)的功耗模式進(jìn)行切換,系統(tǒng)的休眠與喚醒則是其中的一種低功耗工作切換方式。Win-dows Embedded CE 6.0可以為多種類型的嵌入式設(shè)備構(gòu)建實時操作系統(tǒng),具有Windows平臺兼容性、可定制性和高穩(wěn)定的特點,集成部分電源管理接口[2];S3C6410是基于ARM架構(gòu)的嵌入式處理器,具有低功耗、高性能的特點,支持多種功耗模式,集成內(nèi)核電源管理模塊[3]?;赟3C6410處理器和Windows Embedded CE 6.0操作系統(tǒng)的特點,實現(xiàn)系統(tǒng)休眠與喚醒,以達(dá)到通過切換功耗模式來實現(xiàn)電源管理的目的。系統(tǒng)休眠與喚醒作為電源管理的核心模塊,直接調(diào)度整個嵌入式系統(tǒng)的電源能耗,對整個系統(tǒng)的電源管理起著至關(guān)重要的作用[4]。
在微軟的Windows Embedded CE 6.0操作系統(tǒng)中,通過以下四種方式可以使得操作系統(tǒng)進(jìn)入休眠狀態(tài):
(1)用戶在操作系統(tǒng)桌面的開始菜單選擇掛起選項;
(2)用戶短按電源開關(guān)鍵,請求系統(tǒng)進(jìn)入休眠;
(3)用戶長時間無操作,根據(jù)嵌入式操作系統(tǒng)中電源管理策略將系統(tǒng)狀態(tài)由POWER_STATE_ON轉(zhuǎn)為POWER_STATE_USERIDLE、POWER_STATE_IDLE狀態(tài),最后進(jìn)入POWER_STATE_SUSPEND,即休眠狀態(tài);
(4)用戶可以在設(shè)備驅(qū)動或者應(yīng)用程序中調(diào)用Windows Embedded CE 6.0操作系統(tǒng)提供的標(biāo)準(zhǔn)電源管理函數(shù)接口SetSystemPowerState來對系統(tǒng)電源狀態(tài)進(jìn)行設(shè)置[4]。
S3C6410芯片中的電源管理模塊支持五種功耗模式:NORMAL模式、IDLE模式、STOP模式、DEEP-STOP模式和SLEEP模式。最低功耗模式的體現(xiàn)是:在SLEEP模式下,除了系統(tǒng)的喚醒源模塊和實時時鐘RTC以外,電源管理模塊將CPU和其他具有電源控制能力的內(nèi)部邏輯模塊的電源關(guān)閉。S3C6410在此模式中,絕大多數(shù)內(nèi)部電源都已經(jīng)斷電,不僅是RTC和電源管理器的內(nèi)部單元ALIVE模塊,其他內(nèi)部所有的時鐘源和外部低電壓電源的供電也處于無效狀態(tài)。本文采用的開發(fā)板處理器電源模塊部分處于可控狀態(tài)。由于ADC/DAC模塊和ALIVE模塊需要一直處于供電狀態(tài),因此它們是不可控的,電源可控部分包括USB OTG、Mobile DDR、PLL和系統(tǒng)I/O模塊,它們在休眠與喚醒的過程中是可以控制的。圖1為部分可控電源域的硬件連接方式。
三星S3C6410芯片內(nèi)部可預(yù)先設(shè)定IO接口的狀態(tài),系統(tǒng)恢復(fù)要通過預(yù)設(shè)的外部事件或者指定的內(nèi)部喚醒事件。系統(tǒng)進(jìn)入休眠模式時,S3C6410按照預(yù)設(shè)的順序關(guān)閉內(nèi)部的可控電源,同時關(guān)閉外部可控邏輯的電源域,使得系統(tǒng)的大部分供電關(guān)閉,即將系統(tǒng)CPU的XPWRRGTON引腳置位,使得外部電源關(guān)閉,同時S3C6410芯片的VDD_PLL、VDD_OTG、VDD_IO等掉電。系統(tǒng)的休眠與喚醒模式如圖2所示,CPU內(nèi)部的電源控制邏輯一直處于供電狀態(tài),它通過XPWRRGTON控制外部的電源管理電路,同時外圍的電源管理電路反饋控制CPU的內(nèi)核系統(tǒng)供電,系統(tǒng)的休眠喚醒事件都是通過內(nèi)部的電源控制邏輯對整個系統(tǒng)進(jìn)行休眠或者喚醒。
Figure 1 Controllable power domain connecter圖1 可控電源域的硬件連接方式
Figure 2 Sleep mode and wakeup mode on S3C6410圖2 S3C6410系統(tǒng)休眠與喚醒模式
為使得系統(tǒng)執(zhí)行任務(wù)時處于最優(yōu)的功耗狀態(tài),S3C6410芯片在電源控制邏輯模塊具備多種電源管理方案,總體上主要包括電壓/時鐘調(diào)節(jié)、時鐘選通、電源供應(yīng)選通三種方案。電壓/時鐘調(diào)節(jié)是指通過降低電壓和時鐘來減少活動功耗和靜態(tài)功耗。S3C6410芯片電源管理由四個模塊組成,它們分別是通用時鐘門控模式、閑置模式、停止模式和睡眠模式。而所謂時鐘選通就是利用這四個模塊中的通用時鐘門控、閑置或停止模式停止電路時鐘,即讓時鐘從不用的電路模塊斷開進(jìn)而減少活動功耗;電源供應(yīng)選通則是利用睡眠模式,斷開電路中不使用的模塊電源供應(yīng)。本文所使用的是上述第三種方案——電源供應(yīng)選通,因此需要用到S3C6410提供的兩路獨立電源,一路電源給CPU及其內(nèi)部邏輯供電,另一路電源單獨給喚醒邏輯供電[5]。當(dāng)S3C6410進(jìn)入休眠時,CPU及其內(nèi)部邏輯的這一路供電將會停止,僅保留喚醒邏輯的供電和RTC,系統(tǒng)各個電源域的情況如圖3所示。
Figure 3 Power domains at sleep mode圖3 Sleep模式下的電源域
S3C6410在休眠模式下,通過使用外部電源調(diào)節(jié)器,使得除了ALIVE模塊和RTC模塊之外的其他所有硬件邏輯都斷電。休眠模式支持待機時間最長,但是用戶軟件必須將所有的內(nèi)部狀態(tài)保存到外部存儲設(shè)備上或者內(nèi)存的休眠信息存儲區(qū)上。ALIVE模塊等待外部喚醒事件,同時RTC存儲時間信息。用戶軟件可配置內(nèi)部喚醒源,也可以通過GPIO配置各個I/O引腳的狀態(tài)和工作模式作為外部喚醒方式。
S3C6410的喚醒邏輯支持EINT0-15、RTC警告、TICK、鍵盤中斷、MSM、電池故障、HSI和溫復(fù)位中斷,如果休眠期間產(chǎn)生這些中斷,系統(tǒng)將恢復(fù)對CPU的供電并喚醒CPU。
本文結(jié)合Windows Embedded CE 6.0操作系統(tǒng)的電源管理機制和S3C6410芯片的特性,實現(xiàn)整個系統(tǒng)的休眠和喚醒過程。由于休眠與系統(tǒng)關(guān)機在功能上很相似:休眠只比系統(tǒng)關(guān)機多了保存現(xiàn)場(各類寄存器)和設(shè)置觸發(fā)事件的步驟,因此掌握系統(tǒng)關(guān)機的技術(shù)后再實現(xiàn)休眠功能就會相對容易。而喚醒功能包括恢復(fù)休眠現(xiàn)場和喚醒源的觸發(fā)處理,是休眠的逆過程。這一過程如圖4所示。
Figure 4 Process of sleep mode and wakeup mode圖4 系統(tǒng)休眠與喚醒的過程
下面詳細(xì)介紹系統(tǒng)休眠與喚醒的實現(xiàn)過程。
Windows Embedded CE 6.0操作系統(tǒng)在休眠之前,首先要根據(jù)電源管理的策略對那些支持電源管理的設(shè)備進(jìn)行電源關(guān)閉,一般各個設(shè)備驅(qū)動中的Power Down接口函數(shù)將被系統(tǒng)調(diào)用實現(xiàn)設(shè)備電源的關(guān)閉;然后操作系統(tǒng)的底層函數(shù)OEMPower Off被調(diào)用,使得整個系統(tǒng)進(jìn)入休眠狀態(tài)。其中OEMPower Off函數(shù)位于三星開發(fā)包S3c6410_sec_v1\Oal\Power\off.c文件中,本系統(tǒng)在此文件中實現(xiàn)底層的系統(tǒng)休眠和喚醒。
進(jìn)入休眠的過程是通過Windows Embedded CE 6.0嵌入式系統(tǒng)應(yīng)用層面提供的四種方法層層調(diào)用,最終調(diào)用OEM層的OEMPower Off函數(shù)實現(xiàn)的。此函數(shù)依次調(diào)用BSPPower Off來禁止動態(tài)電壓管理,并將其設(shè)為全速模式,同時禁用RTC控制器,進(jìn)行GPIO配置和喚醒源的配置;再將特殊功能寄存器物理地址映射到虛擬地址;調(diào)用S3C6410_SaveState_VIC函數(shù)保存VIC向量中斷控制寄存器;禁用所有的中斷;調(diào)用S3C6410_SaveState_DMACon函數(shù)保存DMA控制寄存器;調(diào)用S3C6410_SaveState_GPIO函數(shù)保存GPIO的狀態(tài);調(diào)用S3C6410_SaveState_SysCon保存系統(tǒng)控制寄存器的狀態(tài);調(diào)用OALCPUPoweroff函數(shù),使得CPU進(jìn)入休眠模式。調(diào)用OALCPUPoweroff函數(shù)完成當(dāng)前系統(tǒng)狀態(tài)信息的保存,將包括SVC寄存器、CP15寄存器等在內(nèi)的一些關(guān)鍵寄存器里的數(shù)據(jù)保存到SDRAM的休眠數(shù)據(jù)區(qū),最后將處理器功耗模式切換到休眠模式。當(dāng)內(nèi)核處理器被喚醒以后,板級系統(tǒng)使用SDRAM中的數(shù)據(jù)恢復(fù)整個操作系統(tǒng)。系統(tǒng)休眠的過程可概括地表示為如圖5所示的流程。
Figure 5 Process of sleep mode圖5 系統(tǒng)休眠過程
由于S3C6410處理器內(nèi)核在休眠期間是掉電的,當(dāng)它被喚醒后將會從地址0x00000000重新開始執(zhí)行指令。也就是說,這時候CPU已經(jīng)脫離了Windows Embedded CE 6.0的執(zhí)行空間,運行的是Boot Loader,即Boot Loader中的OALCPUPoweroff函數(shù),其具體實現(xiàn)在Startup.s文件中。
S3C6410內(nèi)部系統(tǒng)進(jìn)入休眠模式的順序是:
(1)PWR_CFG[6:5]被用戶軟件置位為系統(tǒng)休眠模式;
(2)用戶軟件通過MCR指令(MCR P15,0,Rd,C7,C0,4)產(chǎn)生STANDBYWFI信號;
(3)SYSCON系統(tǒng)控制器要求總線控制器完成當(dāng)前AHB總線處理任務(wù);
(4)當(dāng)前AHB總線處理任務(wù)完成后,AHB總線控制器向SYSCON發(fā)送已經(jīng)完成的確認(rèn)信息;
(5)SYSCON要求域V完成當(dāng)前AXI總線任務(wù);
(6)當(dāng)前AXI總線任務(wù)完成后,AXI控制器向SYSCON發(fā)送已經(jīng)完成的確認(rèn)信息;
(7)外部存儲器如SDRAM必須在休眠模式下保存好當(dāng)前系統(tǒng)信息,即保護(hù)系統(tǒng)現(xiàn)場,然后SYSCON要求外部存儲控制器進(jìn)入自刷新模式,如若不能保存當(dāng)前信息,系統(tǒng)喚醒時將不能恢復(fù)現(xiàn)場;
(8)外部存儲控制器(即內(nèi)存SDRAM)進(jìn)入自刷新模式以后將向SYSCON發(fā)送確認(rèn)信息;
(9)如果PLL被使用,SYSCON將以外部振蕩器替代內(nèi)部的PLL作為時鐘源輸出;
(10)SYSCON禁用PLL的操作和晶體振蕩器;
(11)SYSCON為實現(xiàn)內(nèi)部邏輯而配置XPWRRGTON管腳為低電平狀態(tài),以此斷開外部電源作為內(nèi)部源,XPWRRGTON管腳控制外部調(diào)節(jié)器,以達(dá)到控制外部電源的目的。
喚醒過程是休眠過程的逆過程,喚醒流程圖如圖6所示。同樣,在OALCPUPoweroff函數(shù)喚醒中System_Wait ForInterrupt函數(shù)檢測到喚醒源的中斷,則恢復(fù)對SDRAM的供電,然后從SDRAM的休眠數(shù)據(jù)區(qū)中將先前的CPU寄存器數(shù)據(jù)導(dǎo)入,返回Windows Embedded CE 6.0的執(zhí)行空間;回到Windows CE 6.0的執(zhí)行空間,調(diào)用S3C6410_RestoreState_SysCon恢復(fù)系統(tǒng)控制寄存器的數(shù)據(jù);然后調(diào)用S3C6410_RestoreState_GPIO函數(shù)恢復(fù)GPIO的狀態(tài);再調(diào)用S3C6410_RestoreState_DMACon函數(shù)恢復(fù)DMA控制寄存器的狀態(tài);調(diào)用S3C6410_RestoreState_VIC函數(shù)恢復(fù)VIC狀態(tài);然后初始化串口調(diào)試;再調(diào)用OEMInitializeSystem Timer函數(shù)初始化系統(tǒng)時鐘;調(diào)用InitializeOTGCLK函數(shù)開啟USB;調(diào)用BSPPower On函數(shù)判斷喚醒源等。
Figure 6 Process of wakeup mode圖6 系統(tǒng)的喚醒過程
以上是一個嵌入式系統(tǒng)整體的喚醒過程。S3C6410處理器內(nèi)部系統(tǒng)控制器控制部分的喚醒過程如下:
(1)SYSCON將XPWRRGTON管腳置于高電平狀態(tài),以此使能外部電源,同時通過設(shè)置寄存器PWR_STABLE等待時鐘穩(wěn)定;
(2)SYSCON生成系統(tǒng)時鐘HCLK、PCLK、ARMCLK;
(3)SYSCON發(fā)出系統(tǒng)復(fù)位信號HRESETn和PRESETn;
(4)SYSCON發(fā)出ARM的復(fù)位信號。
在實際產(chǎn)品應(yīng)用中,用戶可根據(jù)不同的需求采用不同的喚醒源。例如,以休眠模式待機,在需要周期性地喚醒休眠系統(tǒng)的情況下,用戶就需要設(shè)置RTC時鐘作為喚醒源,如果僅僅在想喚醒設(shè)備的時候再喚醒,則可以設(shè)置一個觸摸屏觸發(fā)的外部中斷來實現(xiàn)。S3C6410就提供了多種喚醒實現(xiàn)方式,如EINT0-15、TICK、鍵盤中斷、MSM、電池故障、HSI、溫復(fù)位。三星S3C6410芯片所支持的不同功耗模式下的喚醒源如圖7所示。
Figure 7 Wakeup sources in different power modes圖7 S3C6410不同功耗模式下的喚醒源
典型的喚醒源實現(xiàn)方式有兩種:基于普通外部中斷的實現(xiàn)方式和基于鍵盤事件的實現(xiàn)方式。
3.2.1 基于外部中斷的系統(tǒng)喚醒實現(xiàn)方式
根據(jù)系統(tǒng)休眠喚醒的原理,S3C6410芯片在休眠之前必須在OALCPUPoweroff函數(shù)中正確設(shè)置外部中斷作為喚醒源,芯片系統(tǒng)才能被正常喚醒。正確設(shè)置作為喚醒源的中斷有以下三個重要步驟:
(1)把作為外部喚醒源的GPIO接口設(shè)置為復(fù)用的中斷功能,本文把GPN[11]設(shè)為中斷口。
(2)實際操作能滿足外部中斷觸發(fā)條件,如果將某種喚醒使用的中斷源所對應(yīng)的接口與一個電平變化的器件相連,比如按鍵,需要通過判斷此接口上電平的變化來觸發(fā)這個中斷。在powerbutton.c文件中將電源GPN[11]設(shè)為EINT11,代碼如下:
3.2.2 基于鍵盤事件中斷的系統(tǒng)喚醒實現(xiàn)方式
基于鍵盤中斷的方式實現(xiàn)休眠喚醒是通過調(diào)用鍵盤驅(qū)動來實現(xiàn)的。操作系統(tǒng)必須具備鍵盤驅(qū)動機制,Windows Embedded CE 6.0是可定制鍵盤接口的。當(dāng)鍵盤有按鍵按下時,鍵盤驅(qū)動檢測并觸發(fā)鍵盤消息中斷,當(dāng)內(nèi)核電源管理模塊檢測到鍵盤中斷,再將整個系統(tǒng)喚醒起來。對于鍵盤這樣的喚醒源的設(shè)置如下:
本文通過實驗多種喚醒源中的兩種典型喚醒方式,驗證系統(tǒng)休眠與喚醒是否成功。當(dāng)Windows Embedded CE 6.0操作系統(tǒng)在基于S3C6410的視障者閱讀輔助器完全啟動后,按下開始菜單中的“掛起”鍵,屏幕將關(guān)閉,系統(tǒng)大多數(shù)設(shè)備停止工作,此時開始測試。測試方法如下:
(1)通過按下電源開關(guān)鍵,整個系統(tǒng)被喚醒啟動起來,重新進(jìn)入Windows Embedded CE 6.0系統(tǒng)桌面;
(2)用微軟的ActiveSync同步連接工具以USB的方式連接已經(jīng)啟動的Windows Embedded CE 6.0系統(tǒng),檢測當(dāng)系統(tǒng)掛起時,檢測同步連接功能是否有效,同時用萬用表測試核心板上S3C6410芯片的VCC_OTG電壓是否正常。
測試結(jié)果:即按即啟,沒有延遲,同時同步工具ActiveSync在休眠時斷開,VCC_OTG的電壓為0 V,當(dāng)系統(tǒng)喚醒以后VCC_OTG電壓為3.3 V,恢復(fù)正常,同步工具也能正常連接。通過鍵盤事件或者外部中斷可以正常喚醒休眠中的系統(tǒng),效果理想。
嵌入式系統(tǒng)的系統(tǒng)級電源管理的基本思路是調(diào)整芯片的工作電壓和工作頻率,而S3C6410芯片的內(nèi)核處理器支持動態(tài)電壓和頻率的調(diào)節(jié)。根據(jù)CMOS電路功耗的理論公式[6,7]:
其中,P表示功耗;C表示系統(tǒng)的電容,是一個常量;V表示工作電壓;F表示工作頻率。工作電壓和工作頻率又成正比例關(guān)系,頻率的提高需要以電壓的提高作為基礎(chǔ)。
其中,E表示能耗,t表示時間。對于一個指定的處理任務(wù),F(xiàn)*t是常量,因此根據(jù)公式可知,在降低處理器工作頻率的同時降低處理器的工作電壓,這樣才能達(dá)到降低功耗的目的。
本文所研究的系統(tǒng)休眠與喚醒過程對處理器的工作頻率和動態(tài)電壓的調(diào)節(jié)符合以上理論原理。典型的處理器電壓調(diào)節(jié)在于喚醒時S3C6410內(nèi)部控制器SYSCON生成系統(tǒng)時鐘HCLK、PCLK、ARMCLK時對系統(tǒng)時鐘的靜態(tài)配置,同時采用LTC3714電源開關(guān)穩(wěn)壓控制器配合系統(tǒng)進(jìn)行動態(tài)電壓的調(diào)節(jié),以此達(dá)到有效控制系統(tǒng)級功耗的目的。
休眠喚醒作為基本的電源管理方式之一,對系統(tǒng)電壓的極端控制達(dá)到的效果如表1所示。
Table 1 Change of power modes in sleep mode and wakeup mode表1 系統(tǒng)休眠喚醒過程中部分電源域變化情況 V
據(jù)表1可知,由于本文所采用的開發(fā)板的部分設(shè)備電源,如ADC,未進(jìn)行電源控制,則整個過程中電壓不可控,無任何改變,而OTG等設(shè)備電源域可控,這形成了一個對比的效果。這里ALIVE是不在這個范疇的,它在設(shè)計之時就必須處于長期供電的狀態(tài),是CPU的關(guān)鍵電源域,關(guān)系到整個設(shè)備的休眠與喚醒。
作為電源管理方式之一的LCD屏幕背光控制,用萬用表測量所得到的效果如表2所示。
Table 2 Comparison of the backlight brightness and voltage表2 屏幕背光亮度及電壓對比
根據(jù)屏幕背光原理,控制的機制是通過PWM脈寬調(diào)制電壓值,以此達(dá)到對屏幕背景光電壓輸出的控制,從而形成亮度調(diào)節(jié)。開關(guān)電壓輸出的值一定,而脈寬調(diào)制信號的頻率和占空比則決定了實際有效輸出電壓值。實際值的有效控制真正達(dá)到了系統(tǒng)能耗的有效管理。
ARM體系結(jié)構(gòu)的便攜式電子產(chǎn)品功耗分布如圖8所示[8],本課題采用的S3C6410系統(tǒng)即為ARM體系結(jié)構(gòu)。其中處理器功耗和屏幕功耗占整個系統(tǒng)的絕大部分。
Figure 8 Power distribution of the ARM architecture portable electronics圖8 ARM體系結(jié)構(gòu)便攜式電子產(chǎn)品功耗分布
根據(jù)ARM體系結(jié)構(gòu)電子產(chǎn)品功耗可知,CPU耗電約為整個系統(tǒng)的30%。根據(jù)表1中CPU休眠時電源域的電壓變化情況可知,其中40%的功耗接入休眠喚醒控制以后處于可控狀態(tài)。同理,由圖8可知,屏幕功耗達(dá)到42%,且由表2可知不同的背光程度功耗節(jié)省度不同。最終的功耗節(jié)省情況如表3所示。
Table 3 Effect after using the power management program表3 系統(tǒng)引入電源管理前后效果對照表
由表3可知,如果系統(tǒng)在控制策略中加入系統(tǒng)的休眠喚醒步驟將降低系統(tǒng)功耗,極端的情形下系統(tǒng)功耗最低,這將在單位時間內(nèi)為CPU節(jié)省12%的功耗;同時,由于休眠與喚醒屬于系統(tǒng)電源管理范疇,將對設(shè)備電源等產(chǎn)生一系列的映射控制關(guān)系,這使得應(yīng)用休眠與喚醒策略將顯著地降低整個嵌入式系統(tǒng)的功耗。
本文根據(jù)S3C6410處理器模塊的特性和Windows Embedded CE 6.0電源管理驅(qū)動結(jié)構(gòu),研究并實現(xiàn)了嵌入式系統(tǒng)休眠與喚醒,并對喚醒源設(shè)置等問題進(jìn)行了研究。實驗結(jié)果表明,應(yīng)用本文設(shè)計的休眠與喚醒策略顯著地降低了系統(tǒng)功耗,并且項目成果已成功應(yīng)用于實際項目之中,實際使用測試表明該策略有效提升了系統(tǒng)續(xù)航能力。
[1] Xing Xiang-lei,Zhou Yu,Du Si-dan.Power management software based on embedded Linux system[J].Computer Engineering,2010,36(1):253-255.(in Chinese)
[2] Wang Bing.Embedded advanced programming and detailed examples of Windows CE[M].Beijing:China Water Power Press,2008.(in Chinese)
[3] S3C6410X user manual[M].Samsung Electronics,2008.
[4] Jian Yang.The research and implement of the technology of power management on embedded system[D].Beijing:North China University of Technology,2012.(in Chinese)
[5] Chu Shuai,Du Jiang,Cai Chang,et al.Design of portable terminal power management system based on ARM[J].E-lectronic and Electro-optical Systems,2011,36(1):56-59.(in Chinese)
[6] Pouwelse J,Langendoen K,Sips H.Dynamic voltage scaling on a low-power microprocessor[J].ACM SIGMOBILE,2001,7:251-259.
[7] Li Lin-gong.Low power consumption design for embedded system[J].Application Research of Computers,2004,31(2):177-180.(in Chinese)
[8] Power management in portable ARM based systems accelent systems[M].Cliff Brake,2002.
[9] Xiao Kun.The unified driver framework research and implementation of embedded systems on cross-platform[D].Chengdu:University of Electronic Science and Technology of China,2008.(in Chinese)
附中文參考資料:
[1] 邢向磊,周余,都思丹.基于嵌入式Linux系統(tǒng)的電源管理軟件[J].計算機工程,2010,36(1):253-255.
[2] 汪兵.Windows CE嵌入式高級編程及其實例詳解[M].北京:中國水利水電出版社,2008.
[4] 簡陽.嵌入式系統(tǒng)電源管理關(guān)鍵技術(shù)研究與實現(xiàn)[D].北京:北方工業(yè)大學(xué),2012.
[5] 褚?guī)洠沤?,蔡昌,?基于ARM便攜式終端電源管理系統(tǒng)設(shè)計[J].電光系統(tǒng),2011,36(1):56-59.
[7] 李林功.嵌入式系統(tǒng)的低功耗設(shè)計[J].計算機應(yīng)用研究,2004,31(2):177-180.
[9] 肖堃.嵌入式系統(tǒng)跨平臺統(tǒng)一驅(qū)動框架技術(shù)研究與實現(xiàn)[D].成都:電子科技大學(xué),2008.