原创 網絡 -- 以太網(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 配合管道 (|) 的作用就是把