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

正文內(nèi)容

單片機(jī)和嵌入式系統(tǒng)linux的區(qū)別-資料下載頁(yè)

2025-04-01 23:27本頁(yè)面
  

【正文】 0。S3C2410_GPB7_OUTP,S3C2410_GPB8_OUTP,}。/* 應(yīng)用程序?qū)υO(shè)備文件/dev/leds執(zhí)行open(...)時(shí),* 就會(huì)調(diào)用s3c24xx_leds_open函數(shù)*/static int s3c24xx_leds_open(struct inode *inode, struct file *file){int i。for (i = 0。 i 4。 i++) {// 設(shè)置GPIO引腳的功能:本驅(qū)動(dòng)中LED所涉及的GPIO引腳設(shè)為輸出功能s3c2410_gpio_cfgpin(led_table[i], led_cfg_table[i])。}return 0。}/* 應(yīng)用程序?qū)υO(shè)備文件/dev/leds執(zhí)行ioclt(...)時(shí),* 就會(huì)調(diào)用s3c24xx_leds_ioctl函數(shù)*/static int s3c24xx_leds_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg){if (arg 4) {return EINVAL。}switch(cmd) {case IOCTL_LED_ON:// 設(shè)置指定引腳的輸出電平為0s3c2410_gpio_setpin(led_table[arg], 0)。return 0。case IOCTL_LED_OFF:// 設(shè)置指定引腳的輸出電平為1s3c2410_gpio_setpin(led_table[arg], 1)。return 0。default:return EINVAL。}}/* 這個(gè)結(jié)構(gòu)是字符設(shè)備驅(qū)動(dòng)程序的核心* 當(dāng)應(yīng)用程序操作設(shè)備文件時(shí)所調(diào)用的open、read、write等函數(shù),* 最終會(huì)調(diào)用這個(gè)結(jié)構(gòu)中指定的對(duì)應(yīng)函數(shù)*/static struct file_operations s3c24xx_leds_fops = {.owner = THIS_MODULE, /* 這是一個(gè)宏,推向編譯模塊時(shí)自動(dòng)創(chuàng)建的__this_module變量 */.open = s3c24xx_leds_open, .ioctl = s3c24xx_leds_ioctl,}。/** 執(zhí)行insmod命令時(shí)就會(huì)調(diào)用這個(gè)函數(shù) */static int __init s3c24xx_leds_init(void){int ret。/* 注冊(cè)字符設(shè)備* 參數(shù)為主設(shè)備號(hào)、設(shè)備名字、file_operations結(jié)構(gòu);* 這樣,主設(shè)備號(hào)就和具體的file_operations結(jié)構(gòu)聯(lián)系起來(lái)了,* 操作主設(shè)備為L(zhǎng)ED_MAJOR的設(shè)備文件時(shí),就會(huì)調(diào)用s3c24xx_leds_fops中的相關(guān)成員函數(shù)* LED_MAJOR可以設(shè)為0,表示由內(nèi)核自動(dòng)分配主設(shè)備號(hào)*/ret = register_chrdev(LED_MAJOR, DEVICE_NAME, amp。s3c24xx_leds_fops)。if (ret 0) {printk(DEVICE_NAME can39。39。39。39。t register major number\n)。return ret。}printk(DEVICE_NAME initialized\n)。return 0。}/** 執(zhí)行rmmod命令時(shí)就會(huì)調(diào)用這個(gè)函數(shù) */static void __exit s3c24xx_leds_exit(void){/* 卸載驅(qū)動(dòng)程序 */unregister_chrdev(LED_MAJOR, DEVICE_NAME)。}/* 這兩行指定驅(qū)動(dòng)程序的初始化函數(shù)和卸載函數(shù) */module_init(s3c24xx_leds_init)。module_exit(s3c24xx_leds_exit)。. 應(yīng)用程序開(kāi)發(fā)的區(qū)別 對(duì)于不帶操作系統(tǒng)的應(yīng)用編程,應(yīng)用程序和驅(qū)動(dòng)程序之間的間隔并不明顯。舉個(gè)例子,要在LCD上顯示字母“a”,在單片機(jī)上的做法是:① 事先在Flash上保存“a”的點(diǎn)陣數(shù)據(jù),假設(shè)它的象素大小是8x8,那么這個(gè)點(diǎn)陣大小就是8x8=64 bits,即8字節(jié)② 應(yīng)用程序讀取這64bit數(shù)據(jù),逐個(gè)象素地在LCD上描點(diǎn)相對(duì)的,基于操作系統(tǒng)的應(yīng)用編程,就不需要懂得硬件知識(shí),執(zhí)行一個(gè)簡(jiǎn)單的“echo a /dev/tty1”就可以在LCD上顯示“a”了。 不帶操作系統(tǒng)的應(yīng)用程序,可借用的軟件資源很少;帶操作系統(tǒng)的應(yīng)用程序,網(wǎng)上各種開(kāi)源的軟件很多。比如要做一個(gè)播放器,在不帶操作系統(tǒng)上實(shí)現(xiàn)會(huì)非常困難;如果是在Linux下,有現(xiàn)成的。 不帶操作系統(tǒng)的應(yīng)用程序,各個(gè)任務(wù)是串行執(zhí)行的;帶操作系統(tǒng)的應(yīng)用程序,各個(gè)任務(wù)是并行執(zhí)行的。 不帶操作系統(tǒng)的應(yīng)用程序,一旦發(fā)生程序錯(cuò)誤,整個(gè)系統(tǒng)將崩潰帶操作系統(tǒng)的應(yīng)用程序,即使發(fā)生了程序錯(cuò)誤,操作系統(tǒng)本身并不會(huì)崩潰
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1