Linux核心模組分析(module_init宏)__Linux

  我們在學習Linux驅動開發時,首先需要瞭解Linux的模組化機制(module),但是module並不僅僅用於支撐驅動的載入和卸載。一個最簡單的模組例子如下: // filename: HelloWorld.c#include <linux/module.h>#include <linux/init.h>static int hello_init(void){ printk(KERN_ALERT "Hello World\n");

Linux驅動開發要點__Linux

  Linux驅動程式的開發與應用程式的開發有很大的區別,這些差別導致了編寫Linux裝置驅動程式與編寫應用程式的本質區別。 一、使用者態和核心態

嵌入式Linux剪取工具gsnap移植與分析__Linux

  由於 Linux 系統的 FrameBuffer 機制,把螢幕上的每個點映射成一段線性記憶體空間,這樣,程式就可以通過改變這段記憶體的值來改變螢幕上某一點的顏色。如果我們想把當前的顯示內容儲存起來,可能會想到如下命令: # cat /dev/fb0 > fb_data.raw   反過來,可以將這些資料回顯到 framebuffer 中: # cat fb_data.raw > /dev/fb0   使用 clear 命令清除,可以恢複正常。

關於Linux的runlevel__Linux

一、Linux的運行等級 Linux的運行等級:預設運行等級是3或者5 0——halt 1——單一使用者模式 2——多使用者模式,無NFS服務 3——多使用者模式,有NFS服務 4——系統保留層級,未使用 5——X11,同3,但使用X Window 6——reboot,重啟 二、為什麼要設定運行等級   因為不同運行等級所開啟的服務不一樣,便於 Linux 系統的維護。   理解了 Linux 運行層級,對於 Linux 維護和系統操作也就能很好的進行了。

關於Linux的應用程式層定時器__Linux

  使用定時器的目的無非是為了周期性的執行某一任務,或者是到了一個指定時間去執行某一個任務。要達到這一目的,一般有兩個常見的比較有效方法。一個是用 Linux 內部的三個定時器;另一個是用 sleep 或 usleep 函數讓進程睡眠一段時間;其實,還有一個方法,那就是用 gettimeofday、difftime 等自己來計算時間間隔,然後時間到了就執行某一任務,但是這種方法效率低,所以不常用。 1、alarm   如果不要求很精確的話,用 alarm() 和 signal()

linux核心中非同步通訊機制--訊號處理機制__linux

  什麼是非同步通訊。很簡單,一旦裝置準備好,就主動通知應用程式,這種情況下應用程式就不需要查詢裝置狀態,就像硬體上常提的“中斷的概念”。比較準確的說法其實應該叫做“訊號驅動的非同步I/O”,訊號是在軟體層次上對中斷機制的一種類比。阻塞I/O意味著一直等待裝置可訪問再訪問,非阻塞I/O意味著使用poll()來查詢是否可訪問,而非同步通訊則意味著裝置通知應用程式自身可訪問。 一、系統中存在的非同步機制

linux核心編譯過程的最終總結版__linux

一、實驗目的 學習重新編譯Linux核心,理解、掌握Linux核心和發行版本的區別。   二、實驗內容 在Linux作業系統環境下重新編譯核心。實驗主要內容: A. 尋找並且下載一份核心原始碼,本實驗使用最新的Linux核心2.6.36。 B. 配置核心。 C. 編譯核心和模組。 D. 配置開機檔案。

嵌入式Linux裝置讀取CPU溫度的方法__Linux

http://embedded.kleier.selfhost.me/raspberry_cpu_temp.php http://blog.csdn.net/finewind/article/details/48732581 http://elinux.org/Jetson/Thermal To observe the temperature changes with small heat capacity the timely resolution must be as

speex-linux下音頻處理__linux

交叉編譯linphone [osip2 ,ogg, speex, ortp(VOIP開源軟體)(轉)] 2008-10-22 16:40 LINPHONE ON ARM-LINUX (cross-compiling on host for target architecture)編譯linphone

linux 用speex庫壓縮音頻__linux

int sound::encode() { FILE *fin,*fout1,*fout2,*fout3;//三個檔案指標,fin為已錄製好的音頻檔案 short in[FRAME_SIZE]; short out[FRAME_SIZE]; float input[FRAME_SIZE]; float output[FRAME_SIZE];//設定幾個緩衝區 char cbits[200]; int nbBytes;//用來記錄每次編碼出來的資料量

Linux網路編程——Unix本地通訊端__Arduino

概述   今天給大家講解網路編程中的一個內容——Unix 本地通訊端。   發現很多人不知道或者不太瞭解 Unix 本地通訊端這個概念,這也難怪,socket API 原本就是為多台主機之間網路通訊設計的,並且這種網路 socket 同樣支援單台主機上的處理序間通訊,當然這樣做的話,仍然需要 IP 位址和連接埠號碼(通過 loopback 地址 127.0.0.1)。Unix本地通訊端,其實就是一種專門用於本地(也就是單個主機上的)網路通訊的一種方法,它所用的 API 跟我們之前用的網路

Linux那些事兒之我是Sysfs(4)舉例一lddbus__Linux

對了,你得把ldd3的examples代碼下下來。不然沒法繼續了。 接下來我們從例子著手,localhost:/home/XX/examples/lddbus#insmod lddbus.ko此時再看/sys/bus/ 這時就多了一個檔案夾ldd。裡面的檔案構成是這樣的/sys/bus/ldd/|--device|--driver`--versionlocalhost:/sys/bus/ldd#cat version$Revision:

ALSA 驅動解決 Ubuntu Linux Intel 整合音效卡問題__Linux

  升級以後音效卡突然不能用了,找了好多方法,最後是重新裝alsa驅動解決的。備份一下,以備以後有用。 可以參考 這裡 其中編譯alsa-utils的時候有錯誤,要安裝xmlot,用新得利搜一下安裝就可以了        1157  sudo gedit /etc/modprobe.d/alsa-base.conf   1160  

Linux下訪問記憶體物理地址__Linux

  Linux核心裡提供的/dev/mem驅動,為我們讀寫記憶體物理地址,提供了一個渠道。下面講述2種利用mem裝置檔案進行物理地址讀寫的方法,一種是裝置驅動的方法,另一種是系統調用的方法。

Linux核心入門(五)——必要的硬體知識__Linux

要想弄懂Linux核心的工作原理,就必須懂點基本的硬體知識。這裡我們主要介紹Intel 80x86系列CPU保護模式下最核心的組件中幾個寄存器的作用,這些寄存器在Linux核心運行時起著至關重要的作用。至於其他那些各式各樣的硬體裝置,我們在講解裝置驅動時會針對具體的驅動程式來介紹的。首先,大家先看看CPU的主要架構:   EU(通用寄存器、運算器和控制器)執行組件:完成指令所要求的功能。 SU(段寄存器、段轉換器)分段組件:完成執行單元的地址請求,

Linux核心入門(一)——體系架構__Linux

Linux是一套免費使用和自由傳播的類Unix作業系統,它最先用於基於x86系列CPU的電腦上。這個系統是由世界各地的成千上萬的程式員設計和實現的。其目的是建立不受任何商品化軟體的著作權制約的、全世界都能自由使用的Unix相容產品。

探本溯源——深入領略Linux核心絕美風光之系統啟動篇(一)__Linux

從拿到Linux3.1.1版核心源碼並搭建好閱讀環境開始,到現在大約已經徘徊了兩個多月的時間,期間google了大大小小的文章,才剛剛理清了些許思路並找到了閱讀的切入口。對於核心初學者來說一個好的指導比什麼都重要,有關Linux核心學習的方法論可以參考fudan_abc寫的Linux核心修鍊之道,作者以其深厚的核心功底加上詼諧幽默的文字對讀者娓娓道來,這樣的感染力使得我幾乎是一口氣不斷的看完了整個專欄,相信對於任何對核心有強烈興趣的學習者一定有很多助益。另外,對初學者來說光有方法論是不夠的,特別

linux: work工作隊列__linux

  工作隊列(work queue)是另外一種將工作推後執行的形式,它和前面討論的tasklet有所不同。工作隊列可以把工作推後,交由一個核心線程去執行,也就是說,這個下半部分可以在進程上下文中執行。這樣,通過工作隊列執行的代碼能佔盡進程內容相關的所有優勢。最重要的就是工作隊列允許被重新調度甚至是睡眠。

Linux input 三__Linux

  Linux 的 Input Device 是重要的一個 subsystem,在進行實例介紹前,先大略瞭解一下相關的 API。 Linux Input Device input.c是Linux的”input”驅動程式,主要支援鍵盤與滑鼠的輸入;input.c介面有趣的地方是採用了事件(event)的方式來處理輸入,以下是input.c介面重要的資料結構與函數: * struct input_dev* void input_event(struct

Linux記憶體管理 一__Linux

轉載地址:http://www.kerneltravel.net/journal/v/mem.htm 摘要:本章首先以應用程式開發人員的角度審視Linux的進程記憶體管理,在此基礎上逐步深入到核心中討論系統實體記憶體管理和核心記憶體的使用方法。力求從外到內、水到渠成地引導網友分析Linux的記憶體管理與使用。在本章最後,我們給出一個記憶體映射的執行個體,協助網友們理解核心記憶體管理與使用者記憶體管理之間的關係,希望大家最終能駕馭Linux記憶體管理。 前言

總頁數: 3662 1 .... 975 976 977 978 979 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.