原创 網絡 -- 以太網(PAUSE)流量控制

關鍵詞: 以太網  數據鏈路層  PAUSE幀  流量控制。 摘  要: PAUSE操作實現了一種簡單的停-等式流量控制機制,可以防止瞬時過載導致緩衝區溢出時不必要的幀丟失。 以太網流控的引入 硬件成本和數據幀處理速度的限制,緩衝擁塞造

原创 Tools -- uboot下memtest工具

以Hi3519av100對應的uboot爲例,想要uboot下進行內存測試   可以使用 “mtest” 命令   編譯uboot,配置增加mtest宏 make ARCH=arm k5_hi3519av100_defconfig ma

原创 Tools -- Tcpdump安裝

Tcpdump源碼官網 http://www.tcpdump.org   安裝步驟 下載tcpdump、libpcap libpcap-1.8.1.tar.gz tcpdump-4.9.0.tar.gz   安裝libpcap 解壓

原创 U-Boot -- uboot代碼深度解析

1. 準備工作       1.1 uboot源碼 本文是基於hdu5開發板對應的uboot源碼進行分析。  1.2 代碼閱讀軟件source insight 可以想象uboot源碼包有10000多個文件,每個文件都有幾百行甚至上千行代碼

原创 內存 -- ps 查看當前進程的內存消耗

在linux下通常通過free命令查看當前的內存消耗情況 例如: admin@k5:/data/user/3798c # free total used free s

原创 操作系統 -- Linux內核死鎖檢測(寫一個簡單的死鎖demo)

問題描述     實際產品運行過程中,Linux系統僵死,屏幕無任何有效串口打印信息,網絡中斷、鍵盤鼠標沒有任何響應。     這種故障現象,可能是因爲Linux內核死鎖導致。由於無任何有效打印信息,內核日誌中也沒有記錄,就無法定位故障根

原创 PCIe Multicast組播功能實現

參考:《PCIe-Multicast(組播)實現》     PCIe組播概念 傳統 PCIe系統侷限於單目標傳送 ,這種傳輸模式以主機爲中心 ,使得主機在給定的時間,在某一時刻主機只能與衆多子設備中的一個進行通訊 。 現在越來越多的應用需

原创 操作系統 -- linux的背光(backlight)子系統

基於Linux 3.18.y 概述     linux的背光(backlight)子系統用於在/sys目錄下提供用戶空間控制LCD或者其他顯示設備的背光亮度的接口。     這裏的亮度並不是亮和滅兩個狀態,可有很多個等級的亮度,便於用戶空

原创 開發環境 -- 在Linux下寫一個腳本【循環、if判斷、輸出到串口、查找進程】

開發的時候,常常會需要寫一個腳本,可能是希望上電啓動某個程序,也可能是希望循環的執行某一個命令,還有時候需要在腳本中添加判斷並分支執行等等。   如何寫一個循環腳本: 一個最簡單的循環腳本如下: while [ 條件判斷 ] do

原创 開發環境 -- windows下代碼拷貝至linux下,行尾出現^M(換行符轉換)

  開發的時候,將windows下腳本拷貝到linux文件內,執行的時候報錯: -bash: ./package.sh: /bin/sh^M: bad interpreter: No such file or directory 明顯看

原创 開發環境 - Makefile中添加打印

有時候我們會修改Makefile文件,或者是重新配置了menuconfig之後,編譯並沒生成想要文件 難道是編譯過程中有問題? 那就加個打印吧!   在Makefile中可以通過warning去輸出打印信息: #利用warning函

原创 網絡 -- Linux獲取本機MAC地址

直接上代碼: #include <stdio.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #inclu

原创 操作系統 - Linux編譯一個簡單的ko模塊

本來打算寫一個簡單的demo去驗證sipn_lock、mutex_lock死鎖的, 結果代碼寫好了,忘了怎麼編譯成ko了... 還是自己手動記一下,方便以後找資料。 (有很多的博客其實主要內容都是別人的,自己只是照着做了一遍,然後把其中的

原创 Linux查看端口使用狀態、關閉端口方法(netstat,lsof)

在部分項目中對網絡層安全有要求,僅允許開啓必要的網絡端口,那麼就要求研發對每一個開啓的端口都知曉其具體作用。   以下內容轉載自其他文章,僅做歸納: 大家都知道,端口不是獨立存在的,它是依附於進程的。某個進程開啓,那麼它對應的端口就開啓了

原创 Shell -- 將需要的文件搬運到指定目錄下

find . -name '*.ko' | xargs mv -t output/ 注: 從當前目錄開始搜索,將所有的ko文件全都搬運到output目錄下 find 的作用應該不用多說吧,xargs 配合管道 (|) 的作用就是把