原创 JZ2440開發板移植Qtopia2.2.0
參考文獻: 《嵌入式Linux應用開發》韋東山編著 http://emb.hqyj.com/column/column97.htm (1)移植環境: 環境:ubuntu9.10
原创 Input子系統詳解-基於Linux2.6.22內核
(1)輸入子系統框架 Input子系統框架 app: open() read() write() --------------------------------------------- 內核: xxx_drv的 fos 結
原创 spi總線設備驅動模型詳解(Linux3.4)
(一)spi總線設備驅動框架: app: open() read() write() ---------------------------------------------------
原创 VS環境下動態庫和靜態庫的建立和使用
1 動態庫和靜態庫的定義 1.1 庫的定義 庫是寫好的現有的,成熟的,可以複用的代碼。所謂靜態、動態是指鏈接。 靜態庫在鏈接階段,會將彙編生成的目標文件.o與引用到的庫一起鏈接打包到可執行文件中。因此對應的鏈接方式稱爲靜態鏈
原创 Cortex-M3內核之位帶操作
位帶操作(Bit-Band Operations ),顧名思義,就是開發人員可以單獨對CPU寄存器的某一位進行讀寫操作,這無疑將會簡化我們開發代碼的難度。我們也許已經在8051單片機中體會到了這種位帶操作帶來的好處,比喻說我
原创 sysfs和proc文件系統解析
(1)sysfs 1.1) Linux設備驅動模型中的總線、驅動和設備都可以在sysfs文件系統中找到對應的節點。當內核檢測到在系統中出現了新設備後,內核會在sysfs文件系統中生成一項新的記錄它會產生一個包括所有系統硬件的
原创 Nand Flash驅動程序編寫(linux 3.4.2內核)
參考文件 drivers\mtd\nand\s3c2410.c(當內核啓動時,會打印相關nand的信息,搜索相關打印信息,找到這個文件) 內核提供的nand flash 驅動例子,從這個例子中我們可以總結出nand f
原创 (1)電源管理-S3C2440芯片電源管理模塊解析
(1)電源模塊解析 電源管理塊通過軟件控制系統時鐘,以降低S3C2440的功耗。這些方案涉及鎖相環、時鐘控制邏輯(FCLK、HCLK和PCLK)和喚醒信號。圖1顯示了S3C2440A的時鐘分佈。
原创 Ubuntu16.04安裝gcc-3.4
第一步:下載所需gcc安裝包(.deb格式) 手動:老版本gcc下載地址:http://old-releases.ubuntu.com/ubuntu/pool/universe/g/ ; http://archive.ubunt
原创 spi總線設備驅動模型詳解(Linux2.6.22)
(一)spi總線設備驅動框架: app: open() read() write() ---------------------------------------------------
原创 I2C總線設備驅動框架
編寫I2C驅動程序,我們可以參考 \linux-3.4.2\Documentation\i2c 中的一些文檔 (1)大致框架 app: open read write --------------------------------
原创 攝像頭驅動框架(v4l2)詳細分析
在分析v4l2(video for linux 2.0)框架之前,我們需先了解驅動程序分層的概念。 所謂分層,其實是利用了面向對象的思想---繼承,我們知道,子類繼承父類,並且對於父類提供的資源,合
原创 不帶緩存I/O和標準I/O(帶緩存)之間的區別
先來看看不帶緩存的I/O和標準(帶緩存的)I/O都有那些 不帶緩存的I/O: read,write,open...... 標準(帶緩存的)I/O: fgets,fread,fwrite..... 這裏使用兩個對應的函數進行比較
原创 虛擬機下Ubuntu16.04橋接模式不能上網問題解決
橋接模式老是無法上網,查看本機IP發現被分配了一個私網地址,猜測應該是虛擬DHCP服務器沒有打開,於是查看Ubuntu的網絡配置: /etc/network/interfaces 發現沒有dhcp配置的信息,只有loopback: 手動
原创 輸入子系統框架詳解
輸入子系統框架詳解 (1)爲什麼要使用輸入子系統框架 我們在剛開始學習字符設備驅動程序的編寫時,都會用到這樣一個框架: 首先分配一個主設備號( alloc_chrdev_region(),推薦用這個函數 ),接着