目前分類:Linux Kernel (24)

瀏覽方式: 標題列表 簡短摘要

printk的訊息優先權定義在linux/kernel.h

節錄在下面:
1 KERN_EMERG
2 KERN_ALET
3 KERN_CRIT
4 KERN_ERR
5 KERN_WARNIN
6 KERN_NOTICE
7 KERN_INFO
8 KERN_DEBUG

printk 沒有指定時,預設的訊息優先權為 DEFAULT_MESSAGE_LOGLEVEL 為 /proc/sys/kernel/printk 的第二項

log level 數字越低表示印出的訊息越少

printk 會輸出至 cirrular buffer
buffer variable : log_buf
len : LOG_BUF_LEN

/proc/sys/kernel/printk檔案分別定義了
console_loglevel
default_message_loglevel
minimum_console_level
default_console_loglevel

BB 發表在 痞客邦 留言(0) 人氣()

 

經常我們在睡眠的代碼中會看到這樣的例子:

BB 發表在 痞客邦 留言(0) 人氣()

REF:
http://www.hitripod.com/blog/2012/03/synchronization-mechanism-comparison-spinlock-mutex/

BB 發表在 痞客邦 留言(0) 人氣()

序言
從這一章開始,我們將詳細的介紹Linux的設備驅動模型。Linux設備驅動模型是一個相當複雜的系統,對於初學者來說真有些無從入手。而且更加困難的是,隨著新的Linux Kernel的release,Linux的設備驅動模型總會有或大或小的變化,我們將盡量展現Linux Kernel 的這種變化。

BB 發表在 痞客邦 留言(0) 人氣()

驅動註冊platform_driver(一)

BB 發表在 痞客邦 留言(0) 人氣()

轉載 http://blog.csdn.net/xie376450483/article/details/5729936

BB 發表在 痞客邦 留言(0) 人氣()

//----------------------------------------------------------------
//==//auto create device node//==//

BB 發表在 痞客邦 留言(0) 人氣()

從Linux 2.6 起引入了一套新的驅動管理和註冊機制:Platform_device 和Platform_driver 。
Linux 中大部分的設備驅動,都可以使用這套機制, 設備用Platform_device 表示,驅動用Platform_driver 進行註冊。

BB 發表在 痞客邦 留言(0) 人氣()

platform_driver_register
platform_driver_register()是來註冊設備的驅動程序

BB 發表在 痞客邦 留言(0) 人氣()

//--------------------------------------------------------------------
#include /include/linux/platform_device.h

BB 發表在 痞客邦 留言(0) 人氣()

前言
什麼是DMA(directly memory access)?

BB 發表在 痞客邦 留言(2) 人氣()

常用核心記憶體分配函數
1.__get_free_pages

BB 發表在 痞客邦 留言(0) 人氣()

3項技術:
1,mmap系統調用可以實現將設備記憶體映射到用戶進程的地址空間。

BB 發表在 痞客邦 留言(0) 人氣()

dma_alloc_coherent() -- 獲取物理頁,並將該物理頁的實體位址存放在dma_handle。然後回傳該物理頁的邏輯位址。

BB 發表在 痞客邦 留言(0) 人氣()

實體記憶體映射技術:mmap ioremap
要在AP中直接設定裝置或者直接存取實體記憶體位址,

BB 發表在 痞客邦 留言(0) 人氣()

ioctl 變成了 unlocked_ioctl

BB 發表在 痞客邦 留言(0) 人氣()

發現從 kernel 2.6.36 之後, DECLARE_MUTEX 有些變化

BB 發表在 痞客邦 留言(0) 人氣()

Linux提供了記憶體映射函數 mmap,它把文件內容映射到一段記憶體上(準確說是虛擬記憶體上),
通過對這段記憶體的讀取和修改,實現對文件的讀取和修改。

BB 發表在 痞客邦 留言(1) 人氣()

mmap 和 VMA

 
lseek - move the read/write file offset

BB 發表在 痞客邦 留言(0) 人氣()

I/O Ports and I/O Memory

BB 發表在 痞客邦 留言(0) 人氣()

1 2