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

正文內(nèi)容

嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告-文庫吧

2024-10-28 18:24 本頁面


【正文】 終端通訊程序。 實(shí)驗(yàn)內(nèi)容及要求Ⅱ內(nèi)核進(jìn)行移植到ARM7微處理器上。,在超級終端上觀察兩個(gè)任務(wù)的切換。 實(shí)驗(yàn)設(shè)計(jì)與實(shí)驗(yàn)步驟,其一是STARTUP 目錄下的系統(tǒng)初始化、配置等文件,其二是uCOSII 的全部源碼,arch 目錄下的3 個(gè)文件是和處理器架構(gòu)相關(guān)的。 中與處理器和編譯器相關(guān)的代碼 語言編寫6 個(gè)操作系統(tǒng)相關(guān)的函數(shù)() 個(gè)與處理器相關(guān)的函數(shù)()。為了使 uCOSII 可以正常運(yùn)行,除了上述必須的移植工作外,硬件初始化和配置文件也是必須的。STARTUP 目錄下的文件還包括中斷處理,時(shí)鐘,串口通信等基本功能函數(shù)。在文件 中給出了應(yīng)用程序的基本框架,包括初始化和多任務(wù)的創(chuàng)建,啟動(dòng)等。任務(wù)創(chuàng)建方法如下:①在程序開頭定義任務(wù)堆棧,任務(wù)函數(shù)聲明和任務(wù)優(yōu)先級 ②在main()函數(shù)中調(diào)用OSStart()函數(shù)之前用下列語句創(chuàng)建任務(wù) ③編寫任務(wù)函數(shù)內(nèi)容 所有的源代碼都準(zhǔn)備好后就可以進(jìn)行編譯了。在ADS 環(huán)境下需要設(shè)置工程的訪問路徑。從菜單Edit | Debug Settings 進(jìn)入設(shè)置對話框,在Target | Access Paths 中選擇User Paths 并選上Always search user paths。然后點(diǎn)Add 按鈕添加路徑ucosii 和arch。這主要是設(shè)置編譯器處理文件包含時(shí)的搜索范圍。按照實(shí)驗(yàn)一的方法可以對編譯后的代碼進(jìn)行調(diào)試或下載到平臺的電子硬盤中。這個(gè)實(shí)驗(yàn)從結(jié)構(gòu)上看和其他的實(shí)驗(yàn)沒有多大區(qū)別??梢栽谄脚_BIOS中激活電子硬盤, 拷貝進(jìn)去,重啟平臺,然后在超級終端上觀察結(jié)果。 實(shí)驗(yàn)過程與分析操作系統(tǒng)相關(guān)的函數(shù):(1)OSTaskStkInit OSTaskCreate()和OSTaskCreateExt()通過調(diào)用OSTaskStkInit()來初始化任務(wù)的堆棧結(jié)構(gòu)。因此,堆??雌饋砭拖駝偘l(fā)生過中斷并將所有的寄存器保存到堆棧中的情形一樣。圖12A2 顯示了OSTaskStkInt()放到正被建立的任務(wù)堆棧中的東西。這里我們定義了堆棧是從上往下 長的。在用戶建立任務(wù)的時(shí)候,用戶傳遞任務(wù)的地址,pdata 指針,任務(wù)的堆棧棧頂和任務(wù)的優(yōu)先級給OSTaskCreate()和OSTaskCreateExt()。一旦用戶初始化了堆棧,OSTaskStkInit()就需要返回堆棧指針?biāo)傅牡刂?。OSTaskCreate()和OSTaskCreateExt()會獲得該地址并將它保存到任務(wù)控制塊(OS_TCB)中。(2)OSTaskCreateHook 當(dāng)用OSTaskCreate()和OSTaskCreateExt()建立任務(wù)的時(shí)候就會調(diào)用OSTaskCreateHook()。該函數(shù)允許用戶或使用移植實(shí)例的用戶擴(kuò)展uCOSII 功能。當(dāng)uCOSII 設(shè)置完了自己的內(nèi)部結(jié)構(gòu)后,會在調(diào)用任務(wù)調(diào)度程序之前調(diào)用OSTaskCreateHook()。該函數(shù)被調(diào)用的時(shí)候中斷是禁止的。因此用戶應(yīng)盡量減少該函數(shù)中的代碼以縮短中斷的響應(yīng)時(shí)間。當(dāng) OSTaskCreateHook()被調(diào)用的時(shí)候,它會收到指向已建立任務(wù)的OS_TCB 的指針,這 樣它就可以訪問所有的結(jié)構(gòu)成員了。函數(shù)原型:void OSTaskCreateHook(OS_TCB *ptcb)(3)OSTaskDelHook 當(dāng)任務(wù)被刪除的時(shí)候就會調(diào)用OSTaskDelHook()。該函數(shù)在把任務(wù)從uCOSII 的內(nèi)部任 務(wù)鏈表中解開之前被調(diào)用。當(dāng)OSTaskDelHook()被調(diào)用的時(shí)候,它會收到指向正被刪除任務(wù) 的OS_TCB 的指針,這樣它就可以訪問所有的結(jié)構(gòu)成員了。OSTaskDelHook()可以來檢驗(yàn)TCB擴(kuò)展是否被建立(一個(gè)非空指針)并進(jìn)行一些清除操作。函數(shù)原型:void OSTaskDelHook(OS_TCB *ptcb)(4)OSTaskSwHook 當(dāng)發(fā)生任務(wù)切換的時(shí)候就會調(diào)用OSTaskSwHook()。OSTaskSwHook()可以直接訪問 OSTCBCur 和OSTCBHighRdy,因?yàn)樗鼈兪侨肿兞?。OSTCBCur 指向被切換出去的任務(wù) OS_TCB,而OSTCBHighRdy 指向新任務(wù)OS_TCB。注意在調(diào)用OSTaskSwHook()期間中斷 一直是被禁止的。因此用戶應(yīng)盡量減少該函數(shù)中的代碼以縮短中斷的響應(yīng)時(shí)間。函數(shù)原型:void OSTaskSwHook(void)(5)OSTaskStatHook OSTaskStatHook()每秒鐘都會被OSTaskStat()調(diào)用一次。用戶可以用OSTaskStatHook()來擴(kuò)展統(tǒng)計(jì)功能。例如,用戶可以保持并顯示每個(gè)任務(wù)的執(zhí)行時(shí)間,每個(gè)任務(wù)所用的CPU 份額,以及每個(gè)任務(wù)執(zhí)行的頻率等。函數(shù)原型:void OSTaskStatHook(void)(6)OSTimeTickHook OSTimeTickHook()在每個(gè)時(shí)鐘節(jié)拍都會被OSTaskTick()調(diào)用。實(shí)際上OSTimeTickHook()是在節(jié)拍被uCOSII 真正處理,并通知用戶的移植實(shí)例或應(yīng)用程序之前被調(diào)用的。函數(shù)原型:void OSTimeTickHook(void) 實(shí)驗(yàn)結(jié)果總結(jié)在超級終端上輸出輪流交替run task1和run task2,表明系統(tǒng)正在不斷交替運(yùn)行2個(gè)任務(wù)。 心得體會在這個(gè)實(shí)驗(yàn)中我們初步了解和測試了實(shí)驗(yàn)的內(nèi)容和源代碼實(shí)驗(yàn)結(jié)果基本上符合預(yù)期的要求。了解了181。C/OSII 內(nèi)核的主要結(jié)構(gòu)和ARM7處理器結(jié)構(gòu),掌握了將181。C/OSII 內(nèi)核移植到ARM 7 處理器上的基本原理與嵌入式編程實(shí)現(xiàn)方法。 實(shí)驗(yàn)名稱各接口模塊相互銜接綜合實(shí)驗(yàn) 實(shí)驗(yàn)?zāi)康睦们?次實(shí)驗(yàn)所學(xué)的知識,綜合設(shè)計(jì)一個(gè)至少含有5個(gè)模塊的實(shí)驗(yàn)。 實(shí)驗(yàn)環(huán)境硬件:ARM 嵌入式開發(fā)平臺、用于ARM7TDMI 的JTAG 仿真器、PC 機(jī)Pentium100 以 上、串口線。軟件:PC 機(jī)操作系統(tǒng)win9Win2000 或WinXP、ARM SDT 集成開發(fā)環(huán)境、仿真器驅(qū)動(dòng)程序、超級終端通訊程序。 實(shí)驗(yàn)內(nèi)容及要求、鍵盤、LED接口、A/D、電機(jī)轉(zhuǎn)動(dòng)、定時(shí)器中斷、LCD接口及觸摸屏驅(qū)動(dòng)控制接口模塊驅(qū)動(dòng)設(shè)計(jì)及開發(fā)方法。,實(shí)現(xiàn)一個(gè)嵌入式綜合應(yīng)用系統(tǒng),要求至少5個(gè)模塊。 實(shí)驗(yàn)設(shè)計(jì)與實(shí)驗(yàn)步驟1.新建工程,添加所需的文件。2.。3.。4.修改鍵盤映射表讓鍵盤上的數(shù)字與LCD與LED屏幕上顯示的數(shù)字相對應(yīng)。5.對輸出在LCD屏幕上的顯示結(jié)構(gòu)進(jìn)行設(shè)計(jì)6.進(jìn)行裁剪和移植功能設(shè)計(jì)和完成。,將文件拷貝至實(shí)驗(yàn)臺內(nèi),重啟實(shí)驗(yàn)臺即可看到實(shí)驗(yàn)效果 實(shí)驗(yàn)過程與分析1.完成10以內(nèi)的加減乘除的計(jì)算功能,通過鍵盤輸入,可在LCD屏幕上顯示輸入的表達(dá)式以及得到的輸出結(jié)果。如“2+3=5”。2.按任務(wù)切換鍵,實(shí)現(xiàn)任務(wù)的切換。3.任務(wù)被切換到播放音樂的任務(wù)中去。4.任務(wù)切換過程將會在串口的超級終端界面有所顯示,同時(shí)我們設(shè)置的將LCD上顯示的結(jié)果同步到超級終端上。實(shí)現(xiàn)串口通信。5.利用到了直流電機(jī),如果運(yùn)算范圍超出我們規(guī)定的運(yùn)算范圍,則電機(jī)轉(zhuǎn)動(dòng),來提示錯(cuò)誤。6.實(shí)現(xiàn)裁剪與移植功能。 實(shí)驗(yàn)結(jié)果總結(jié)在這次實(shí)驗(yàn)中,我們利用前面所學(xué)習(xí)的知識,綜合利用在此次實(shí)驗(yàn)中,我們利用了前面好所學(xué)知識中的6個(gè)模塊,分別是串口通訊,鍵盤控制,LED與LCD的輸出,電機(jī)控制,以及裁剪與移植的功能。通過這些功能的結(jié)合,我們實(shí)現(xiàn)自己所設(shè)計(jì)的實(shí)驗(yàn)的功能。 心得體會在此次實(shí)驗(yàn)中,我們遇到了一些問題但是過程中遇到了不少問題,說明對實(shí)驗(yàn)原理和語句編寫還不是很熟悉。總的來說,通過這段時(shí)間的訓(xùn)練,我也學(xué)會了不少東西,了解了ARM的基本結(jié)構(gòu),功能等。通過這次為期一周的嵌入式課程實(shí)驗(yàn),我對于嵌入式有了更加深刻的了解與認(rèn)識。我是第一次接觸嵌入式,以前對于嵌入式的知識了解甚少,但是通過此次實(shí)驗(yàn),我不僅了解了嵌入式,也學(xué)會了許多關(guān)于嵌入式方面的知識。通過前面的基礎(chǔ)實(shí)驗(yàn),我們對于ARM環(huán)境有了更深的了解,掌握了博創(chuàng)平臺的使用方法,例如如何使用小鍵盤,如何使用LCD、LED屏幕,如何控制終端,如何進(jìn)行多任務(wù)之間的切換等等。通過這幾次的基礎(chǔ)課程實(shí)驗(yàn),我們最后出了計(jì)算器,能夠?qū)崿F(xiàn)10以內(nèi)的加減乘除,在此基礎(chǔ)上我們利用多任務(wù),實(shí)現(xiàn)播放音樂與計(jì)算的切換,還利用點(diǎn)擊的轉(zhuǎn)動(dòng)來提示運(yùn)算過程中出現(xiàn)的問題。通過這幾次實(shí)驗(yàn),為我們以后的課程設(shè)計(jì)實(shí)驗(yàn)打下了堅(jiān)實(shí)的基礎(chǔ),相信有了這幾天系統(tǒng)實(shí)驗(yàn)的培訓(xùn),我們的課程設(shè)計(jì)實(shí)驗(yàn)做起來會更加輕松。第二篇:嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告嵌入式系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)號:姓名:班級:13電子信息工程指導(dǎo)老師:蘇州大學(xué) 電子信息學(xué)院2016年12月實(shí)驗(yàn)一:一個(gè)燈的閃爍實(shí)驗(yàn)要求實(shí)現(xiàn)PF610端口所連接的任意一個(gè)LED燈點(diǎn)亮電路原理圖圖1 LED燈硬件連接圖軟件分析RCC_Configuration()。/* 配置系統(tǒng)時(shí)鐘 */GPIO_Configuration()。/* 配置GPIO IO口初始化 */for(。){GPIOFODR = 0xfcff。/* PF8=0 點(diǎn)亮D3 */Delay(1000000)。GPIOFODR = 0xffff。/* PF8=1 熄滅D3 */Delay(1000000)。實(shí)驗(yàn)現(xiàn)象通過對GPIOF8的操作,可以使LED3閃爍實(shí)驗(yàn)總結(jié)這是第一次使用STM32開發(fā)板,主要內(nèi)容是對IO端口進(jìn)行配置,點(diǎn)亮與IO端口相連接的LED燈,閃爍周期為2S。通過本實(shí)驗(yàn)對STM32開發(fā)板的硬件原理有了初步了解。實(shí)驗(yàn)二:流水燈實(shí)驗(yàn)要求實(shí)現(xiàn)PF610端口所連接的5個(gè)LED燈順次亮滅電路原理圖圖1 流水燈硬件連接圖軟件分析int main(void){RCC_Configuration()。/* 配置系統(tǒng)時(shí)鐘 */GPIO_Configuration()。/* 配置GPIO IO口初始化 */for(。){GPIOFODR = 0xffbf。/* PF6=0 點(diǎn)亮LED1 */ Delay(5000000)。GPIOFODR = 0xff7f。}/* PF7=0 點(diǎn)亮LED2 */ Delay(5000000)。GPIOFODR = 0xfeff。/* PF8=0 點(diǎn)亮LED3 */ Delay(5000000)。GPIOFODR = 0xfdff。/* PF9=0 點(diǎn)亮LED4 */ Delay(5000000)。GPIOFODR = 0xfbff。/* PF10=0 點(diǎn)亮LED5 */ }實(shí)驗(yàn)現(xiàn)象LED1~LED5依次點(diǎn)亮,亮滅的時(shí)間間隔都為1S。實(shí)驗(yàn)總結(jié)本次實(shí)驗(yàn)對STM32開發(fā)板的GPIO端口進(jìn)行進(jìn)一步學(xué)習(xí),通過程序可以實(shí)現(xiàn)流水燈的閃爍。實(shí)驗(yàn)三:單級外部中斷實(shí)驗(yàn)要求按下某個(gè)按鍵,觸發(fā)中斷,中斷服務(wù)程序改變LED燈狀態(tài)電路原理圖圖3 SW1硬件原理圖軟件分析int main(){RCC_Configuration()。GPIO_Configuration()。GPIO_Write(GPIOF,0xffff)。Delay(5000)。while(1){}/* 配置系統(tǒng)時(shí)鐘 *//* IO口初始化 *//* 全滅 */if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)==0)/* 如果SW1 PA8=0 */ {GPIO_SetBits(GPIOF, GPIO_Pin_6)。/* LED1點(diǎn)亮 */Delay(0x1FFFFF)。GPIO_ResetBits(GPIOF, GPIO_Pin_6)。/* LED1 熄滅 */ Delay(0x1FFFFF)。} }實(shí)驗(yàn)現(xiàn)象原來5個(gè)LED燈都處于熄滅狀態(tài),按下SW1,觸發(fā)中斷程序,LED1點(diǎn)亮。實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn),可以對某一狀態(tài)通過外部中斷,改變其當(dāng)前狀態(tài)。實(shí)驗(yàn)四:多中斷嵌套實(shí)驗(yàn)要求按下某個(gè)按鍵,觸發(fā)中斷,中斷服務(wù)程序改變LED燈狀態(tài)電路原理圖圖4 SW1,SW2,SW3硬件原理圖軟件分析NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)。 = EXTI0_IRQChannel。//設(shè)定中斷源為PA0 = 0。//中斷占優(yōu)先級為0 = EXTI3_IRQChannel。//設(shè)定中斷源為PD3 = 1。//中斷占優(yōu)先級為1 = EXTI9_5_IRQChannel。//設(shè)定中斷源為PA8 = 2。//中斷占優(yōu)先級為2 void EXTI0_IRQHandler(void){ int i=0。if(EXTI_GetITStatus(EXTI_Line0)!= RESET){ for(i=0。iGPIO_Write(GPIOF,0xffff)。GPIO_SetBits(GPIOF, GPIO_Pin_6)。/* LED1 點(diǎn)亮 */ Delay(0x5fFFFF)。GPIO_ResetBits(GPIOF, GPIO_Pin_6)。/* LED1 熄滅 */Delay(0x5fFFFF)。EXTI_ClearITPendingBit(EXTI_Line0)。} } }void EXTI3_IRQHandler(void)if(EXTI_GetITStatus(EXT
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1