原创 netlink 編程

Linux 系統下內核與應用進行數據交換的各種方式,包括內核啓動參數、模塊參數與 sysfs、sysctl、系統調用、netlink、procfs、seq_file、debugfs 和 relayfs;包括:路由 daemon(NETLIN

原创 oprofile

Android上oprofile使用說明1.目的本文介紹了oprofile的功能並基於Android 2.1介紹了使用oprofile的基本方法和步驟。本文的讀者爲軟件開發人員和白盒測試人員。2.oprofile簡介Oprofile是用於L

原创 gdb 調試段錯誤

1.用到命令有: gdbserver 192.168.0.157:1234 fun arm-linux-gdb fun target remote 192.168.0.157:1234 attach debuf: gdbserver 192

原创 我的友情鏈接

51CTO博客開發宋寶華博客陳莉君存儲之道

原创 linux 內存分配

此函數從ZONE_NORMAL物理內存區域申請內存,並轉化爲虛擬地址;流程:1.通過alloc_pages函數獲得對應的線性物理內存頁面,此頁面在內核啓動時已經建立和虛擬內存的一一對應關係。2.通過page_address將物理頁地址轉化爲

原创 tcpdump移植

               TCPDUMP移植到ARM1.下載軟件   到http://www.tcpdump.org/下載最新軟件包:    tcpdump-4.5.1.tar.gz和libpcap-1.5.3.tar.gz2.移植l

原创 開源項目學習方法

學習各種開源項目,已經成爲很多朋友不可迴避的工作內容了。筆者本人也是如此。在接觸並學習了若干個開源項目之後,筆者試圖對自己工作過程中的若干體會加以總結,以期對一些希望借鑑的朋友有所裨益。        需要說明的是,筆者本人接觸的開源項目大

原创 nand

1.當往NAND FLASH 的PAGE中寫入數據時,每寫入512字節產生3字節ECC。並寫入到OOB得ECC位置,此ECC叫做原始ECC。2.當從NAND FLASH讀數據時,每讀取512字節產生3字節ECC,叫做新ECC。3.原始ECC

原创 Linux內核高端內存

Linux內核地址映射模型x86 CPU採用了段頁式地址映射模型。進程代碼中的地址爲邏輯地址,經過段頁式地址映射後,才真正訪問物理內存。 段頁式機制如下圖。Linux內核地址空間劃分通常32位Linux內核地址空間劃分0~3G爲用戶空間,3

原创 關注開源

                                       UnitedStack        UnitedStack是一家以工程師爲主導的OpenStack開源雲計算公司,爲企業和雲服務商提供基於OpenStack的

原创 開源項目學習方法

學習各種開源項目,已經成爲很多朋友不可迴避的工作內容了。筆者本人也是如此。在接觸並學習了若干個開源項目之後,筆者試圖對自己工作過程中的若干體會加以總結,以期對一些希望借鑑的朋友有所裨益。        需要說明的是,筆者本人接觸的開源項目大

原创 linux內核線程migration_thread和kthreadd的創建

linux內核中兩大重要的線程,migration_thread負責cpu的負載均衡(將進程從本地隊列移動到目標cpu的隊列),kthreadd負責爲kthread_create_list鏈表中的成員創建內核線程。內核版本2.6.24中的引

原创 ISO C99 構造函數和析構函數

linux gcc 中需要在main函數之前初始化全局結構體(對象)時,使用ISO C99 構造函數和析構函數;如下:    static void start(void) __attribute__((constructor)); //構

原创 gogole 全球IP地址

https://github.com/justjavac/Google-IPs

原创 linux v4l2----框架

1.下面是根據自己的理解,有不對請指正    v4l2_device 被關聯到device各種子對象中,有PCI總線設備,USB設備,虛擬平臺設備,關聯通過device的driver_data完成。這樣隨着系統中device設備的加入,v4