• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于嵌入式操作系統(tǒng)的應(yīng)用軟件設(shè)計(jì)

      2018-06-07 08:59張騰
      科教導(dǎo)刊·電子版 2018年7期
      關(guān)鍵詞:嵌入式操作系統(tǒng)

      張騰

      摘 要 本文介紹了多任務(wù)操作系統(tǒng)如何進(jìn)行嵌入式的應(yīng)用軟件設(shè)計(jì),給出了進(jìn)行多任務(wù)操作的具體方法,并對(duì)該方法如何在與熱敏打印相關(guān)的軟件進(jìn)行應(yīng)用,進(jìn)行了介紹,通過多任務(wù)操作,嵌入式軟件提高了應(yīng)用的實(shí)時(shí)性,增強(qiáng)了軟件的可移植性,提升了軟件的開發(fā)效率,縮短了軟件的開發(fā)周期。

      關(guān)鍵詞 嵌入式操作系統(tǒng) 熱敏打印 RTOS

      中圖分類號(hào):TP316.2 文獻(xiàn)標(biāo)識(shí)碼:A

      1嵌入式操作系統(tǒng)的多任務(wù)操作

      嵌入式操作系統(tǒng) C/OS的應(yīng)用,可以解決熱敏打印的設(shè)計(jì)之中,CPU如何進(jìn)行多任務(wù)處理,解決加熱耗時(shí)的問題。完善 C/OS系統(tǒng)可以提升開發(fā)效率,增強(qiáng)軟件的實(shí)時(shí)性。實(shí)時(shí)的多任務(wù)操作系統(tǒng)中,很大一部分為嵌入式操作系統(tǒng),該種系統(tǒng)與傳統(tǒng)定義的操作系統(tǒng)有差異。常見的打印機(jī)數(shù)據(jù)操作系統(tǒng)都是多任務(wù)的操作系統(tǒng),通過多任務(wù)的方法可以方便軟件的設(shè)計(jì),同時(shí)由于嵌入式系統(tǒng)也具備操作軟件的功能,因此在軟件設(shè)計(jì)的時(shí)候就可以在此基礎(chǔ)之上進(jìn)行多任務(wù)程序的應(yīng)用。嵌入式操作系統(tǒng)可以對(duì)嵌入式系統(tǒng)中的全部硬件和軟件資源進(jìn)行調(diào)度分配,同時(shí)還可以進(jìn)行并發(fā)工作,在滿足系統(tǒng)特性的基礎(chǔ)上,通過拆裝某些模塊可以提升系統(tǒng)的性能,與常見的操作系統(tǒng)相比較,嵌入式系統(tǒng)具有如下不同點(diǎn)。

      第一,嵌入式操作系統(tǒng)的移植性強(qiáng),體積小,占用硬件資源少。第二,系統(tǒng)具有實(shí)時(shí)性的特點(diǎn),可以進(jìn)行卸載和裝載。第三,系統(tǒng)可以固化代碼,因而具有很強(qiáng)的穩(wěn)定性。雖然當(dāng)前已經(jīng)出現(xiàn)了個(gè)人開發(fā)的嵌入式操作系統(tǒng),例如JEAN J. LABROSSE開發(fā)的 C/OS,但是當(dāng)前大多數(shù)嵌入式系統(tǒng)都是商業(yè)內(nèi)核的,常見的有PSOSystem、VxWorks和Nucleu等。本文所選用的嵌入式系統(tǒng)是 C/OS,因?yàn)樵撓到y(tǒng)是完全公開的免費(fèi)內(nèi)核,該系統(tǒng)的設(shè)計(jì)人員可以在應(yīng)用該系統(tǒng)的過程中按照自己的需求對(duì)該內(nèi)核的內(nèi)容進(jìn)行擴(kuò)展或壓縮,實(shí)現(xiàn)不同應(yīng)用軟件的功能需求。 C/OS支持多功能的是實(shí)時(shí)內(nèi)核,可以進(jìn)行多任務(wù)操作,并且每個(gè)任務(wù)都有單獨(dú)的棧。該系統(tǒng)的服務(wù)內(nèi)容也比較多,例如內(nèi)存申請(qǐng)和釋放、消息列表、郵箱等,并且支持255層的嵌套中斷。由于該系統(tǒng)功能強(qiáng)大,代碼簡(jiǎn)潔,近年來已經(jīng)在嵌入式操作系統(tǒng)當(dāng)中得到了廣泛應(yīng)用。

      2嵌入式操作系統(tǒng)佮進(jìn)行軟件設(shè)計(jì)

      運(yùn)用嵌入式操作系統(tǒng)進(jìn)行系統(tǒng)軟件設(shè)計(jì),根據(jù)具體的操作要求設(shè)置操作步驟,可以提升軟件的實(shí)時(shí)性,強(qiáng)化軟件的可移植性,減少軟件開發(fā)時(shí)間。在進(jìn)行嵌入式操作系統(tǒng)的設(shè)計(jì)的時(shí)候,需要明確軟件設(shè)計(jì)的一般流程,由于應(yīng)用軟件在硬件之上,因此一致性比較差。在引入了嵌入式操作系統(tǒng)之后,由于應(yīng)用軟件的任務(wù)不能建立在硬件之上,因此應(yīng)用都是建立在嵌入式操作系統(tǒng)之上。嵌入式操作系統(tǒng)在應(yīng)用軟件之中是一個(gè)指揮者的角色,同時(shí)該系統(tǒng)還負(fù)責(zé)和硬件進(jìn)行連通,幫助各系統(tǒng)的運(yùn)轉(zhuǎn),盡管CPU是按照順序進(jìn)行嵌入式操作的,但設(shè)計(jì)軟件的時(shí)候還是需要?jiǎng)澐秩蝿?wù),根據(jù)軟件設(shè)計(jì)的需求將操作系統(tǒng)初始化。

      以 C/OS操作系統(tǒng)為基礎(chǔ),在該系統(tǒng)上設(shè)計(jì)應(yīng)用軟件首先需要根據(jù)系統(tǒng)的功能對(duì)任務(wù)進(jìn)行劃分,確定具體任務(wù)的個(gè)數(shù),明確各任務(wù)的優(yōu)先級(jí)別,選擇信號(hào)和功能的時(shí)候需要注意任務(wù)之間的通訊。同時(shí),需要根據(jù)程序的要求確認(rèn)各種任務(wù)所需要的堆棧的容量,關(guān)注代碼存儲(chǔ)機(jī)和數(shù)據(jù)存儲(chǔ)機(jī)的容量,在應(yīng)用該系統(tǒng),選擇該系統(tǒng)的操作模式的時(shí)候,還需要選擇儲(chǔ)存模式。最后,在軟件設(shè)計(jì)完成之后,需要根據(jù)任務(wù)程序設(shè)計(jì)代碼服務(wù)和中斷服務(wù)。下面介紹如何利用該系統(tǒng)設(shè)計(jì)熱敏打印機(jī)的應(yīng)用軟件。

      3熱敏打印機(jī)的應(yīng)用軟件設(shè)計(jì)

      3.1熱敏打印機(jī)的功能

      熱敏打印機(jī)屬于特殊的打印機(jī),由于我國(guó)的生產(chǎn)工藝落后,微型打印機(jī)生產(chǎn)廠商會(huì)選擇國(guó)外進(jìn)口熱敏打印機(jī)的打印頭,配上自己設(shè)計(jì)的單片機(jī)控制板組成熱敏打印機(jī)。打印機(jī)的軟件結(jié)構(gòu)通常都是多任務(wù)的結(jié)構(gòu),通過各種不同方法可以設(shè)置不同的任務(wù)階段,設(shè)置不同的程序,由于 C/OS系統(tǒng)是一種具備各種管理功能的系統(tǒng),因此在程序設(shè)計(jì)的過程中可以直接在系統(tǒng)當(dāng)中進(jìn)行挑選簡(jiǎn)化。本文所要介紹的熱敏打印機(jī)實(shí)現(xiàn)應(yīng)用步驟的方法就是 C/OS系統(tǒng)的具體應(yīng)用過程,在該系統(tǒng)中體現(xiàn)了嵌入式操作系統(tǒng)的優(yōu)越性。在熱敏打印機(jī)實(shí)現(xiàn)功能的操作中,首先從上位機(jī)接受信息,對(duì)數(shù)據(jù)進(jìn)行處理,控制打印機(jī)的打印頭進(jìn)行打印。打印機(jī)的處理過程中,CPU主要有如下幾個(gè)任務(wù)。

      第一,接收上位機(jī)傳輸?shù)男畔?,并存?chǔ)信息至緩沖區(qū)域。第二,將緩沖的信息進(jìn)行讀取并處理,如果信息是命令則進(jìn)行操作,如果信息是字符,則轉(zhuǎn)化為點(diǎn)陣存儲(chǔ)在緩沖區(qū)。第三,將打印緩沖區(qū)的數(shù)據(jù)傳輸?shù)酱蛴☆^,控制打印機(jī)走紙,檢查打印機(jī)的狀態(tài),預(yù)熱打印機(jī)。上述三個(gè)任務(wù)只是基本任務(wù),除此之外上一級(jí)還需要根據(jù)不同任務(wù),選擇其他功能,例如檢測(cè)打印頭是否過熱、打印壓桿是否下壓、檢查打印機(jī)是否缺紙。

      3.2熱敏打印的軟件功能

      熱敏打印機(jī)軟件所要實(shí)現(xiàn)的功能可以粗略的概括為數(shù)據(jù)分析和打印控制,根據(jù)打印機(jī)的結(jié)構(gòu)特點(diǎn)和作業(yè)流程,大致切換步驟主要有數(shù)據(jù)切換和信息收集兩個(gè)過程。完成打印功能分析之后,需要設(shè)計(jì)軟件功能,分別設(shè)計(jì)各個(gè)任務(wù)的流程。熱敏打印機(jī)需要實(shí)現(xiàn)數(shù)據(jù)接收、數(shù)據(jù)處理和數(shù)據(jù)打印三個(gè)步驟。按照基礎(chǔ)設(shè)計(jì)方法,需要將各流程按照順序連接起來,但熱敏打印機(jī)卻不適合這樣操作。由于熱敏打印機(jī)需要進(jìn)行加熱,在加熱的過程中,需要等待加熱完成,因此會(huì)有時(shí)間間隔。普通的字符點(diǎn)行有24個(gè),每個(gè)都需要一定時(shí)間,這樣就拉長(zhǎng)了打印速度。同時(shí)熱敏打印機(jī)對(duì)于實(shí)時(shí)性的要求過高,如果系統(tǒng)運(yùn)轉(zhuǎn)緩慢則會(huì)導(dǎo)致調(diào)度不合理,導(dǎo)致打印過程出現(xiàn)錯(cuò)亂。因此簡(jiǎn)單的進(jìn)行程序設(shè)計(jì)無法滿足應(yīng)用需求。

      3.3 C/OS系統(tǒng)的設(shè)計(jì)方法

      為了提升打印的效率,可以將打印流程拆分成幾個(gè)不同的任務(wù),目的是為了適應(yīng)多任務(wù)的環(huán)境,讓處理器在多任務(wù)的情況下進(jìn)行調(diào)配,該設(shè)計(jì)需要設(shè)計(jì)師的技巧和經(jīng)驗(yàn)。程序需要進(jìn)行不斷切換,運(yùn)用何種程序需要不斷進(jìn)行考慮,因此軟件設(shè)計(jì)過程較復(fù)雜,也會(huì)導(dǎo)致長(zhǎng)期運(yùn)行不穩(wěn)定,因此引入 C/OS系統(tǒng)是一種高效的設(shè)計(jì)方法。

      3.4通過 C/OS系統(tǒng)設(shè)計(jì)打印機(jī)軟件

      由于打印機(jī)軟件是一種多任務(wù)的軟件,因此需要應(yīng)用多任務(wù)實(shí)時(shí)運(yùn)行的方法設(shè)計(jì)程序。 C/OS系統(tǒng)提供了各種多任務(wù)管理功能,依靠該系統(tǒng)進(jìn)行基礎(chǔ)設(shè)計(jì)可以滿足多任務(wù)的需要。如果把創(chuàng)建的多任務(wù)大致分為數(shù)據(jù)處理和打印,則根據(jù)打印機(jī)軟件的任務(wù)和打印流程,需要在如下任務(wù)之間進(jìn)行切換。

      第一,從數(shù)據(jù)處理流程進(jìn)入到打印流程,在該種模式下有兩種任務(wù),首先在打印區(qū)緩沖完一個(gè)字符之后,需要啟動(dòng)打印程序,從數(shù)據(jù)處理流程進(jìn)入到打印流程,第二,在數(shù)據(jù)處理的加熱過程中,如果響應(yīng)停止,則需要及時(shí)終止打印流程,數(shù)據(jù)處理流程和打印流程可進(jìn)行數(shù)據(jù)緩沖控制。

      第二,切換到數(shù)據(jù)處理流程,該任務(wù)情況分成兩種任務(wù),首先,在打印機(jī)進(jìn)行加熱的過程中,需要啟動(dòng)定時(shí)裝置,利用加熱的空閑時(shí)間處理數(shù)據(jù),當(dāng)加熱時(shí)間完成之后,從新進(jìn)入到打印流程。其次,如果打印的緩沖還沒有滿足一個(gè)字符的最低要求,可以不進(jìn)行打印機(jī)的加熱,還是進(jìn)行數(shù)據(jù)處理,從打印流程進(jìn)入數(shù)據(jù)處理流程,進(jìn)行數(shù)據(jù)的接受和處理。打印機(jī)處于閑置狀態(tài)的時(shí)候,程序需要等待上位機(jī)的通知。同時(shí),系統(tǒng)如果需要從上位機(jī)取得數(shù)據(jù),則還需要一個(gè)中斷流程,便于進(jìn)行后續(xù)操作。如果外部突發(fā)緊急情況,也需要中斷流程。

      總之,如下三個(gè)任務(wù)是必須進(jìn)行的。任務(wù)一,處理打印產(chǎn)生的緩沖數(shù)據(jù),對(duì)上位機(jī)傳來的任務(wù)進(jìn)行解讀。任務(wù)二,將緩沖區(qū)的數(shù)據(jù)傳輸?shù)綗崦舸蛴☆^,并對(duì)電機(jī)進(jìn)行控制,方便打印頭隨時(shí)處理數(shù)據(jù)。任務(wù)三,如果發(fā)生了異常處理任務(wù),例如打印頭過熱,則需要及時(shí)運(yùn)行中斷任務(wù)。

      在任務(wù)運(yùn)轉(zhuǎn)的過程中,任務(wù)的優(yōu)先級(jí)別是不同的,第三個(gè)任務(wù)最優(yōu)先,如果出現(xiàn)了異常情況,則需要將任務(wù)中斷。通常,任務(wù)三一直處于等待狀態(tài)。任務(wù)二比任務(wù)一有難度,如果打印緩沖區(qū)有一個(gè)字符,則需要優(yōu)先執(zhí)行任務(wù)二,在執(zhí)行任務(wù)二進(jìn)行打印機(jī)加熱的過程中,需要啟動(dòng)定時(shí)器,中斷任務(wù)二,此時(shí)任務(wù)二處于等待狀態(tài)。如果任務(wù)二中斷,則 C/OS系統(tǒng)會(huì)調(diào)整任務(wù)一進(jìn)入運(yùn)轉(zhuǎn),進(jìn)行數(shù)據(jù)的處理和接受。如果加熱過程中,服務(wù)器收到信號(hào),表明任務(wù)二可以進(jìn)行運(yùn)行,則此時(shí)系統(tǒng)運(yùn)行任務(wù)二。如果任務(wù)二運(yùn)行,則是因?yàn)榇蛴【彌_區(qū)的數(shù)據(jù)不滿一個(gè)字符,如果任務(wù)一運(yùn)行,則是沒有異常發(fā)生,同時(shí)任務(wù)二在等待,此時(shí)任務(wù)一處理數(shù)據(jù)。

      需要關(guān)注的是,如果任務(wù)二處于運(yùn)行狀態(tài),則如果任務(wù)二中斷,就意味著任務(wù)二和任務(wù)三同時(shí)中斷,中斷任務(wù)二所產(chǎn)生的一系列效果,意味著控制電機(jī)中斷,同時(shí)控制加熱時(shí)間。加熱時(shí)間由于是基礎(chǔ)加熱時(shí)間,一個(gè)一定時(shí)間中斷,另一個(gè)進(jìn)行補(bǔ)償。基準(zhǔn)加熱時(shí)間是加熱的最短時(shí)間,大約三微秒,在 C/OS系統(tǒng)進(jìn)行任務(wù)切換中完成,之后執(zhí)行其他任務(wù)。基準(zhǔn)加熱完成之后,由于打印頭的情況不同,會(huì)接著進(jìn)行補(bǔ)償加熱,補(bǔ)償加熱的時(shí)間各有不同,因任務(wù)而異。通常補(bǔ)償加熱之后會(huì)進(jìn)行下一點(diǎn)的加熱,過程和程序都和之前的過程相同。加熱頭的加熱可以設(shè)置成一個(gè)單獨(dú)的任務(wù),如果任務(wù)二執(zhí)行完畢,則可以切換到其他任務(wù),由于加熱過程比較復(fù)雜,需要進(jìn)行經(jīng)常切換,雖然浪費(fèi)時(shí)間,但是并不加重系統(tǒng)負(fù)擔(dān),由于兩個(gè)任務(wù)和過程聯(lián)系密切,因此將其加入任務(wù)二較為合理。

      進(jìn)行完各種程序的中斷編程之后,可以建立打印作業(yè)工程的程序。第一,將出程序相關(guān)的硬件初始化,對(duì) C/OS系統(tǒng)進(jìn)行重新定義,接著需要對(duì)各種程序進(jìn)行激活,最后啟動(dòng)多任務(wù)操作。需要關(guān)注的是,由于嵌入式系統(tǒng)控制軟件的要求較高,在工程設(shè)計(jì)過程中需要根據(jù)硬件來對(duì)軟件進(jìn)行適當(dāng)調(diào)整,如果嵌入式操作系統(tǒng)設(shè)計(jì)不合理會(huì)導(dǎo)致系統(tǒng)出現(xiàn)一定損耗,因此在設(shè)計(jì)程序的過程中就應(yīng)當(dāng)考慮到系統(tǒng)損耗的問題。在程序設(shè)計(jì)的過程中,需要利用 C/OS系統(tǒng)對(duì)程序?qū)崿F(xiàn)控制,除了中斷堆棧的任務(wù)之外,任何任務(wù)都有自己的堆棧,如果任務(wù)發(fā)生了中斷,則各個(gè)堆棧都會(huì)保存各自的值。由于參數(shù)的傳遞也會(huì)產(chǎn)生布局堆棧,因此在進(jìn)行設(shè)計(jì)的過程中需要根據(jù)任務(wù)情況,在滿足實(shí)際需求之后,適當(dāng)?shù)臄U(kuò)大堆棧。如果資源比較緊張,則在調(diào)試的過程中,就應(yīng)當(dāng)嘗試縮小堆棧的容量。同時(shí)考慮到熱敏打印機(jī)的字庫(kù)因素,適合選用大存儲(chǔ)的方法。

      4結(jié)論

      嵌入式操作系統(tǒng)的基礎(chǔ)是計(jì)算機(jī)技術(shù),通過系統(tǒng)之中應(yīng)用軟件的設(shè)計(jì),可以對(duì)系統(tǒng)的功能和體積進(jìn)行編排。由于 C/OS系統(tǒng)具有可靠、成本低、體積小和功耗低的特點(diǎn),因此經(jīng)常被熱敏電機(jī)所選用。嵌入式操作系統(tǒng) C/OS的引入,可以解決熱敏打印機(jī)控制軟件設(shè)計(jì)當(dāng)中,CPU打印頭加熱出現(xiàn)空閑的情況,提升系統(tǒng)的實(shí)用性能。由于使用了 C/OS系統(tǒng)之后,可以提供給用戶完善的管理功能,同時(shí)可以節(jié)省軟件開發(fā)時(shí)間,提升軟件開發(fā)的效果,強(qiáng)化軟件的可用性。同時(shí)為了實(shí)現(xiàn)軟件的結(jié)構(gòu)化,就需要提升系統(tǒng)的可移植性和可讀性。

      參考文獻(xiàn)

      [1] 屈鵬.基于ARM和Linux的嵌入式智能家居網(wǎng)絡(luò)視頻監(jiān)控[D].天津:天津理工大學(xué),2017.

      [2] 張霖澤.基于嵌入式系統(tǒng)的視頻編解碼與傳輸技術(shù)研究[D].南京:南京理工大學(xué),2017.

      [3] 李東方.面向嵌入式系統(tǒng)的PUF輔助安全研究[D].武漢:華中科技大學(xué),2015.

      猜你喜歡
      嵌入式操作系統(tǒng)
      典型實(shí)時(shí)嵌入式操作系統(tǒng)應(yīng)用分析
      FATFS在嵌入式操作系統(tǒng)FreeRTOS中的移植與應(yīng)用
      基于嵌入式操作系統(tǒng)的工業(yè)采集板設(shè)計(jì)
      應(yīng)用服務(wù)型人才培養(yǎng)體系下的嵌入式操作系統(tǒng)教學(xué)改革探索
      兼容多種通信方式的智能網(wǎng)關(guān)軟件設(shè)計(jì)
      計(jì)算機(jī)嵌入式操作系統(tǒng)研究
      阿拉尔市| 平阴县| 孟津县| 平顶山市| 阳谷县| 青州市| 独山县| 南乐县| 澄迈县| 项城市| 浮梁县| 乌拉特后旗| 麻城市| 宣威市| 南康市| 太康县| 保山市| 南投市| 上饶市| 石楼县| 肇庆市| 黑龙江省| 绥滨县| 涪陵区| 山西省| 定陶县| 马公市| 松江区| 资源县| 房山区| 乐清市| 屏东市| 德江县| 商都县| 老河口市| 隆安县| 六盘水市| 衡南县| 黄龙县| 西安市| 崇信县|