Time of Update: 2018-12-04
作者:劉洪濤,華清遠見嵌入式學院講師。四、在核心裡寫i2c裝置驅動的兩種方式前文介紹了利用/dev/i2c-0在應用程式層完成對i2c裝置的操作,但很多時候我們還是習慣為i2c裝置在核心層編寫驅動程式。目前核心支援兩種編寫i2c驅動程式的方式。下面分別介紹這兩種方式的實現。這裡分別稱這兩種方式為“Adapter方式(LEGACY)”和“Probe方式(new style)”。(1)
Time of Update: 2018-12-04
Linux伺服器核心編譯基礎 mynix編譯自www.linux.org之Linux HowTo之Kernel HowTo 在網路中,不少伺服器採用的是Linux系統。為了進一步提高伺服器的效能,可能需要根據特定的硬體及需求重新編譯Linux核心。編譯Linux核心,需要根據規定的步驟進行,編譯核心過程中涉及到幾個重要的檔案。比如對於RedHat Linux,在/boot目錄下有一些與Linux核心有關的檔案,進入/boot執行:ls –l。編譯過RedHat
Time of Update: 2018-12-04
作者:Sam(甄峰) sam_code@hotmail.comSam需要看看2.6 kernel中USB Mouse的代碼。順便談談Kernel中Makefile和Kconfig檔案的關係以及配合使用。背景知識:背景知識一:Kconfig介紹:在#make menuconfig 時,所顯示的Menu list是由各層Kconfig組成的。最底層Kconfig存放在 ~/arch/i386/Kconfig.
Time of Update: 2018-12-04
【故障處理】解決Linux系統、Vi、SQLPlus、PuTTY“中文亂碼”問題【問題描述】1.Linux系統中含有中文內容的檔案名稱顯示亂碼;2.使用vi編輯器查看中文內容為亂碼;3.sqlplus進入到資料庫中查看中文內容為亂碼;4.putty中中文內容顯示為亂碼。【問題原因】1.沒有安裝中文支援的包;2.相應的環境變數需要做相應的調整【問題處理】1.確認系統版本# cat /etc/redhat-releaseRed Hat Enterprise Linux Server
Time of Update: 2018-12-04
1、環境說明# uname -aLinux df53l 2.6.28-gentoo-r5 #1 SMP Tue Jun 16 18:58:24 CST 2009 i686Intel(R) Pentium(R) Dual CPU E2160 @ 1.80GHz GenuineIntel GNU/Linux# emerge -pv apache[ebuild R ] www-servers/apache-2.2.11 USE="ssl -debug -doc -ldap
Time of Update: 2018-12-04
網上方法很多了,最近在學習Linux,所以做下筆記,。首先到http://www.rdesktop.org下載rdeskto#tar zxvf rdesktop-NN-tar.gz 在終端裡運行,解壓命 把rdesktop-NN-tar.gz檔案解壓#cd rdesktop-1.6.0 都看的懂, 進入 rdesktop-1.6.0檔案夾#./configure#make ; make install#/usr /local/bin/rdesktop查看用法#ln -s
Time of Update: 2018-12-04
本文轉自:http://www.cnttr.com/49230/viewspace_6093.html本文介紹的是 debugfs 命令如果你不小心誤刪除了一個重要的檔案,如rm-rf kkk,而kkk是你的一個非常重要的檔案,你肯定非常痛苦,這時你千萬不能驚慌,應該馬上停止向你的硬碟寫入任何檔案。它完全是可以恢複的。(我這裡專門針對ext2檔案系統寫了如下的內容,其它的檔案系統也有辦法,我以後在寫):#debugfs
Time of Update: 2018-12-04
http://hi.baidu.com/jtntiivtemcnsue/item/90689ce172ee912c5a7cfb1b 編寫過MS-DOS程式的人通常都會尋找Linux下等同於kbhit的函數,這個函數會檢測一個按鍵是否被按下而並不實際的讀取。不幸的是他們並沒有找到這樣的函數,因為並沒有直接等同的函數。Unix程式員並不會注意到這個遺漏,因為Unix的編程方式通常為程式應準備好等待事件的發生。因為這就是通常的kbhit的用法,所以Unix和Linux將其忽略了。然而,當我們要由MS-
Time of Update: 2018-12-04
fork函數學習:#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>main () { pid_t pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0) printf("i am the child process,
Time of Update: 2018-12-04
在linux系統找一個合適的目錄:輸入:git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg擷取ffmpeg源碼cd ffmpeg進入其目錄./configure --prefix=/usr/local --enable-memalign-hack --enable-sharedmakemake install這樣就安裝好了。但是這樣做並沒有我們需要的ffplay,所以要先安裝SDL到SDL官網下載其源碼,解壓:tar -zxvf SDL-1.2
Time of Update: 2018-12-04
-->Linux 2.6 對新型 CPU 快速系統調用的支援轉載自:IBMdeveloperWorks 中國 劉子銳Linux 愛好者2004 年 5 月 文章分析了在 Linux 2.6 中引入的對 Intel CPU 快速系統調用指令 SYSENTER/SYSEXIT 支援的實現。Linux 驅動及核心開發人員通過瞭解快速系統調用指令的機制,可以在自己的代碼中通過利用這一機制,提高系統效能,並避開由快速系統調用方式帶來的一些局限(如系統調用中嵌套系統調用)。前言在 Linux 2.4
Time of Update: 2018-12-04
Linux CVS添加新使用者方法 1. 使用htpasswd命令產生md5加密密碼 [cvsroot@hwdevelop CVSROOT]$ htpasswdUsage: htpasswd [-cmdpsD] passwordfile username htpasswd -b[cmdpsD] passwordfile username password htpasswd -n[mdps] username htpasswd
Time of Update: 2018-12-04
可以看到,在頂層makefile的第278行,包含了scripts/Kbuild.include檔案,在這裡定義了大量的函數和變數,供頂層makefile和其他makefile檔案使用。在頂層makefile檔案的第412行,包含了arch/arm/Makefile。這個是體繫結構相關makefile檔案。它定義了體繫結構相關的一些變數及規則。當執行”make”時,arch/arm/Makefile中的185行的規則將是make遇到的第一個規則:all: $(KBUILD_IMAGE)
Time of Update: 2018-12-04
本系列文章為筆者對Unix toolbox的一些個人註解系統正在啟動並執行核心和系統資訊:# uname -a #擷取核心版本(和BSD版本)# lsb_release -a #顯示任何 LSB發行版版本資訊# cat /etc/SuSE-release#擷取 SuSE版本# cat /etc/debian_version #擷取 Debian版本使用/etc/DISTR-release 其中DISTR(發行代號)= lsb (Ubuntu),
Time of Update: 2018-12-04
Linux主機和VirtualBox虛擬機器區域網路互連本節我介紹一下如何Linux主和安裝在Linux上的VirtualBox的虛擬機器進行區域網路串連:1.啟動虛擬機器,選擇“更改網路連接”菜單,在網路連接1的串連方式中選擇Host-only Adapter,介面名稱選擇vboxnet0,並且勾選“接入網線”,然後在虛擬機器的ip設定中選擇自動擷取ip和dns,稍等一會,就會發現虛擬機器已經獲得到了ip和dns了,我ipconfig了一下,發現我的虛擬機器的ip是192.168.56.101
Time of Update: 2018-12-04
檔案的存取許可權—模式位疑難詳解一、前言 ======== 本文主要說明Linux下普通檔案及目錄的存取使用權限設定。本文是為稍具基礎的初學者寫的(我也是beginner),如 果您能夠理解如下幾行'ls -l'命令的輸出含義(注意下面標註^的位),那您就沒有必要讀本文了——別浪費時 間看對你沒用的東西,時間是最寶貴的! -r-sr-xr-x 1 root bin 26975 Jun 24 1999 01:32 /usr/bin/passwd-----------1.1 ^ -rwxrwSr-
Time of Update: 2018-12-04
Linux啟動入口主要代碼在 arch/mips/kernel/head.S檔案中 kernel_entry函數以彙編形式出現主要幹了以下幾件事:1. BSS段清02. 從boot傳過來的參數賦值到全域變數3. clear context register4. 根據init_thread_union建立$gp寄存器 並設定 $sp 寄存器,堆棧指標 (PTR_LA $28, init_thread_union)5. 做好上述準備後就跳轉到
Time of Update: 2018-12-04
1、位元組轉換函式 在網路上面有著許多類型的機器,這些機器在表示資料的位元組順序是不同的, 比如i386晶片是低位元組在記憶體位址的低端,高位元組在高端,而alpha晶片卻相反. 為了統一起來,在Linux下面,有專門的位元組轉換函式. unsigned long int htonl(unsigned long int hostlong) unsigned short int htons(unisgned short int hostshort) unsigned
Time of Update: 2018-12-04
1、掛載點必須是一個目錄。 2、一個分區掛載在一個已存在的目錄上,這個目錄可以不為空白,但掛載後這個目錄下以前的內容將不可用。 對於其他動作系統建立的檔案系統的掛載也是這樣。但是需要理解的是:光碟片、磁碟片、其他動作系統使用的檔案系統的格式與linux使用的檔案系統格式是不一樣的。光碟片是ISO9660;磁碟片是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat3
Time of Update: 2018-12-04
使用條件變數最大的好處是可以避免忙等。相當與多線程中的訊號。 條件變數是線程中的東西就是等待某一條件的發生和訊號一樣以下是說明,條件變數使我們可以睡眠等待某種條件出現。條件變數是利用線程間共用的全域變數進行同步的一種機制,主要包括兩個動作:一個線程等待"條件變數的條件成立"而掛起;另一個線程使"條件成立"(給出條件成立訊號)。為了防止競爭,條件變數的使用總是和一個互斥鎖結合在一起。條件變數類型為pthread_cond_t