Time of Update: 2018-12-03
硬體平台:FL2440核心版本:2.6.28主機平台:Ubuntu 11.04核心版本:2.6.39原創作品,轉載請標明出處http://blog.csdn.net/yming0221/article/details/6584285首先修改核心源碼/arch/arm/mach-s3c2410/mach-smdk2410.c添加紅色字型部分static struct platform_device *smdk2410_devices[] __initdata = {&s3c_device_
Time of Update: 2018-12-03
基於Linux的多播編程一.單播,廣播和多播1.單播用於兩個主機之間的端對端通訊,廣播用於一個主機對整個區域網路上所有主機上的資料通訊。單播和廣播是兩個極端,要麼對一個主機進行通訊,要麼對整個區域網路上的主機進行通訊。實際情況下,經常需要對一組特定的主機進行通訊,而不是整個區域網路上的所有主機,這就是多播的用途。2.多播的概念:1>多播,也稱為“組播”,將區域網路中同一業務類型主機進行了邏輯上的分組,進行資料收發的時候其資料僅僅在同一分組中進行,其他的主機沒有加入此分組不能收發對應的資料。
Time of Update: 2018-12-03
10.Platform10.1 overviewl 一個現實的Linux裝置和驅動通常都需要掛接在一種匯流排上,對於本身依附於PCI、USB、IIC、SPI等的裝置而言,這自然不是問題,但是在嵌入式系統中,SoC系統中整合的獨立的外設控制器,掛接在SoC記憶體空間的外設(IIC,RTC,SPI,LCD,看門狗)等卻不依附於此類匯流排。基於這一背景,Linux發明了一種虛擬匯流排,稱為platform匯流排,相應的裝置稱為platformdevice,而驅動稱為platform driver。
Time of Update: 2018-12-03
ARM-LINUX下一些常用庫的移植 2010-04-28 10:51:47| 分類:arm-linux | 標籤:|字型大小大中小 訂閱一些庫在各個項目經常重用.如jpeg,freetype,iconv 等.每次大型項目均會反覆重用.因此按照原來項目規範,一般都放在項目libs目錄下,但後來發現,每個項目都做重複操作.也完全沒有必要.因為現在是將其歸綱到一個comm_lib公用資訊. 以下是常用庫的ARM-Linux移植,我是放在/home/hxy/common_lib
Time of Update: 2018-12-03
驅動程式:/*whjled.c*/#include<mach/regs-gpio.h>#include <mach/hardware.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/init.h>#include <linux/mm.h>#include <linux/fs.h>#include
Time of Update: 2018-12-03
第一個 file_operations 成員根本不是一個操作; 它是一個指向擁有這個結構的模組的指標.這個成員用來在它的操作還在被使用時阻止模組被卸載. 幾乎所有時間中, 它被簡單初始化為 THIS_MODULE, 一個在 <linux/module.h> 中定義的宏.這個宏比較複雜,在進行簡單學習操作的時候,一般初始化為THIS_MODULE。loff_t (*llseek) (struct file * filp , loff_t p, int
Time of Update: 2018-12-03
在裝置驅動程式中經常會見到和platform相關的欄位,分布在驅動程式的多個角落,這也是2.6核心中比較重要的一種機制,把它原理弄懂,對以後分析驅動程式很有協助:在linux2.6裝置模型中,關心匯流排,裝置,驅動這三個實體,匯流排將裝置和驅動綁定,在系統每註冊一個裝置的時候,會尋找與之匹配的驅動。相反,在系統每註冊一個驅動的時候,尋找與之匹配的裝置,匹配是由匯流排來完成的。一個現實的Linux 裝置和驅動通常都需要掛接在一種匯流排上,對於本身依附於PCI、USB、I2C、SPI
Time of Update: 2018-12-03
Linux上TCP丟失小包不可見的解決 作者:千裡孤行(http://blog.csdn.net/yanghehong) 有網友在做一個Linux上的用戶端碰到這樣的問題: 我們在Linux下開發一個網路用戶端程式(伺服器是不可修改的),不斷向伺服器不定期發送一些很小的包(一般只有幾十位元組),現在出現這種情況:大部分包正常發送,但是當無線Modem斷開的時候,如果這個時候剛好有一個小包,就可能丟失,但在程式中卻顯示已經發送成功,導致丟包。我們分析原因是這樣:1:主程式建立Socket,TCP
Time of Update: 2018-12-03
很不錯的一篇文章,對POSIX的線程的取消點(Cancellation Point)的概念和實現方式做了深入的解析, ZZ一下。 以下ZZ自:http://blog.solrex.cn/articles/linux-implementation-of-posix-thread-cancellation-points.html摘要:這篇文章主要從一個 Linux 下一個 pthread_cancel 函數引起的多線程死結小例子出發來說明 Linux 系統對 POSIX 線程取消點的實現方式,
Time of Update: 2018-12-03
並行啟動應用程式從而加速 Linux 的引導對於 Linux的最大抱怨(尤其來自開發人員)就是 Linux 的引導速度。預設情況下,Linux 是一個通用的作業系統,可以作為一個開箱即用的客戶機案頭或伺服器使用。由於 Linux 具有很好的靈活性,因此可以用作各種用途的基礎,但對於任何特定的配置來說,尚不是最理想的選擇。本文將向您展示可以提高 Linux 引導速度的一些方法,包括兩種可以對初始化過程進行並行化操作的方法。本文還介紹了如何圖形化地表現引導過程的效能。 對於 GNU/Linux
Time of Update: 2018-12-03
1、Linux下的時間 1.1、Linux下的時間系統 1.2、Linux下與時間有關的資料結構2、獲得目前時間3、延時4、定時器 4.1、alarm 4.2、setitimer1、Linux下的時間1.1、Linux下的時間系統 UNIX及Linux的時間系統是由"新紀元時間"Epoch(傳說中的標誌Unix時代開端的那個拂曉)開始計算起,單位為秒,Epoch則是指定為1970年一月一日淩晨零點零分零秒,格林威治時間。
Time of Update: 2018-12-03
eCGUI-微型嵌入式GUI-圖形介面系統(支援DOS 16/32bit,Linux,uC/OS等等)http://www.ecgui.com全部為原創軟體! http://www.ecgui.comLinux下的微型嵌入式GUI Linux下的微型嵌入式GUI - 開發庫 - RedHat Linux 9 上編譯開發 http://www.ecgui.com DOS圖形記事本(基於嵌入式GUI)原始碼及設計文檔
Time of Update: 2018-12-03
--------------------------------- Linux核心編碼風格 --------------------------------- 這篇短小的文檔描述了linux核心編程中應該採用的編碼風格。編碼風格是很個人化的東西,因此我不想把我的觀點_強加_給任何人,但是至少在我維護的代碼中必須遵守這些規則,當然了,我也強烈推薦你在除了Linux核心之外的其它地方採用這些規則。即使你不打算採用,但也至少請你考慮一下這裡的觀點。 在開始之前,我建議你先列印一份GNU的編碼規範文檔,
Time of Update: 2018-12-03
看了兩天的串口驅動,總算把一個大神的驅動看的差不多了,想自己寫一篇部落格的,突然發現寫了也是那位大神的內容,所以還是轉載吧。原文地址:http://blog.csdn.net/wulong117/article/details/7378265串口驅動確實不簡單,不過多花費心思整體思路還是容易理清的。原文如下:一、核心資料結構串口驅動有3個核心資料結構,它們都定義在<#include
Time of Update: 2018-12-03
本文主要介紹了幾種減裁Linux 核心的方法, 可以用於嵌入式系統、嵌入式伺服器的核心配置。1.對於一般PC 的普通核心配置 對於一般的使用者而言, 對於Linux 核心的效率和大小的要求都不高。因此一般不對核心重新配置, 因為Linux 安裝程式會在安裝時對大部分設定按照安裝的需求和實際的硬體做預設設定。這樣的核心會比實際需要的繁冗, 有很多模組載入後根本就沒有用到, 但是因為現在的PC 的記憶體一般都是上百MB, 而一個Linux 核心再大也就是幾百K, 因此對於一般使用者而言,
Time of Update: 2018-12-03
塊裝置的驅動比字元裝置的難,這是因為塊裝置的驅動和核心的聯絡進一步增大,但是同時塊裝置的訪問的幾個基本結構和字元還是有相似之處的。有一句話必須記住:對於存放裝置(硬碟~~帶有機械的操作)而言,調整讀寫的順序作用巨大,因為讀寫連續的扇區比分離的扇區快。但是同時:SD卡和隨身碟這類裝置沒有機械上的限制,所以像上面說的進行連續扇區的調整顯得就沒有必要了。 先說一下對於硬碟這類裝置的簡單的驅動。在linux的核心中,使用gendisk結構來表示一個獨立的磁碟裝置或者分區。這個結構中包含了磁碟的主裝置號,
Time of Update: 2018-12-03
http://cache.baidu.com/c?word=linux%3B%C4%DA%BA%CB%2C%D5%D0%C6%B8&url=http%3A//blog%2Ecsdn%2Enet/ShorminHsu/archive/2007/08/30/1766160%2Easpx&p=867cc64ad6c91bfb49b9c4710c17bb&user=baidu 這是某個公司的linux核心驅動筆試題目,希望對各位要參加面試的朋友提供一點協助,同時又要對公司試題保密
Time of Update: 2018-12-03
上一章主要講了請求隊列的一系列問題。下面主要說一下請求函數。首先來說一下硬碟類塊裝置的請求函數。請求函數可以在沒有完成請求隊列的中的所有請求的情況下就返回,也可以在一個請求都不完成的情況下就返回。下面貼出請求函數的常式:static int simp_blkdev_make_request(struct request_queue *q, struct bio *bio){ struct bio_vec *bvec; int i; void
Time of Update: 2018-12-03
1.tar tar命令 tar -cvf file2.tar /home/usr2/file2 比如此命令 使用絕對路徑的話,歸檔時自動把“/”,去掉。在解壓的時候,會在你的當前工作目錄出現home/user2/file2 。因為把/去掉了,所以他的父目錄就是當前的工作目錄。 當採用相對路徑時,比如說在home下 usr1下有file1,user2下有file2。當我們想在user1下 壓縮user2下的file2, tar -cvf
Time of Update: 2018-12-03
一 在嵌入式linux和主機linux下可以通過minicom 1)安裝minicom 有的系統沒有安裝minicom fedora下只需 yum install minicom即可 2)配置minicom 第一次執行是要配置的,以後就不需要了。 # minicom -s 出現這樣的配置介面: ┌───── [configuration]──────┐ │