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

正文內(nèi)容

鄺堅(jiān)_北郵嵌入式實(shí)驗(yàn)報(bào)告(完整版)

  

【正文】 { Initialization(MBox, Data Structure, Timer, etc.)Forever{ MsgReceive If(…){ …… }else if(…){ …… } ……} } typedef struct _MESSAGE { int mType。semTake(semSynStart,WAIT_FOREVER)。if(msgQSend(msgQIdClient[id],(char*)amp。initialPtr = initial()。if(msgQIdServer == NULL){} for(id = 0。id++){char tempName[20]。id NUM_TIMER。id++){} semFlush(semSynStart)。tidTimer[id] = taskSpawn(tempName, 230, 0, STACK_SIZE,(FUNCPTR)timer,id,0,0,0,0,0,0,0,0,0)?!?poolpoolHeadnextfirstavailable blockHeadfrontBlockblockHeadfrontBlockblockHeadfrontBlockblockHeadpoolHeadfirstavailableblockHeadfrontBlockblockHeadfrontBlockblockHeadfrontBlockblockHead 靜態(tài)分配了含有32個(gè)16B塊的內(nèi)存池和含有16個(gè)256B塊的內(nèi)存池,如果申請(qǐng)的內(nèi)存大于256B,調(diào)用系統(tǒng)malloc。poolPtrpoolNum = 2。/*next指向第二個(gè)內(nèi)存池 */blockHeadPtrpoolId =1。poolHeadPtrnext = 0。(sizeof(blockHead)+256))。semTake(semMalloc,WAIT_FOREVER)。(poolHeadPtrnext)firstavailable = blockHeadPtrfrontBlock。semTake(semFree,WAIT_FOREVER)。txMsg,MAX_MSG_LEN,WAIT_FOREVER,MSG_PRI_NORMAL);三、運(yùn)行結(jié)果在shell中輸入progStart,觀(guān)察VxSim,輸入progStop結(jié)束。由于后面的實(shí)驗(yàn)都要依靠前面實(shí)驗(yàn)的配置,故本段只著重?cái)⑹鰧?shí)驗(yàn)七的具體實(shí)現(xiàn)。實(shí)驗(yàn)七通過(guò)用c語(yǔ)言編寫(xiě)的簡(jiǎn)單程序HelloWorld,測(cè)試前面幾個(gè)實(shí)驗(yàn)是否成功配置好環(huán)境,從超級(jí)終端可以看到HelloWorld程序的運(yùn)行結(jié)果。就像在 Windows系統(tǒng)下面使用寫(xiě)字板等一樣道理。驅(qū)動(dòng)程序是內(nèi)核的一部分,是操作系統(tǒng)內(nèi)核與硬件設(shè)備的直接接口,驅(qū)動(dòng)程序屏蔽了硬件的細(xì)節(jié),完成以下功能:?對(duì)設(shè)備初始化和釋放;?對(duì)設(shè)備進(jìn)行管理,包括實(shí)時(shí)參數(shù)設(shè)置,以及提供對(duì)設(shè)備的操作接口; ?讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)或者回送應(yīng)用程序請(qǐng)求的數(shù)據(jù); ?檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。由于Linux 中將設(shè)備當(dāng)做文件處理,所以對(duì)設(shè)備進(jìn)行操作的調(diào)用格式與對(duì)文件的操作類(lèi)似,主要包括open()、read()、write()、ioctl()、close()等。?close入口點(diǎn)。?write入口點(diǎn)。select系統(tǒng)調(diào)用在檢查與設(shè)備文件相關(guān)的文件描述符時(shí)使用select入口點(diǎn)。Linux在/dev目錄中為每個(gè)設(shè)備建立一個(gè)文件,用ls–l命令列出函數(shù)返回值,若小于0,則表示注冊(cè)失?。环祷?或者大于0的值表示注冊(cè)成功。對(duì)硬件寄存器進(jìn)行設(shè)置。如果設(shè)備需要IRQ支持,則要使用request_irq()函數(shù)注冊(cè)中斷。所以進(jìn)行嵌入式Linux系統(tǒng)的開(kāi)發(fā),很大的工作量是為各種設(shè)備編寫(xiě)驅(qū)動(dòng)程序。設(shè)備由一個(gè)主設(shè)備號(hào)和一個(gè)次設(shè)備號(hào)來(lái)標(biāo)識(shí)。(7)編譯該驅(qū)動(dòng)程序到內(nèi)核中,或者用insmod命令加載模塊。 CPU GPIO驅(qū)動(dòng)程序設(shè)計(jì)在本實(shí)驗(yàn)中,我們要編寫(xiě)第一個(gè)針對(duì)實(shí)際硬件的驅(qū)動(dòng)程序。return 0。} 中斷實(shí)驗(yàn)// 滅2秒 // 亮7秒 ioctl(fd,LED_ON)。補(bǔ)充代碼2 //READssize_tSIMPLE_INT_read(struct file * file ,char * buf, size_t count, loff_t * f_ops){ifdef OURS_INT_DEBUGendif return count。printk(“t %s tn”, VERSION)。printk(“SERIAL_LED_ioctl [kernel]n”)。補(bǔ)充代碼8 staticint __initHW_SERIAL_LED_init(void){ int ret =ENODEV。補(bǔ)充代碼9 staticint __init pxa270_SERIAL_LED_init(void){ int ret =ENODEV。module_init(pxa270_SERIAL_LED_init)。ret=write(fd,data,1)。通過(guò)更改顯數(shù)的順序,很容易實(shí)現(xiàn)實(shí)驗(yàn)作業(yè)里要求的功能。補(bǔ)充代碼5 staticint __init pxa270_LED_CTL_init(void){ int ret =ENODEV。②要求您再編寫(xiě)一個(gè)測(cè)試程序,實(shí)現(xiàn)按豎的方向順序掃描 LED 點(diǎn)陣數(shù)碼管。j} r = 1。// row for(j=1。補(bǔ)充代碼1 voidshowversion(void){ printk(“%sn”,VERSION)。ifdef OURS_HELLO_DEBUG printk(“readn”)。showversion()。endif ret=HW_AD_CTL_init()。return 0。endif printk(“SIMPLE_DA_read[kernel]n”)。}補(bǔ)充代碼9 staticint __init pxa270_DA_CTL_init(void){ int ret =ENODEV。ret = HW_DA_CTL_init()。printk(“cleanup_DA_ctl [kernel]n”)。后續(xù)實(shí)驗(yàn)中雖然給出了驅(qū)動(dòng)程序的框架,仍需要我們自己補(bǔ)充完整,并開(kāi)動(dòng)腦筋舉一反三,在原代碼的基礎(chǔ)上進(jìn)行一定修改以實(shí)現(xiàn)新的功能。感謝老師的辛勤指導(dǎo)!第三篇:北郵嵌入式實(shí)驗(yàn)報(bào)告嵌入式系統(tǒng)開(kāi)發(fā)實(shí)驗(yàn)報(bào)告班級(jí): 姓名: 班內(nèi)序號(hào): 學(xué)號(hào): 日期:目錄一、實(shí)驗(yàn)?zāi)康?.............................................................................................1二、實(shí)驗(yàn)設(shè)備..............................................................................................1三、基礎(chǔ)實(shí)驗(yàn)(實(shí)驗(yàn)一~實(shí)驗(yàn)七)............................................................1..................................................................................................2 ..................................................................................................2 ..................................................................................................2四、驅(qū)動(dòng)程序..............................................................................................3..........................................................................3 ......................................................................................3 ..............................................................................4 ..................................................................6五、基本接口實(shí)驗(yàn)......................................................................................6 簡(jiǎn)單設(shè)備驅(qū)動(dòng)程序............................................................6 CPU GPIO驅(qū)動(dòng)程序設(shè)計(jì)...................................................7 中斷實(shí)驗(yàn)...........................................................................8 數(shù)碼管顯示實(shí)驗(yàn)................................................................9 LED點(diǎn)陣驅(qū)動(dòng)程序設(shè)計(jì)...................................................11 AD驅(qū)動(dòng)實(shí)驗(yàn)....................................................................12 DA驅(qū)動(dòng)實(shí)驗(yàn)....................................................................13六、實(shí)驗(yàn)中遇到的問(wèn)題及解決方法........................................................15七、實(shí)驗(yàn)總結(jié)及心得................................................................................15一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)實(shí)驗(yàn)熟悉Linux環(huán)境,并掌握一些基本接口驅(qū)動(dòng)的寫(xiě)法和用C語(yǔ)言編寫(xiě)簡(jiǎn)單的實(shí)驗(yàn)程序。實(shí)驗(yàn)四是配置宿主PC機(jī)端的超級(jí)終端,使PC機(jī)與PXA270目標(biāo)板之間可以通過(guò)串口通訊。每次重啟宿主PC機(jī)時(shí),也都要重啟該服務(wù),重啟命令為: service nfs restart service nfs restart實(shí)驗(yàn)五為宿主PC機(jī)配置了TFTP服務(wù)。四、驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序?qū)嶋H是處理和操作硬件控制器的軟件,從本質(zhì)上講,是內(nèi)核中具有最高特權(quán)級(jí)的、駐留內(nèi)存的、可共享的底層硬件處理例程。其中類(lèi)型和主設(shè)備號(hào)結(jié)合在一起惟一地確定了設(shè)備文件驅(qū)動(dòng)程序及其界面,而次設(shè)備號(hào)則說(shuō)明目標(biāo)設(shè)備是同類(lèi)設(shè)備中的第幾個(gè)。Linux操作系統(tǒng)將所有的設(shè)備全部看成文件,并通過(guò)文件的操作界面進(jìn)行操作。在配置完成后,每次重啟宿主PC機(jī)時(shí),都須先輸入命令:service xinetd restart,以啟動(dòng)TFTP服務(wù)。掛載虛擬機(jī)的代碼為:root ifconfig eth0 up mount –o nolock :/ /mnt 實(shí)驗(yàn)五是配置宿主PC機(jī)的TFTP服務(wù)。并熟練掌握LINUX驅(qū)動(dòng)程序的編寫(xiě)及開(kāi)發(fā)流程。在實(shí)驗(yàn)中,不難發(fā)現(xiàn),編譯驅(qū)動(dòng)程序大體框架都是一樣的,比如里面的讀函數(shù)、寫(xiě)函數(shù)、ioctl函數(shù)、打開(kāi)、關(guān)閉以及函數(shù)模塊的初始化并且在超級(jí)終端上顯示出等。解決方法:在超級(jí)終端下的掛載命令應(yīng)該用”mount –o nolock :/ /mnt”,如果依然不能掛載需要重啟NFS服務(wù),即在PC機(jī)終端中輸入命令”service nfs restart”兩遍后就可以?huà)燧d,當(dāng)然有時(shí)候也可能是因?yàn)榫W(wǎng)線(xiàn)沒(méi)插好。return 0。endif ifdef OURS_DA_DEBUG } printk(“ pxa270 led_driver register success!![kernel]n”)。endif return 0。printk(“*****************************n”)。在此基礎(chǔ)上,要求試寫(xiě)一個(gè)實(shí)現(xiàn)輸出三角波的測(cè)試程序。if(ret 0){} else { } adctl_dev_handle = devfs_register(NULL, “ad_ctl”, DEVFS_FL_DEFAULT, printk(“adctl driver register success!n”)。} 補(bǔ)充代碼6 staticstructfile_operationsadctl_ops = {}。補(bǔ)充代碼2 //READstaticssize_tadctl_read(struct file * file ,char *buf, size_t count, loff_t *offset){} 補(bǔ)充代碼3 //WRITEssize_tadctl_write(struct file * file ,const char *buf, size_t count, loff_t *o
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1