原创 Unknown symbol gpio_direction_input解決方法
內核對gpio_direction_input導出聲明如下:EXPORT_SYMBOL_GPL(gpio_direction_input);gpiolib中gpio方法導出也是使用EXPORT_SYMBOL_GPL因此,驅動如果要使用gp
原创 SPIflash
http://blog.chinaunix.net/uid-25445243-id-4026974.html Linux spi驅動分析(四)----SPI設備驅動(W25Q32BV) 一、W25Q32BV芯片簡介
原创 SPI總線
SPI總線通信電路設計 數據帶寬=(總線頻率×數據位寬)÷8 B表示帶寬,F表示存儲器時鐘頻率,D表示存儲器數據總線位數,則帶寬爲: B(峯值帶寬)=F(時鐘頻率MHz)×D(總線位數bit)/8 例如,PC-100的SDRAM帶寬計
原创 STM32 SPI DMA 的使用
一是想總結一下SPI總線的特點與注意點,二是總結一下SPI DMA的使用 一、SPI信號線說明 通常SPI通過4個引腳與外部器件相連: MISO:主設備輸入/從設備輸出引腳。該引腳在從模式下發送數據,在主模式下接收數據。MOSI
原创 Android/Linux驅動開發之使用dev_dbg調試設備驅動
原創作品,轉載時請務必以超鏈接形式標明文章原始出處:http://blog.csdn.net/gqb666/article/details/8789807,作者:gqb666 1、最近在寫I2C下EEPROM的驅動程序,但發現使用i2
原创 Linux下讀寫FLASH驅動——MTD設備分析
最近在學習驅動讀寫flash的代碼部分。經歷了可笑的過程:開始我知道flash用通過spi口來讀寫。所以就到了driver/spi 下面看相關代碼。發現有個spidLinux下讀寫FLASH驅動——MTD設備分析ev.c裏面有read/
原创 TCP連接探測中的Keepalive和心跳包
1. TCP保活的必要性 1) 很多防火牆等對於空閒socket自動關閉 2) 對於非正常斷開, 服務器並不能檢測到. 爲了回收資源, 必須提供一種檢測機制. 2. 導致TCP斷連的因素 如果網絡正常, socket也通過
原创 TCP之選項TCP_KETEPALIVE
TCP之選項TCP_KETEPALIVE KEEPALIVE機制,是TCP協議規定的TCP層(非應用層業務代碼實現的)檢測TCP本端到對方主機的TCP連接的連通性的行爲。避免服務器在客戶端出現各種不良狀況時無法感知,而永遠等在
原创 OTP (One Time Programmable)的介紹
隨着嵌入式應用的越來越廣泛,產品的安全也顯得越來越重要。一方面是爲了保護硬件設計,另外一方面也是爲了產品本身的安全,防止被HACKED.在嵌入式系統當中,所有的代碼和系統數據都是被存儲在FLASH芯片內部的。FLASH芯片的特點是可多次擦
原创 Linux內核代碼中的__setup的用途
在Linux內核代碼中經常會看到__setup,如下所示: __setup("nfsroot=", nfs_root_setup); 這是一個宏,它的定義在include/linux/init.h #defin
原创 TCP協議的KeepAlive機制與HeartBeat心跳包
心跳包 http://www.nowamagic.net/academy/detail/23350382 很多應用層協議都有HeartBeat機制,通常是客戶端每隔一小段時間向服務器發送一個數據包,通知服務器自己仍然在線,並傳輸一些
原创 blog
xiaobai.blog.chinaunix.net
原创 網絡編程中的TCP保活
在默認的情況下,TCP連接是沒有保活的心跳的。這就是說,當一個TCP的socket,客戶端與服務端誰也不發送數據,會一直保持着連接。這其中如果有一方異常掉線,另一端永遠也不可能知道。這對於一些服務型的程序來說,將是災難性的後果。
原创 /usr/bin/ld: cannot find : No such file or directory解決
linux gcc編程時可能出現下面的錯誤: /usr/bin/ld: cannot find : No such file or directory cannot find後面什麼都沒有,很有可能是因爲命令中間多了個空格符導致
原创 Linux設備之I2C
在內核中已經提供I2C子系統,在linux系統中,I2C驅動結構如下圖所示: 其中從上圖可以I2C由三大部分組成: 1、I2C核心:I2C核心提供了總線驅動和設備驅動的註冊、註銷的方法,I2C通信方法,與具體適配器無關的代碼以