Time of Update: 2018-12-05
在linux平台上如果需要實現任務調度功能可以編寫cron指令碼來實現。以某一頻率執行任務linux預設會啟動crond進程,crond進程不需要使用者啟動、關閉。 crond進程負責讀取調度任務並執行,使用者只需要將相應的調度指令碼寫入cron的調度設定檔中。 cron的調度檔案有以下幾個: crontab cron.d cron.daily cron.hourly cron.monthly cron.weekly 如果用的任務不是以hourly monthly
Time of Update: 2018-12-05
概述本文介紹linux字元裝置註冊相關的四個函數:cdev_alloc、cdev_init、cdev_add和cdev_del。這四個函數在檔案:fs/char_dev.c中定義,在標頭檔include/linux/cdev.h中聲明。其中cdev_alloc和cdev_init是一對“互斥”函數,以不同的方式完成“相同”的功能:為函數cdev_add做前期準備。cdev_alloc504 /**505 * cdev_alloc() - allocate a cdev structure506
Time of Update: 2018-12-05
一、準備好可以正常引導開發板的源碼二、在核心源碼kernel檔案夾的driver目錄下,建立ledtest檔案夾 #mkdir drivers/ledtest三、將“LED驅動實驗”的驅動程式拷貝到ledtest目錄下 #cp /opt/work/lab/led_driver/led_driver.c drivers/ledtest/四、在drivers/ledtest/目錄下建立Kconfig以及Makefile檔案 Kconfig檔案 config
Time of Update: 2018-12-05
面對不斷升級的linux核心、GNU開發工具、linux環境下的各種圖形庫,很多linux應用程式開發人員和linux裝置驅動開發人員即興奮,又煩躁。興奮的是新的軟體軟體、工具給我提供了更強大的功能,煩躁的是適應新軟體的特性、搭建新環境是一項非常繁瑣的事情。本文想從以下3個方面探討一下“面對不斷升級的核心,如何學習linux裝置驅動”。 核心發展的現狀及其對技術人員的影響
Time of Update: 2018-12-05
昨天花了我幾個小時的時間,最後終於把那個根檔案系統製作好了~(一):首先linux根檔案系統的製作需要的開發環境。1:移植Linux核心版本: linux-3.0.1 (只要能用就行)2:交叉編譯工具:arm-linux-gcc 4.3.2(任選)3:檔案系統製作工具:Busybox-1.13.3(任選)4:etc.tar.gz(二):交叉編譯環境的搭建(這一步我在我的部落格其他文章裡面有
Time of Update: 2018-12-05
嵌入式Linux作業系統學習規劃,線路清晰,最重要的是其中推薦的書籍,如果打算進入這行發展,必須都要學習!!!ARM+LINUX路線,主攻嵌入式Linux作業系統及其上應用軟體開發目標: (1) 掌握主流嵌入式微處理器的結構與原理(初步定為arm9) (2) 必須掌握一個嵌入式作業系統 (初步定為uclinux或linux,版本待定) (3) 必須熟悉嵌入式軟體開發流程並至少做一個嵌入式軟體項目。 從事嵌入式軟體開發的好處是: (1)目前國內外這方面的人都很稀缺。這一領域入門門檻較高,所以非專業
Time of Update: 2018-12-05
Linux核心的記憶體管理程式採用了分頁管理方式,利用頁目錄和頁表結構處理核心中其他部分代碼對記憶體的申請和釋放操作.記憶體的管理是以記憶體頁面為單位進行的,一個記憶體頁面是指地址連續的4KB記憶體. Linux 0.11核心的記憶體管理目錄中共有三個檔案,Makefile , memory.c , page.s. 其中page.s 僅包含記憶體頁異常的中斷處理過程,主要實現了對缺頁和頁防寫保護的處理. memory.c是記憶體頁面管理的核心檔案. 總體功能描述 Intel 80x86
Time of Update: 2018-12-05
第六章 進階字元驅動程式操作 前面已經構造了結構完整的可讀可寫的字元裝置驅動程式,這裡介紹進階的操作。
Time of Update: 2018-12-05
在socket編程時,會出現指定了ip,連接埠號碼,卻連不上,這是因為網路地址跟本地主機地址的字元順序不一樣導致的。在linux下提供了一些操作函數,如下: unsigned long int htonl(unsigned long int hostlong);用來將參數指定的32位hostlong 轉換成網路字元順序。 unsigned short int htons(unsigned short int hostshort);
Time of Update: 2018-12-05
1,裝置驅動作用的理解 裝置驅動程式是位於作業系統與硬體之間的軟體層,為上層應用程式提供一個可以訪問硬體的介面,隱藏了對硬體寄存器等的具體操作。當使用者層調用的時候可以把硬體看成是核心的一個介面函數就行了。 2,unix中的一點思想 機制和策略,是unix設計背後影藏的最好思想之一。
Time of Update: 2018-12-05
1,介紹最簡單的hello world 驅動程式。。。。之前已經看過了,這部分過2,模組程式與應用程式的區別 @應用程式從頭到尾按順序執行單個任務。模組程式要先註冊到核心,為的是給調用做準備 @退出時,應用程式的資源系統會回收,模組程式要手動 @模組程式不能像應用程式那樣串連庫函數,它調用的只能是核心中的標頭檔 include/linux ,linux/asm @模組運行在核心空間,應用程式運行在使用者空間3,核心中的並發----驅動也應該考慮的問題
Time of Update: 2018-12-05
1,這本書是以scull 為例子來介紹字元裝置驅動程式的編寫的。 scull是一個操作記憶體地區的字元裝置驅動程式。2,註冊裝置號的擷取、登出及註冊 @擷取dev_t 類型裝置號 裝置在核心中以dev_t 類型儲存主次裝置號的。用MKDEV(major,minor) 來獲得dev_t 類型的裝置號,相反,用MAJOR(dev_t dev) 轉換主裝置號,MINOR(dev_t dev) 轉換出次裝置號。 @核心分配裝置號 int
Time of Update: 2018-12-05
轉載自:http://blog.tangjianwei.com/2009/01/02/how-to-create-and-extract-zip-tar-targz-and-tarbz2-files-in-linux/這麼多年來,資料壓縮對我們來說是非常有用的。無論是在郵件中發送的圖片用的zip檔案還是在伺服器壓縮資料檔案,我們都可以讓下載更容易或者有效節約磁碟空間。某些壓縮格式有時允許我們以60%的比率(甚至更高)壓縮檔。下面我將會給大家示範如何用這些命令在Linux下面去壓縮檔或者目錄。我
Time of Update: 2018-12-05
第四章中講的是核心的調試技術。。。以後用到在學習吧 第五章 並發和競態1,作業系統編程的核心問題之一是並發管理2,什麼是競態:linux中存在大量的並發源,當這些並發源訪問可共用的資料時就會發生競態3,競態的危害:競態會導致共用的資料非控制訪問,導致系統崩潰、資料破壞及安全問題4,如何避免競態:常用的技術是 鎖定和互斥5,記:linux中訊號量的作用絕大多數是為互斥 自旋鎖6,鎖定功能的實現用的多的是自旋鎖,自旋鎖要更高效7,自旋鎖由spinlock_t 類型定義
Time of Update: 2018-12-05
首先引用 ULK上面的解釋 :The mm_users field stores the number of lightweight processes that share the mm_struct data structure (see the section "The clone( ), fork( ), and vfork( ) System Calls" in Chapter 3). The mm_count field is the main usage counter of
Time of Update: 2018-12-05
最近在看《C專家編程》,看到第5章-對連結的思考,正好作為參考,對Linux下動態庫的產生及連結方法作一下總結。Linux下動態庫檔案的副檔名為".so"(Shared
Time of Update: 2018-12-05
今年5月26日,鳳凰號著陸器(PhoenixLander)成功在火星北極著陸,後來,發現那裡有水的冰塊。這是很了不起的發現。據說,鳳凰鳥(Phoenix)是一種長生不死的鳥,表示吉祥之意。這次著陸成功,當真非常靈驗(大概是托鳳凰鳥之福)。
Time of Update: 2018-12-05
<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }-->
Time of Update: 2018-12-05
在今年《世界開源大會》(OSCON2008)上,Ubuntu奠基人MarkShuttleworth提出一個非常大膽的命題:Linux的真正對手不是微軟,而是蘋果。我認為,他是正確的。這是為什嗎?
Time of Update: 2018-12-05
<!--@page { margin: 2cm }P { margin-bottom: 0.21cm }--> Linux是從哪兒來的?它絕對不是從中國廣東某地突然冒出來的。這個問題我們必須搞清楚。