freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于stm32的嵌入式操作系統(tǒng)程序設(shè)計(jì)及實(shí)現(xiàn)本科畢業(yè)論文-全文預(yù)覽

  

【正文】 efine TOUCH_TASK_Prio 7define START_TASK_Prio 10//任務(wù)堆棧OS_STK TASK_LED1_STK[LED_STK_SIZE]。本人認(rèn)真進(jìn)行了課題的研究并完成了本論文,由于作者水平有限,論文中可能仍有錯(cuò)誤和不足之處,敬請(qǐng)大家批評(píng)指正。在實(shí)際應(yīng)用中可以根據(jù)需要裁減和優(yōu)化。該系統(tǒng)一方面實(shí)現(xiàn)了單個(gè) IO 口和多人 IO口的組合輸入輸出控制,采用模塊化設(shè)計(jì)思想,具有代表性。C/OSII 時(shí)間管理函數(shù),任務(wù)管理函數(shù)的靈活應(yīng)用。現(xiàn)象如圖 圖 實(shí)物現(xiàn)象武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙18結(jié) 語(yǔ)本文完成基于 32 位 ARMv7 微處理器 CortexM3 和嵌入式實(shí)時(shí)操作系統(tǒng)181。為調(diào)試方便,將產(chǎn)生調(diào)試中間信息的復(fù)選框也選中。工程框架如下圖 :其次,對(duì) 里面定義 OS_TICKS_PER_SEC 的值為 200,也就是設(shè)置181。 181。C/OSII的核心源碼,我們不需要做任何變動(dòng)。C/OSII CONFIG三個(gè)分組,分別添加181。C/OSII源碼分為三個(gè)文件夾:CORE、PORT和CONFIG) 。C/OSII里面創(chuàng)建6個(gè)任務(wù):開(kāi)始任務(wù)、LED0、LED觸摸屏,KEY 按鍵任務(wù)和LCD顯示任務(wù),開(kāi)始任務(wù)用于創(chuàng)建其他(LED0、LED1 、紅處接收、按鍵和LCD顯示)任務(wù),之后掛起;LED0任務(wù)用于控制DS0的亮滅,DS0 每秒鐘亮800ms; LED1任務(wù)用于控制DS1的亮滅,DS1 亮300ms,滅300ms,依次循環(huán);觸摸屏任務(wù)用于手寫輸入,并立即顯示;LCD顯示任務(wù)用于顯示圖形,和接收紅外信號(hào)信息顯示出來(lái);KEY按鍵任務(wù)分別使屏進(jìn)入校準(zhǔn)功能,以及顯示歡迎界面。武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙14圖 最小系統(tǒng) LCD 接口顯示電路使用的是 寸的 TFT 液晶顯示器,該顯示器有 16 位的數(shù)據(jù)口和5 位的控制端口。 這里 STM32 的 VBAT 采用CR1220 紐扣電池和 混合供電的方式,在有外部電源()的時(shí)候,CR1220 不給 VBAT 供電,而在外部電源斷開(kāi)的時(shí)候,則由 CR1220 給VBAT 供電。使用的時(shí)候,不受到 PL2303 的影響。P2 連接了 DS18B20 的數(shù)據(jù)口以及紅外傳感器的數(shù)據(jù)線,它們分別對(duì)應(yīng)著 PA0 和 PA1,只需要 19 通過(guò)跳線帽將 P2和 P3 連接起來(lái)就可以使用了。BOOT1 用于設(shè)置 STM32 的啟動(dòng)方式,其對(duì)應(yīng)啟動(dòng)模式如表 所示:表 BOOT0、BOOT1 啟動(dòng)模式表BOOT0 BOOT1 啟動(dòng)模式 說(shuō)明0 X 用戶閃存存儲(chǔ)器 用戶閃存存儲(chǔ)器,也就是 FLASH 啟動(dòng)1 0 系統(tǒng)存儲(chǔ)器 系統(tǒng)存儲(chǔ)器啟動(dòng),用于串口下載1 1 SRAM 啟動(dòng) SRAM 啟動(dòng),用于在 SRAM 中調(diào)試代碼按照表 ,一般情況下如果我們想用用串口下載代碼,則必須配置BOOT0 為 1,BOOT1 為 0,而如果想讓 STM32 一按復(fù)位鍵就開(kāi)始跑代碼,則需要配置 BOOT0 為 0,BOOT1 隨便設(shè)置都可以。128K FLASH、20K SRAM、2 個(gè) SPI、3 個(gè)串口、1 個(gè) USB 、1 個(gè) CAN、2 個(gè) 12 位的 ADC、RTC 、51 個(gè)可用 IO腳回到“畢業(yè)設(shè)計(jì) ”文件夾中,把系統(tǒng) SYSTEM 文件夾(delay,sys,usart 文件夾)復(fù)制過(guò)來(lái),再建立 main 和 hardware 文件夾用于主函數(shù)和各外設(shè)資源函數(shù)。 keil4 工程建立以及仿真方法(1)新建工程。整個(gè)移植的過(guò)程非常容易。 // R5 *(stk) = (INT32U)0x00000000L。 // R9 *(stk) = (INT32U)0x00000000L。 // R1 *(stk) = (INT32U)p_arg。 // R14 (LR) *(stk) = (INT32U)0x00000000L。 //防止編譯器報(bào)錯(cuò) stk = ptos。這個(gè)函數(shù)首先將用戶為任務(wù)分配的堆棧頂?shù)刂焚x值給一個(gè)棧指針變量,然后再通過(guò)這個(gè)棧指針向任務(wù)的??臻g寫入初值。 OSTimeTickHook ()。 OSTaskStatHook ()。 OSInitHookEnd ()。 // 設(shè)置運(yùn)行的任務(wù)控制塊為最高 //就緒任控制塊務(wù) PSP = OSTCBHighRdyOSTCBStkPtr。具體的PendSV服務(wù)程序的偽代碼如下: OS_CPU_PendSVHandler : // 進(jìn)入異常,處理器自動(dòng)保存R3R0,R12,LR,PC 和xPSR if (PSP != NULL) //判斷不是開(kāi)始第一次任務(wù) { 武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙10保存R4R11到任務(wù)的堆棧; OSTCBCurOSTCBStkPtr = SP。OSStartHighRdy()主要完成以下幾項(xiàng)工作: ① 為任務(wù)切換設(shè)置PendSV的優(yōu)先級(jí);② 為第一次任務(wù)切換設(shè)置棧指針為0;③ 設(shè)置OSRunning = TRUE,以表明系統(tǒng)正在運(yùn)行;④ 觸發(fā)一次 PendSV,打開(kāi)中斷等待第一次任務(wù)的切換。也就是將狀態(tài)寄存器的內(nèi)容從R0中恢復(fù),然后跳轉(zhuǎn)回去。 OSIntCtxSw()。 OS_CPU_SR_Save()。 void OSIntCtxSw(void)。即定義成如下形式 define OS_STK_GROWTH 1 (4)任務(wù)級(jí)任務(wù)切換 任務(wù)級(jí)任務(wù)切換調(diào)用宏OS_TASK_SW()來(lái)實(shí)現(xiàn)。同時(shí)得注意,在使用這兩個(gè)宏之前,必須定義OS_CPU_SR cpu_sr。一般來(lái)說(shuō),采用方法3來(lái)實(shí)現(xiàn)這兩個(gè)宏。C/OSII為了保證某段代碼的完整執(zhí)行,需要臨時(shí)的關(guān)閉中斷,在這段代碼執(zhí)行完成之后再打開(kāi)中斷。C/OSII定義了一個(gè)堆棧數(shù)據(jù)類型。盡管181。 typedef unsigned int OS_STK。 typedef unsigned int INT32U。 typedef unsigned char INT8U。 (4)處理器支持能夠容納一定量數(shù)據(jù)(可能是幾千字節(jié))的硬件堆棧。 STM32 上移植方法 平臺(tái)需求181。信號(hào)量還可用于表示某事件的發(fā)生,用旗幟符號(hào)表示,符號(hào)旁數(shù)字代表事件已經(jīng)發(fā)武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙7生的次數(shù)。系統(tǒng)初始化時(shí)會(huì)自動(dòng)產(chǎn)生兩個(gè)任務(wù):一個(gè)是空閑任務(wù),它的優(yōu)先級(jí)最低,該任務(wù)僅給一個(gè)整型變量做累加運(yùn)算;另一個(gè)是統(tǒng)計(jì)任務(wù),它的優(yōu)先級(jí)為次低,該任務(wù)負(fù)責(zé)統(tǒng)計(jì)當(dāng)前CPU的利用率。C/OSII中最多可以支持64個(gè)任務(wù),分別對(duì)應(yīng)優(yōu)先級(jí) 0~63,其中0為最高優(yōu)先級(jí)。每個(gè)分區(qū)中包含整數(shù)個(gè)大小相同的內(nèi)存塊,但不同分區(qū)之間的內(nèi)存塊大小可以不同。 內(nèi)存管理在ANSI C中是使用 malloc和free兩個(gè)函數(shù)來(lái)動(dòng)態(tài)分配和釋放內(nèi)存。C/OSII初始化任務(wù)控制塊、事件控制塊、消息隊(duì)列緩沖、標(biāo)志控制塊等數(shù)據(jù)結(jié)構(gòu)的空緩沖區(qū)。C/OSII的服務(wù)之前要先調(diào)用系統(tǒng)初始化函數(shù) OSInit()。C/OSII中的時(shí)鐘節(jié)拍服務(wù)是在ISR中調(diào)用OSTimeTick()實(shí)現(xiàn)的。應(yīng)該在多任務(wù)系統(tǒng)啟動(dòng)后,也就是調(diào)用OSStart()后再開(kāi)啟時(shí)鐘節(jié)拍器。C/OSII發(fā)生了中斷,這樣可以實(shí)現(xiàn)ISR 返回前的任務(wù)調(diào)度。 OSRdyGrp的每一位代表每組任務(wù)是否有進(jìn)入就緒態(tài)的任務(wù)。中斷級(jí)的任務(wù)切換OSIntCtxSw()是在OSIntExt()中調(diào)用的,我們一般在用戶ISR中調(diào)用OSIntExt()以實(shí)現(xiàn)中斷返回前的任務(wù)調(diào)度。任務(wù)級(jí)的任務(wù)切換過(guò)程:①保存當(dāng)前運(yùn)行的任務(wù)的 CPU寄存器值到該任務(wù)的堆棧。而中斷返回前ISR 調(diào)用OSIntExt()函數(shù),該函數(shù)查找就緒表發(fā)現(xiàn)有必要進(jìn)行任務(wù)切換,從而被中斷的任務(wù)進(jìn)入等待狀態(tài),運(yùn)行被激活的高優(yōu)先級(jí)的任務(wù)。181。這樣,當(dāng)任務(wù)重新獲得CPU使用權(quán)時(shí),可以從TCB中獲取任務(wù)切換前的信息,準(zhǔn)確的繼續(xù)運(yùn)行。任務(wù)可以是一個(gè)無(wú)限的循環(huán),也可以在一次執(zhí)行后被操作系統(tǒng)刪除。包含的模塊有任務(wù)管理、任務(wù)調(diào)度、任務(wù)間通信、時(shí)間管理、內(nèi)核初始化等。C/OSII所有的變量和數(shù)據(jù)結(jié)構(gòu),并建立空閑任務(wù)OS_TaskIdle(),這個(gè)任務(wù)總是處于就緒態(tài)。C/OSII的初始化OSInit()、任務(wù)創(chuàng)建、一些任務(wù)通信方法的創(chuàng)建、181。C/OSII 內(nèi)核結(jié)構(gòu)軟件硬件武昌工學(xué)院畢業(yè)論文(設(shè)計(jì))專用稿紙4通信,以配合實(shí)現(xiàn)應(yīng)用系統(tǒng)的功能。C/OSII 提供的系統(tǒng)服務(wù)進(jìn)行應(yīng)用軟件(用戶代碼)181。C/OSII 各模塊的基本功能 181。(4)結(jié)語(yǔ)。主要介紹 181。主要介紹了開(kāi)題的背景和研究意義,以及 181。C/OSII 下的移植、啟動(dòng)、測(cè)試和功能實(shí)現(xiàn)等。C/OSII 移植到 STM32,建立了嵌入式操作系統(tǒng)研究及 181。C/OSII 上進(jìn)行嵌入式操作系統(tǒng)的移植和功能實(shí)現(xiàn)。據(jù)調(diào)查,目前國(guó)際上已有兩百多種嵌入式操作系統(tǒng),而各種各樣的開(kāi)發(fā)工具、應(yīng)用于嵌入式開(kāi)發(fā)的儀器設(shè)備更是不可勝數(shù)。今天嵌入式系統(tǒng)帶來(lái)的工業(yè)年產(chǎn)值已超過(guò)了1萬(wàn)億美元,1997年來(lái)自美國(guó)嵌入式系統(tǒng)大會(huì)(Embedded System Conference) 的報(bào)告指出,未來(lái) 5年僅基于嵌入式計(jì)算機(jī)系統(tǒng)的全數(shù)字電視產(chǎn)品,就將在美國(guó)產(chǎn)生一個(gè)每年1500億美元的新市場(chǎng)。與此同時(shí)在大學(xué)電類相關(guān)的工科單片機(jī)教學(xué)中,依然是經(jīng)典的51,微機(jī)原理依然是8086/88,這顯然體現(xiàn)不了最新的技術(shù)特征,造成了大學(xué)教育與實(shí)際社會(huì)需要的脫節(jié)。 國(guó) 內(nèi) 外 研 究 狀 況 綜 述嵌入式系統(tǒng)是繼IT 網(wǎng)絡(luò)技術(shù)之后,又一個(gè)新的技術(shù)發(fā)展方向。對(duì)于任務(wù)較多而且復(fù)雜的情況我們就要引入實(shí)時(shí)操作系統(tǒng)RTOS。C/OSII廣泛的應(yīng)用于控制系統(tǒng)中,如在衍射儀高壓控制系統(tǒng)中使用181。C/OSII的源代碼90%以上是用 C語(yǔ)言編寫的,可以很容易地把它移植到各類8位、16位和32位處理器上。除了有上面的優(yōu)點(diǎn)外,181。 181。C/OSII transplantation. Finally, on the 181。C/OSII transplantation to STM32 can play its efficient performance, thus in social production and create a lot of useful and affordable electronic product, bring convenience to our lives. This article main research content is 181。(3)應(yīng)用程序設(shè)計(jì)優(yōu)先級(jí)分配要合理,硬件平臺(tái)初始化模塊化處理。主要研究結(jié)論如下:(1)181。首先,對(duì) 181。而基于CortexM3 架構(gòu)下的 STM32 是一款性價(jià)比優(yōu)越新型微處理器,將 181。因本畢業(yè)論文(設(shè)計(jì))引起的法律結(jié)果完全由本人承擔(dān)。對(duì)本論文(設(shè)計(jì))的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。C/OSII是高效、穩(wěn)定、可靠、節(jié)能的系統(tǒng),廣泛應(yīng)用安防,消費(fèi)電子中。C/OSII 操作系統(tǒng)理論分析、移植方法、應(yīng)用程序設(shè)計(jì)及調(diào)試仿真實(shí)現(xiàn)。C/OSII 上開(kāi)發(fā) LCD,LED ,按鍵 KEY 等應(yīng)用程序,并對(duì)多任務(wù)系統(tǒng)調(diào)試分析。C/OSII 移植主要在 , 三個(gè)文件中,涉及到數(shù)據(jù)類型、堆棧、中斷定義和任務(wù)切換等。C/OSII is efficient, stable, reliable, energy saving system, widely used in the security, and consumer electronics. And based on the STM32 architecture CortexM3 framework is a superior costeffective new microprocessor, 181。 Second, analysis of STM32 hardware platform and the demand 181。C/OSII transplantation mainly in , f
點(diǎn)擊復(fù)制文檔內(nèi)容
外語(yǔ)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1