原创 網絡設備(網卡)內核驅動程序詳細解析(以主要rtl8139和dm9000A驅動程序爲例)

學習應該是一個先把問題簡單化,再把問題複雜化的過程。一開始就着手處理複雜的問題,難免讓人有心驚膽顫,捉襟見肘的感覺。讀Linux網卡驅動 也是一樣。那長長的源碼夾雜着那些我們陌生的變量和符號,望而生畏便是理所當然的了。不要擔心,事情總有解

原创 LINUX設備樹的of_類的API尋找

linux設備樹的of_類的API尋找 授人以魚不如授人以漁,那麼,拿人以魚不如學人以漁 base 作用:基本api 文件:drivers/of/base.c基本的api 例子: /**  在設備樹的設備節點中通過name來尋找  * 

原创 epoll事件通知機制詳解,水平觸發和邊沿觸發的區別

     看到網上有不少討論epoll,但大多不夠詳細準確,以前面試有被問到這個問題。不去更深入的瞭解,只能停留在知其然而不知其所以然。於是,把epoll手冊翻譯一遍,更深入理解和掌握epoll事件處理相關知識,也涉及到了操作系統內核的知

原创 與或左移右移操作在控制寄存器配置中的作用

1.寄存器操作的要求(特定位改變而不影響其他位)  (1)arm是統一編址的,arm中有很多內部外設,soc通過向這些內部外設的寄存器寫入一些特定的值來完成操作。這個內部外設進而操控硬件,所以說讀寫寄存器就是在操控硬件。  (2)在設定特

原创 在進行內存映射mmap的驅動編譯中遇到錯誤error: ‘VM_RESERVED’ undeclared (first use in this function)

在對編寫內核驅動相對某個設備文件的物理地址空間用mmap映射到用戶空間的進程地址空間中去,但是在編譯的過程中遇到這樣的問題: error: ‘VM_RESERVED’ undeclared (first use in this funct

原创 P4:編寫協議無關的包處理器(譯自:《P4: Programming Protocol-Independent Packet Processors》轉自:SDNLAB--譯者毛健煒)

摘要 P4是一門編寫協議無關的包處理器的高級語言。P4與SDN控制協議聯合在一起工作,比如OpenFlow。在OpenFlow當前的協議形態中,它精確地指定了供它操作的協議頭。這個協議頭集合已經在短短的幾年時間中,從12個域增長到了41個

原创 cavium 應用MIPS內核的OCTEON家族處理器CPU介紹

放眼現今的網絡、安全、無線及存儲應用系統,對於最高性能及最低功耗的優質處理器需求持續升高。Cavium Netowrks公司的OCTEON家族處理器經過高度優化,相當適合control-plane、data-plane應用或兩者的混合,以

原创 Ubuntu手動掛載Windows共享文件夾命令

命令先直接給出: sudo mount -t cifs -o username=tasdily,password=xxxxxx,rw,file_mode=0777,dir_mode=0777,uid=0,gid=0 //192.30.42

原创 pip3下載很慢的解決辦法

pip3 下載很慢,這個和pip3的國外服務器連接不穩定有關,需要按以下步驟更新pip源 : 在 /root 以及 /home/[username]目錄下先輸入如下命令,創建相關配置文件: mkdir .pip cd .pip vi pi

原创 含有vlan的二層、三層轉發原理

開門見山,含有vlan的二層轉發原理文字描述和流程圖如下: 基於Vlan的二層轉發流程主要包括:確定和查找Vlan、查找和學習源MAC、查找目的MAC並轉發數據幀。 1) 確定和查找Vlan:交換機端口接收到一個數據幀時,首先通過TPID

原创 谷歌瀏覽器總是顯示未允許Flash Player等提示問題

這裏的步驟前提是你已經安裝了最新版本的flash了; 我先是百度了一下怎麼解決這個問題,什麼從設置裏找到flash的設置呀,過程太麻煩,其實可以打開一個新頁面直接輸入這個地址:chrome://settings/content/flash

原创 windows下使用vscode遠程連接Linux服務器進行開發---使用工具remote-ssh

介紹 趕着雙十二買了個服務器玩玩,一開始使用putty連接服務器直接在上面用vim進行編程,但是速度確實不敢恭維經常出現問題,就研究如何在本地windows上使用vscode進行遠程開發。這裏介紹下其中的細節。 開始 具體實現通過vsco

原创 linux下運行c語言程序報Segmentation Fault錯誤原因總結即解決辦法彙總

最近在項目上遇到了Segmentation Fault的錯誤,一直調試不出來是哪裏出了問題,對於剛接觸嵌入式的,也不知道該如何去調試一個項目,定位內存問題,糾結了好幾天,好阿紅整理下自己的思路。從頭開始。   以下內容只爲整理來自己使用的

原创 用碼雲導入github創建爲自己的倉庫從而解決git clone很慢甚至導致失敗的問題

碼雲導入github 登錄碼雲註冊賬號。   導入想要clone的倉庫: 建議公開,不然私有的還要祕鑰,麻煩。導入成功後 把這個自己的倉庫的地址鏈接在linux中clone就好了 到此就可以愉快的克隆了。

原创 編譯grpc的過程中缺少庫zlib package,報錯:Package zlib, required by grpc, not found

問題描述 在安裝grpc的時候發現缺少相關依賴環境,報錯: configure: error: Package requirements (grpc++ >= 1.17.0 grpc >= 7.0.0) were not met: Pac