下載本文檔
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Linux看門(mén)狗管理及在DM8168芯片上的應(yīng)用研究引 言隨著智能終端及挪動(dòng)互聯(lián)網(wǎng)的開(kāi)展,Linux系統(tǒng)被應(yīng)用到越來(lái)越多的嵌入式設(shè)備中,如挪動(dòng)通信基站、Android(基于Linux內(nèi)核)智能、智能手環(huán)等。不同領(lǐng)域的應(yīng)用都對(duì)Android/Linux系統(tǒng)的可靠性及可用性有嚴(yán)格的要求。在嵌入式系統(tǒng)中,CPU必須可靠工作,即使因?yàn)槟撤N錯(cuò)誤或異常進(jìn)入錯(cuò)誤狀態(tài),系統(tǒng)應(yīng)該可以自動(dòng)復(fù)位,看門(mén)狗也可以在系統(tǒng)進(jìn)入錯(cuò)誤狀態(tài)后的一段時(shí)間內(nèi)重啟復(fù)位,以實(shí)現(xiàn)系統(tǒng)自動(dòng)從故障恢復(fù)。1 看門(mén)狗的概念看門(mén)狗是一個(gè)進(jìn)展累加計(jì)數(shù)的定時(shí)器,在其啟動(dòng)后,假設(shè)在設(shè)定的時(shí)間間隔內(nèi)對(duì)定時(shí)器清零(俗稱(chēng)喂狗操作),定時(shí)器就不會(huì)溢出,也不會(huì)產(chǎn)生
2、復(fù)位信號(hào);假設(shè)在設(shè)定的時(shí)間間隔內(nèi),沒(méi)有對(duì)定時(shí)器清零,定時(shí)器就會(huì)溢出產(chǎn)生復(fù)位信號(hào),從而實(shí)現(xiàn)系統(tǒng)重啟。根據(jù)實(shí)現(xiàn)方式的不同,可以分為硬件看門(mén)狗和軟件看門(mén)狗。硬件看門(mén)狗是利用定時(shí)器電路實(shí)現(xiàn),其輸出連接到電路的復(fù)位端,程序在設(shè)定間隔內(nèi)對(duì)定時(shí)器清零。因此程序正常工作時(shí),定時(shí)器不會(huì)溢出;假設(shè)程序出現(xiàn)故障,未能在設(shè)定間隔周期內(nèi)執(zhí)行清零操作,就使得看門(mén)狗定時(shí)器溢出,產(chǎn)生復(fù)位信號(hào)并重啟系統(tǒng)。軟件看門(mén)狗原理上同硬件看門(mén)狗一樣,只是將硬件電路上的定時(shí)器用操作系統(tǒng)內(nèi)部的軟件定時(shí)器代替,這樣可以簡(jiǎn)化硬件電路設(shè)計(jì)。但軟件定時(shí)器在可靠性方面不如硬件定時(shí)器,在一些異常的情形下,比方處理器或操作系統(tǒng)內(nèi)部發(fā)生故障時(shí),會(huì)導(dǎo)致軟件定時(shí)
3、器不可用,也就無(wú)法檢測(cè)到這些故障。2 Linux系統(tǒng)對(duì)看門(mén)狗的支持Linux內(nèi)核從1.3.51版本開(kāi)始提供硬件、軟件看門(mén)狗的驅(qū)動(dòng)支持。隨著內(nèi)核版本不斷更新與開(kāi)展,Linux內(nèi)核對(duì)各種不同類(lèi)型的硬件看門(mén)狗提供了廣泛的支持。根據(jù)訪問(wèn)方式的不同,Linux系統(tǒng)下的設(shè)備驅(qū)動(dòng)程序分為字符設(shè)備及塊設(shè)備??撮T(mén)狗在Linux系統(tǒng)下作為字符設(shè)備來(lái)處理,/dev/watchdog是一個(gè)主設(shè)備號(hào)為10、從設(shè)備號(hào)為130的字符設(shè)備節(jié)點(diǎn)。Linux系統(tǒng)下的硬件看門(mén)狗,必須有硬件電路支持,設(shè)備節(jié)點(diǎn)/dev/watchdog對(duì)應(yīng)著真實(shí)的物理設(shè)備,不同類(lèi)型的硬件看門(mén)狗設(shè)備由相應(yīng)的硬件驅(qū)動(dòng)管理。3 Linux系統(tǒng)下看門(mén)狗的訪問(wèn)
4、前文提到,Linux系統(tǒng)將看門(mén)狗作為一個(gè)字符設(shè)備來(lái)管理。本節(jié)將以TI公司推出的高清視頻處理芯片TMS320DM8168(以下簡(jiǎn)稱(chēng)DM8168)芯片為例,介紹Linux下訪問(wèn)及操作看門(mén)狗的邏輯層次。DM8168芯片將高清多通道系統(tǒng)的所有捕獲、壓縮、顯示以及控制功能整合于同一芯片,芯片內(nèi)部集成了硬件看門(mén)狗,外圍連接電路如圖1所示。硬件看門(mén)狗溢出同時(shí)產(chǎn)生復(fù)位(Reset)及中斷信號(hào)(Interrupt),復(fù)位信號(hào)會(huì)復(fù)位整個(gè)芯片,中斷信號(hào)可以在捕獲到中斷事件后,在中斷處理函數(shù)中增加一些額外的操作(比方將收到的看門(mén)狗溢出中斷的時(shí)間寫(xiě)進(jìn)日志,然后再?gòu)?fù)位等)。4 Linux系統(tǒng)下看門(mén)狗的管理Linux啟動(dòng)過(guò)
5、程依次為U-Boot、內(nèi)核及文件系統(tǒng),最后是應(yīng)用程序啟動(dòng)。在Linux系統(tǒng)啟動(dòng)過(guò)程中,啟用看門(mén)狗可以有效監(jiān)測(cè)系統(tǒng)狀態(tài),假設(shè)異常導(dǎo)致看門(mén)狗溢出,系統(tǒng)會(huì)自動(dòng)復(fù)位以試修復(fù)問(wèn)題,從而進(jìn)步系統(tǒng)的可靠性及強(qiáng)健性。本節(jié)以DM8168開(kāi)發(fā)板為例,介紹Linux各個(gè)啟動(dòng)階段看門(mén)狗的管理。4.1 U-Boot啟動(dòng)階段開(kāi)發(fā)板上電后,執(zhí)行U-Boot的第一條指令,然后順序執(zhí)行U-Boot啟動(dòng)函數(shù)。U-Boot啟動(dòng)內(nèi)核的過(guò)程如下: 硬件設(shè)備初始化。 加載U-Boot第二階段代碼到RAM 空間。 設(shè)置好堆棧,跳轉(zhuǎn)到start_armboot函數(shù)入口。 start armboot是U-Boot執(zhí)行的第一個(gè)C語(yǔ)言函數(shù)。 初始
6、化本階段使用的硬件設(shè)備。 檢測(cè)系統(tǒng)內(nèi)存映射。 將內(nèi)核從Flash讀取到RAM 中。 設(shè)置內(nèi)核啟動(dòng)參數(shù),然后啟動(dòng)硬件看門(mén)狗,通過(guò)訪問(wèn)控制存放器來(lái)實(shí)現(xiàn)。該階段可以設(shè)置看門(mén)狗超時(shí)溢出時(shí)間為120s。以門(mén)狗,以方便用戶(hù)調(diào)試U-Boot、設(shè)置內(nèi)核相關(guān)參數(shù)等信息。 假設(shè)沒(méi)有收到用戶(hù)中斷命令,U-Boot會(huì)拷貝內(nèi)核鏡像并解壓內(nèi)核,開(kāi)始啟動(dòng)內(nèi)核調(diào)用。4.2 內(nèi)核啟動(dòng)階段在U-Boot加載了內(nèi)核之后,系統(tǒng)就進(jìn)入內(nèi)核啟動(dòng)階段,此時(shí),看門(mén)狗的管理控制也要由內(nèi)核來(lái)接收。內(nèi)核啟動(dòng)主要包括內(nèi)核自解壓、注冊(cè)及加載硬件驅(qū)動(dòng)程序、Flash分區(qū)等。在內(nèi)核啟動(dòng)時(shí),內(nèi)核程序會(huì)注冊(cè)硬件看門(mén)狗的驅(qū)動(dòng)程序,并執(zhí)行probe探針函數(shù),此時(shí)
7、,內(nèi)核接收U-Boot階段的看門(mén)狗,即先關(guān)閉看門(mén)狗,然后再重新翻開(kāi)看門(mén)狗,并加載新的超時(shí)時(shí)長(zhǎng);4.3 應(yīng)用程序啟動(dòng)階段文件系統(tǒng)啟動(dòng)后,用戶(hù)的應(yīng)用進(jìn)程也會(huì)開(kāi)始啟動(dòng)。在這個(gè)階段,通常會(huì)創(chuàng)立一個(gè)獨(dú)立的守護(hù)進(jìn)程,來(lái)接收看門(mén)狗。守護(hù)進(jìn)程啟動(dòng)時(shí),首先關(guān)閉內(nèi)核階段啟動(dòng)的看門(mén)狗,并重新啟動(dòng)看門(mén)狗設(shè)置超時(shí)時(shí)長(zhǎng),實(shí)現(xiàn)接收內(nèi)核階段看門(mén)狗的功能。在看門(mén)狗啟動(dòng)后,守護(hù)進(jìn)程可以周期性地進(jìn)展喂狗操作,并通過(guò)心跳的方式同用戶(hù)進(jìn)程通信,在收不到用戶(hù)進(jìn)程的心跳包消息時(shí),即停頓喂狗操作,這樣看門(mén)狗會(huì)超時(shí)溢出導(dǎo)致系統(tǒng)重啟,以進(jìn)展故障修復(fù)。5 DM8168看門(mén)狗的管理除了前文提到的Linux系統(tǒng)下看門(mén)狗的根底管理,DM8168芯片的硬件看門(mén)狗外圍輸出引腳,可以同時(shí)支持Reset和Interrupt信號(hào),功能更加強(qiáng)大。假設(shè)只是期望看門(mén)狗超時(shí)后能重啟復(fù)位板卡,參考前節(jié)提到的方法,依次在Linux啟動(dòng)的各個(gè)階段啟用及管理看門(mén)狗即可,因?yàn)榭撮T(mén)狗的溢出引腳直接連接電源及復(fù)位管理模塊。結(jié) 語(yǔ)本文以TI公司的TMS320DM8168芯片為例,詳細(xì)介紹了Linux系統(tǒng)從U-Boot啟動(dòng)、內(nèi)核啟動(dòng)到文件系統(tǒng)加載及用戶(hù)程序啟動(dòng)過(guò)程中看門(mén)狗的啟用及管理,通過(guò)不同階段管理看門(mén)狗,可以保證系統(tǒng)在任何一
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中英語(yǔ) 課文語(yǔ)法填空 新人教版必修
- 第2章 動(dòng)物體的基本結(jié)構(gòu)與機(jī)能課件
- 學(xué)校公共場(chǎng)所衛(wèi)生管理與監(jiān)督課件
- 安全生產(chǎn)課件下載
- 2024屆山西省太原市六十六中高三一輪摸底數(shù)學(xué)試題
- 第3章 圓的基本性質(zhì) 浙教版數(shù)學(xué)九年級(jí)上冊(cè)綜合測(cè)試卷(含答案)
- 常用的腦筋急轉(zhuǎn)彎及答案
- 5年中考3年模擬試卷初中道德與法治七年級(jí)下冊(cè)第四單元素養(yǎng)綜合檢測(cè)
- 高考語(yǔ)文作文主題講解之 人才評(píng)價(jià)
- 代管保安人員協(xié)議書(shū)
- 關(guān)于實(shí)行特殊工時(shí)工作制的實(shí)施方案樣本
- 小學(xué)六年級(jí)上冊(cè)數(shù)學(xué)期末試卷(附答題卡)
- 過(guò)盈配合壓入力計(jì)算公式
- 城市排水管道深基坑開(kāi)挖專(zhuān)項(xiàng)論證方案
- 工程零星用工結(jié)算單
- 高壓脈沖器材使用、安裝、檢驗(yàn)標(biāo)準(zhǔn)課件
- 魚(yú)香肉絲講解(課堂PPT)
- 裝配式建筑生產(chǎn)企業(yè)匯總
- 全國(guó)性文藝類(lèi)評(píng)獎(jiǎng)獎(jiǎng)項(xiàng)一覽表
- 注塑車(chē)間員工培訓(xùn)
- 水利風(fēng)景區(qū)規(guī)劃(綱要)編制要求
評(píng)論
0/150
提交評(píng)論