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

正文內(nèi)容

基于linux操作系統(tǒng)下rtc驅動開發(fā)(留存版)

2025-08-02 08:39上一頁面

下一頁面
  

【正文】 if (copy_from_user(amp。 break。 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 34 data = rtcirq_data。 } schedule()。rtcirq_queue, amp。rtcuie_task) == 0) rtcuie_task_active = 0。 } rtcuie_irq_active = 0。rtcirq_lock, flags)。 add_timer(amp。 return 0。 MODULE_LICENSE(GPL)。 if (IS_ERR(rtc_class)) { printk(KERN_ERR %s: couldn39。 } EXPORT_SYMBOL_GPL(rtc_device_register)。 goto exit_kfree。 rtcpie_enabled = 0。rtcirq_lock)。 id = id amp。sleep_time)。 rtc_read_time(rtc, amp。 struct timespec delta, delta_delta。 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 22 參 考 文 獻 [1] 徐俊仕 .基于嵌入式 Linux 的車載 GPS 導航系統(tǒng)設計與實現(xiàn) [D]西安:西北工業(yè)大學機械電 子工程學院, 2021. [2] 戴明華 ,李長云 ,曾志浩 ,崔海燕 . 嵌入式 Linux 驅動程序框架研究綜述 [J]. 長沙大學學報 ,2021,02:5253. [3] 方先康 .基于 powerpc 處理器 MPC8541E 的嵌入式 Linux 系統(tǒng)開發(fā) [D]北京:北京郵電大學計算機科學與技術學院, 2021. [4] 張利平 .基于 MPC8536 的雷達嵌入式數(shù)據(jù)處理平臺設計 [D].成都:中國西南電子技術研究所, 2021. [5] 羅澤勇 .一種基于 powerpc 的嵌入式信號處理平臺的設計 [D].西安:西安電子科技大學, 2021. [6] 董文軍 . Linux 驅動程序兼容性的相關問題 [J].單片機與嵌入式系統(tǒng)應用 ,2021,03:1618. [7] 董闖 .基于 MPC85xx 的 Uboot 啟動流程分析和移植 [D],北京:北京郵電大學, 2021. [8] 周立功 , 陳明計 , 陳渝. ARM 嵌入式 Linux 系統(tǒng)構建與驅動開發(fā)范例 [M].北京:北京航空航天大學出版社 ,2021. [9] 王淑貞 . UBoot 在 S3C2410 上的移植 [J].微計算機應用 , 2021, 29(4): 9597. [10] LTIB user manual Linux Target Image Builder,Freescale,2021. [11] 史勝輝 .基于嵌入式 Linux 的頻譜分析儀軟件系統(tǒng)設計 [D].成都:電子科技大學,2021. [12] MPC8536 datasheet MPC8536E PowerQUICC III tm Integrated Processor Product Brief ,2021. 蚌埠學院本科畢業(yè)設計(論文) 23 附錄 A RTC 驅動程序 include linux/ include linux/ include linux/ include linux/ include linux/ include linux/ include static DEFINE_IDR(rtc_idr)。 圖 71 編譯生成 .ko文件 編寫用戶層測試程序,并編譯成可執(zhí)行程序 qq。 int isdst。 ⑹ Ioctl 函數(shù)模板 static long rtc_dev_ioctl(struct file *file,unsigned int cmd, unsigned long arg) { ... switch (cmd) { case RTC_EPOCH_SET: ... Break。//獲得次設備號 ? 將主設備號和次設備 號轉換成 dev_t 類型: 這也是一個封裝好的函數(shù) 蚌埠學院本科畢業(yè)設計(論文) 13 dev_t =MKDEV(int , int ); ⑷ 分配主設備號 手工分配主設備號的函數(shù): include linux/ //這是 Linux 內(nèi)核中有關設備號的頭文件 int register_chrdev_region( dev_t num, unsigned int , char *rtc ); 這是自己手動把 num 分配給 rtc 作為主設備號。 蚌埠學院本科畢業(yè)設計(論文) 11 第 6 章 字符設備驅動相關知識 模塊機制 Linux 提供了一種被稱為模塊( Module)的機制提供了對許多模塊支持,設備驅動每個模塊由不同代碼組成,實現(xiàn)不同功能 [10](所有的模塊在一起才是一個可執(zhí)行程序)。 ⑼ /modules 該目錄存放了已建好的、可動態(tài)加載的模塊,裁剪內(nèi)核的主要工作目標。 軟件包和源碼包的準備和下載 需要的軟件有交叉編譯器 armLinuxgcc ,我選用的交叉編譯器為 Tiny210的開發(fā)自帶的交叉編譯器,該編譯器是 ,正是由于我即將下載內(nèi)核源碼版本比較高,因此我們選用的交叉編譯器的版本也是相對來說比較高的。 Linux 的網(wǎng)絡功能和其內(nèi)核緊密相連,在這方面它要比其他操作系統(tǒng)更有優(yōu)勢。每一種發(fā)行版的開發(fā)都是針對著不同的目標,像是支持不同計算機結構,更強調(diào)實時應用,和專門面向嵌入式系統(tǒng)等。 而在當時,計算機硬件的價格在不斷下跌 ,但軟件仍處于高位。蘋果的操作系統(tǒng) MacOS 的是無疑是最好的性能,但價格高,沒有人可以輕易接近。主流的Linux 發(fā)型版有 Ubuntu, Red Hat 等等 。 ⑹ 可靠的安全、穩(wěn)定性能 Linux 采取了許多 安全技術措施 為內(nèi)部信息安全提供了保障。 從 網(wǎng)站下載 Linux 的內(nèi)核源代碼 。 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 10 第 5 章 RTC 芯片 RTC 芯片簡述 RTC(real time clock)實時時鐘,顧名思義,擁有真實時間的時鐘,其實它的主要作用就是在操作系統(tǒng)沒有工作的時候自主維護時間表,并在需要的時候給操作 系統(tǒng)提供系統(tǒng)時間。 insmod 將模塊動態(tài)加載到正在運行內(nèi)核; rmmod 程序移除模塊; Linux 內(nèi)核模塊的程序結構: ⑴ module_init()—— 加載模塊函數(shù)(必須) 使用 insmod 命令加載模塊時,內(nèi)核就會執(zhí)行該模塊的加載函數(shù),也就是說這就是整個模塊函數(shù)的入口,就是通過它來完成模塊的初始化相關工作。 ⑸ 動態(tài)分配主設備號: include linux/ //這是 Linux 內(nèi)核中有關設備號的頭文件 int alloc_chrdev_resion(dev_t *, unsigned int , unsigned int , char *rtc); 這是內(nèi)核自動分配一個設備好給 rtc。 蚌埠學院本科畢業(yè)設計(論文) 15 case RTC_SET_TIME: ... break。 }。 實際運行及結果 將生成的 .ko 模塊和應用層測試程序 qq 下載的目標板,運行過程如圖 72: 用 insmod 裝載模板。 static DEFINE_MUTEX(idr_lock)。 if (strcmp(dev_name(amp。tm)。 return 0。 MAX_ID_MASK。 spin_lock_init(amp。 err = __rtc_read_alarm(rtc, amp。 } rtc_dev_add_device(rtc)。 void rtc_device_unregister(struct rtc_device *rtc) { if (get_device(amp。t create class\n, __FILE__)。 include linux/ include linux/ include linux/ include static dev_t rtc_devt。 } clear_bit_unlock(RTC_DEV_BUSY, amp。rtcuie_timer)。 } static int clear_uie(struct rtc_device *rtc) { spin_lock_irq(amp。 } spin_unlock_irq(amp。 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 32 } rtcirq_data = 0。wait)。 } while (1)。 return (data != 0) ? (POLLIN | POLLRDNORM) : 0。 case RTC_PIE_ON: if (rtcirq_freq rtcmax_user_freq amp。, uarg, sizeof(tm))) return EFAULT。 err = rtc_valid_tm(amp。tm)。rtcops_lock)。 if (copy_to_user(uarg, amp。 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 36 if (err 0) return err。 = 0。 !capable(CAP_SYS_RESOURCE)) err = EACCES。 struct rtc_device *rtc = fileprivate_data。 remove_wait_queue(amp。 spin_lock_irq(amp。rtcirq_lock)。 return 0。 if (rtcuie_irq_active) { rtcstop_uie_polling = 1。rtcuie_task) == 0) { rtcuie_task_active = 0。 return err。 struct rtc_device *rtc = container_of(inodei_cdev, struct rtc_device, char_dev)。 } rtc_classsuspend = rtc_suspend。rtcops_lock)。 蚌埠學院本科畢業(yè)設計(論文) 27 rtc_proc_add_device(rtc)。 if (!err amp。 init_waitqueue_head(amp。 if (rtc == NULL) { err = ENOMEM。 struct rtc_wkalrm alrm。tm) != 0) { pr_debug(%s: bogus resume time\n, dev_name(amp。 delta = timespec_sub(old_system, old_rtc)。 static void rtc_device_release(struct device *dev) { struct rtc_device *rtc = to_rtc_device(dev)。 蚌埠學院本科畢業(yè)設計(論文) 19 圖 72 運行過程 結果如圖 73: 圖 73 運行結果 基于 Linux 操作系統(tǒng)下 RTC 驅動開發(fā) 20 第 8 章 結論 本論文中對 Linux的發(fā)展跟 現(xiàn)狀進行了了解,還在對課題基于 Linux操作系統(tǒng)下 RTC驅動開發(fā)的基礎上對 Linux內(nèi)核進行了大致的分析,并在課題最后進行了相對于 RTC驅動模塊的應用層測試軟件的編寫。 int err。 case RTC_PIE_ON: ... break。 在該設備號不再使用之后,釋放并刪除它,以節(jié)約內(nèi)核資源。 ⑶ MODULE_LICENSE()—— 模塊許可證聲明 ( 必須 ) 這一段函數(shù)就是描述內(nèi)核將要加載的模塊的工作權限 , 如果在加載模塊時不聲明LICENSE,內(nèi)核就會報警: kernel tainted,意思就是 內(nèi)核被污染。硬件時間指的就是 RTC 芯片自主維護的時間,因為 RTC 芯片是電池供電的,所以在硬件平臺掉電后時間表不會丟失。 就是 通過Boot Loader 來實現(xiàn) 初始化硬件設備,從而 給操作 系統(tǒng) 提供了 一個合適的軟硬件環(huán)境,并為調(diào)用它做好準備 。 ⑺ 支持多種平臺 Linux 作為一種嵌入式操作系統(tǒng),在各種移動裝置上應用廣泛。直到現(xiàn)在,Linux 還是提供網(wǎng)站服務供應商最常使用的平臺。甚至MINIX 也因為版權 開始需要購買 才能 獲得源代碼。 關鍵詞: Linux 操作系統(tǒng);
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1