公司新聞
軟中斷是通訊進程之間用來模擬硬中斷的 一種信號通訊方式。 中斷源發(fā)中斷請求或軟中斷信號后,CPU或接收進程在適當?shù)臅r機自動進行中斷處理或完成軟中斷信號對應的功能 軟中斷是軟件實現(xiàn)的中斷,也就是程序運行時其他程序對它的中斷;而硬中斷是硬件實現(xiàn)的中斷,是程序運行時設備對它的中斷。
不過,大部分CPU允許通過JMP或CALL這樣的指令間接修改PC,這是uC/OS-II多任務機制的基礎。在該內(nèi)核中,通常使用CALL指令或軟中斷來實現(xiàn)PC的切換,軟中斷是主要手段。然而,對于不支持軟中斷的CPU,需要通過組合使用PUSH和CALL指令來模擬軟中斷的效果。
以后每當發(fā)生任務切換,系統(tǒng)必然會先進入一個中斷,這一般是通過軟中斷或者時鐘中斷實現(xiàn)。然后系統(tǒng)會先把當前任務的堆棧地址保存起來,緊接著恢復要切換的任務的堆棧地址。
因此,嵌入式系統(tǒng)誕生于微型機時代,嵌入式系統(tǒng)的嵌入性本質是將一個計算機嵌入到一個對象體系中去,這些是理解嵌入式系統(tǒng)的基本出發(fā)點。 現(xiàn)代計算機技術的兩大分支 由于嵌入式計算機系統(tǒng)要嵌入到對象體系中,實現(xiàn)的是對象的智能化控制,因此,它有著與通用計算機系統(tǒng)完全不同的技術要求與技術發(fā)展方向。
它一般由以下幾部分組成: 嵌入式微處理器 外圍硬件設備 嵌入式操作系統(tǒng) 特定的應用程序 特點: 應用的特定性和廣泛性 技術、知識、資金的密集性 高效性 較長的生命周期 高可靠性 軟硬一體,軟件為主 無自舉開發(fā)能力 嵌入式系統(tǒng)本身是一個相對模糊的定義。
做應用開發(fā)的人選擇了某個行業(yè),后面是很難換行業(yè)的,選行很重要! 3 操作系統(tǒng)領域 UCOS太簡單,VxWorks太貴太專業(yè),Windows不玩嵌入式了,IOS不開源,所以對于操作系統(tǒng)領域我們也只能玩Linux了。 在嵌入式領域Linux一家獨大! Android呢?Android跟QT一樣,都是一套GUI系統(tǒng)。
嵌入式開發(fā)的學習其實并沒有那么難,只要了解學習的體系,掌握正確的學習方法,學習起來并不難。
1、休眠態(tài)、就緒態(tài)、運行態(tài)、掛起態(tài)、被中斷態(tài)。休眠態(tài):在休眠態(tài)下,任務尚未被激活或已經(jīng)完成,不會被調(diào)度執(zhí)行。任務處于等待某個事件發(fā)生或等待特定條件滿足的狀態(tài)。在這種狀態(tài)下,任務暫時不占用系統(tǒng)資源,以節(jié)省能量和提高系統(tǒng)效率。就緒態(tài):就緒態(tài)表示任務已經(jīng)準備好執(zhí)行,但還未得到CPU的分配。
2、TASK_RUNNING:進程當前正在運行,或者正在運行隊列中等待調(diào)度。TASK_INTERRUPTIBLE:進程處于睡眠狀態(tài),正在等待某些事件發(fā)生。進程可以被信號中斷。接收到信號或被顯式的喚醒呼叫喚醒之后,進程將轉變?yōu)?TASK_RUNNING 狀態(tài)。
3、實時操作系統(tǒng)的工作狀態(tài)任務狀態(tài)包括運行、就緒、掛起和冬眠,每個狀態(tài)代表了任務的不同處理階段。系統(tǒng)通過時間片調(diào)度,確保每個任務按優(yōu)先級獲得CPU訪問權??偟膩碚f,嵌入式系統(tǒng)由處理器、RTOS、多任務管理等元素組成,它們共同決定了系統(tǒng)在實時性、效率和任務管理方面的性能。
4、調(diào)用OSTimeDly可以將當前任務改成等待狀態(tài),設置等待的時間,然后會導致一個系統(tǒng)的內(nèi)核調(diào)用,會產(chǎn)生一個模擬中斷。所以另一個優(yōu)先級最高的,處于ready狀態(tài)的任務會被執(zhí)行;在系統(tǒng)的時鐘中斷中會在等待時間到了之后把任務改成ready狀態(tài)。
5、主要的內(nèi)容有初始化系統(tǒng)硬件的寄存器,初始化CPU及其外圍設備的配置,使之正常運行,把硬件帶入正常的運行環(huán)境。初始化操作系統(tǒng)環(huán)境,把軟件系統(tǒng)帶入正常的環(huán)境。初始化各種驅動程序,為應用軟件準備好執(zhí)行環(huán)境。初始化應用程序的運行環(huán)境。操作系統(tǒng)涉及到很多部分,有很多的細節(jié),概括起來就是這些了。
1、嵌入式系統(tǒng)開發(fā) 1 需求分析與概要設計 2 硬件: 硬件選型、接口設計。 3 軟件: 分為固件和應用程序。 4 開發(fā)過程: 從需求到實現(xiàn)的完整流程。 5 應用程序開發(fā): 代碼編寫與調(diào)試。
2、嵌入式系統(tǒng)開發(fā)流程 系統(tǒng)需求分析:根據(jù)需求,確定設計任務和設計目標,指定設計說明書。體系結構設計:描述系統(tǒng)如何實現(xiàn)所述的功能需求,包括對硬件、軟件和執(zhí)行裝置的功能劃分以及系統(tǒng)的軟件、硬件選型。硬件/軟件協(xié)同設計:基于體系結構的設計結果,對系統(tǒng)的硬件、軟件進行詳細設計。
3、嵌入式開發(fā)中的經(jīng)典問題探討 單片機最小系統(tǒng)構成解析 在嵌入式世界中,單片機最小系統(tǒng)是實現(xiàn)硬件功能的基礎平臺。它由幾個關鍵組件緊密協(xié)作構成:單片機芯片: 這是系統(tǒng)的核心,集成處理器、內(nèi)存、I/O接口和控制邏輯,負責數(shù)據(jù)處理和設備通信。
同步問題 內(nèi)存和寄存器訛誤(corruption)與中斷相關的問題 硬件配置問題 異常情況 同步問題 在任何系統(tǒng)中,只要有多串序線程或者進程都在運行,而且是異步共享數(shù)據(jù),則系統(tǒng)必然存在同步問題。
另外開發(fā)人員在調(diào)試實時事件順序的時候需要記錄、使用簡單的記錄工具。首先遇到這種問題的個人電腦和大型機程序員經(jīng)常在設計優(yōu)先級和可行方法的時候感到困惑。指導、代碼審查和非個人風格(egoless)的編程是值得推薦的。隨著嵌入式系統(tǒng)變得越來越復雜,更高層次的工具和操作系統(tǒng)逐漸移植到可行的設備上。
嵌入式軟件的測試工具用于輔助嵌入式軟件測試的工具很多,下面對幾類比較有用的有關嵌入式軟件的測試工具加以介紹和分析。1內(nèi)存分析工具在嵌入式系統(tǒng)中,內(nèi)存約束通常是有限的。內(nèi)存分析工具用來處理在動態(tài)內(nèi)存分配中存在的缺陷。
軟件系統(tǒng)的調(diào)試 : 軟件調(diào)試一般是指保證硬件一切正常的情況下驗證程序執(zhí)行的時 序是否正確,邏輯和結果是否與設計要求相符,能否滿足功能和性能要求等。各種嵌入式設備都具有功能專一,針對性強的特點。因此其硬件資源不像Pc 機一樣齊 全,所以要在嵌入式設備上建立一套開發(fā)系統(tǒng)是不現(xiàn)實的。