原创 CC_STACKPROTECTOR防止內核stack溢出補丁分析

CC_STACKPROTECT補丁是Tejun Heo在09年給主線kernel提交的一個用來防止內核堆棧溢出的補丁。默認的config是將這個選項

原创 linux內核調試2

http://blog.chinaunix.net/uid-29401328-id-4932947.html 下面再來測試一次: # insmod syst.kos_init success!# ./test             /

原创 shell腳本學習一

簡單而言,command line的每一個charactor分爲如下兩種:    *literal:也就是普通純文字,對shell來說沒有特殊功能。    *meta:對shell來說,具有特定功能的保留字。 literal沒有什麼好說的

原创 linux信號處理機制2

本文簡單介紹下Linux信號處理機制,爲介紹二進制翻譯下信號處理機制做一個鋪墊。 本文主要參考書目《Linux內核源代碼情景分析》《獨闢蹊徑品內核:Linux內核源代碼導讀》   信號概述    ●  信號是在軟件層次上對中

原创 linux的條件變量和時間編程

                條件變量是利用線程間共享的全局變量進行同步的一種機制,主要包括兩個動作:一個線程等待"條件變量的條件成立"而掛起;另一個線程使"條件成立"(給出條件成立信號)。爲了防止競爭,條件變量的使用總是和一個互斥鎖結

原创 GCC 各工具使用簡介

GCC:GNU開發的程序編譯器 GNU:“GNU‘s NotUnix”,最初是爲了實現一個類似unix的自由操作系統,感覺現在已經通常泛指遵循GPL自由軟件精神的組織。 GPL:GNU通用公共許可證(GNU GeneralPublic

原创 linux驅動調試--段錯誤之oops信息分析

原文地址 http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29401328&id=4923447 發生段錯誤原因就是訪問了不該訪問的地址,例如訪問了不存在的內存地址、訪問了系

原创 常用的UML工具介紹和評價

UML簡介 Unified Modeling Language (UML)又稱統一建模語言或標準建模語言,是始於1997年一個OMG標準,它是一個支持模型化和軟件系統開發的圖形化語言,爲軟件開發的所有階段提供模型化和可視化支持,包括由需

原创 linux內核死機2-smp

問題:程序跑一段時間之後會報告:         INFO: rcu_sched_state detected stalls on CPUs/tasks: { 1} (detected by 0, t=15002 jiffies)。意思

原创 linux驅動調試--段錯誤之棧信息分析

原文來源:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29401328&id=4923529, 感謝原著。 接着上一篇來分析一下Oops的棧 s3c2440平臺關於調試

原创 音視頻基礎知識

隔行和逐行的含義: 視頻文件分隔行掃描和逐行掃描。 隔行掃描就是每一幀被分割爲兩場,每一場包含了一幀中所有的奇數掃描行或者偶數掃描行,通常是先掃描奇數行得到第一場,然後掃描偶數行得到第二場。 隔行掃描有兩種模式:上場優先或下場優先

原创 linux中的strip命令簡介

一、stip命令學習原因             背景: 在調試一個ko模塊時,應用addr2line命令 得不到行號等死機的具體位置信息,只能得到一個函數名稱,"addr2line得到行號爲??:?或??:0的原因"。         

原创 linux反彙編調試

反彙編有有以下幾種方法: 1.使用gcc -S test.c 或者gcc -S test.c>out.txt 2.使用gdb調試,在調試中輸入disass 函數名 就可以 3.objdump -D test 一般常用1,2兩種, ~~~~

原创 架構師成長之路二-----技能需求

可以看到網上收的部分架構師的能力要求,多種多樣,可根據自己感興趣的和自己目前從事的方向進行學習。 1.設計和開發汽車電子應用軟件; 2.與相關同事溝通協作,理解並實現業務功能需求; 3.編寫、維護開發文檔,設計測試用例; 崗位

原创 linux死機問題

請教,我用的MT7621雙核CPU,經常出現stall on CPU的情況, <3>INFO: rcu_sched_state detected s