原创 linux下模擬鍵盤的幾種方法

1、使用GTK中的GdkEvent     GdkEvent *event;    event = gdk_event_new (GDK_KEY_PRESS);              //按鍵按下    event->key.send

原创 DSP2407進入中斷後的現場保護問題

以前發過一個帖子,求助如何在進入中斷後保護ARP的問題,一直沒有解決,現在我找到了解決的方法,跟大家分享下我的經驗。     我以前做中斷保護是模仿C語言生成彙編的做法,把AR1做爲棧指針,進入中斷後這樣保護     SST     #0

原创 DSP2407數據總線和地址總線的用法

數據總線和地址總線雖然不能做IO口用,但也可以控制LED之類的東西的,A15~A0,D15~D0上的電平是瞬間的,不能保持,所以使用這些總線的時候就需要外接一個有鎖存功能的芯片比如74HC259,259再外接LED之類的東西就可以控制了,

原创 linux c/c++ GDB教程詳解

學習使用了GDB一段時間後,發現它真的好強大!好用! GDB是GNU開源組織發佈的一個強大的UNIX下的程序調試工具。或許,各位比較喜歡那種圖形界面方式的,像VC、BCB等IDE的調試,但如果你是在UNIX平臺下做軟件,你會發現GDB這個

原创 Debian系統配置文件說明

Chapter 10. Debian系統配置文件說明 Table of Contents 10.1. .bash_profile、.bashrc、.bash_history和.bash_logout 10.2. /etc/

原创 我的Debian2.6.26 入門驅動

    在linux寫驅動要比windows下簡單的多,不過剛開始驅動環境的搭建耗了我不少時間,下面主要說下我的第一個驅動的完整過程。     一、下載內核源碼.     很簡單,apt-get install linux-source-

原创 mini2440彙編實例--led

     系統啓動階段的代碼我還是比較喜歡用匯編,可以對ARM的指令更瞭解一些,我用匯編改寫了韋老師的led例子,代碼如下 .equ GPBCON, 0x56000010 .equ GPBDAT, 0x56000014 .equ GP

原创 ARM中的STM/LDM指令

STM/LDM是批量傳輸數據的指令,這裏要說明的是[15:0]Register list代表了16個寄存器,傳輸數據的時候R15始終是最後傳輸的,按照從R0到R15的順序,R15始終在高地址。   遞增傳輸倒好理解,關鍵是遞減傳輸,244

原创 ARM中的MOV指令

        ARM中的MOV指令格式是這樣的         op2是佔了12位,其中bit11-bit8是移位數(rotate),bit7-0是一個8位的立即數(imm),MOV Rn, op2,執行之後,Rn=op2 >> (r

原创 深入理解計算機系統讀書筆記之程序的跳轉

        跳轉指令有幾種不同的編碼,但最常用的一些是PC相關的(PC-relative, PC = Program Counter)。也就是,他們會將目標指令的地址與緊跟在跳轉指令後面那條指令的地址之差作爲編碼。         我

原创 DFB的焦點切換

      DFB一般用在嵌入式系統中,所以窗口管理器的實現特別簡單,特別是default,我用的就是這個窗口管理器,所以也就有了侷限性,這幾天遇到了一個窗口的焦點問題,就看了下Directfb的源碼,勉強理出了個頭緒。       de

原创 FC9下安裝*.src.rpm

    我要安裝的源碼包是kenel-2.6.25-14.src.rpm,可以再http://rpm.pbone.net找到,平臺在XP的虛擬機上,使用的是Fedora-9-i386-DVD.iso鏡像安裝的系統,這個鏡像也不錯,下載地址

原创 關於typeof

    GCC中支持的一個關鍵字叫typeof,第一次看到比較費解,在網上查了一些資料,越看越糊塗,今天終於弄明白了,其實很簡單,就是獲取某個關鍵字或者表達式的類型,比如typeof(a) = get the type of a,如果a是

原创 linux下顯示中文字體的幾個必要條件

一、多語言支持 1、SUPPORTED文件       可以拷貝PC機上的/usr/share/i18n/SUPPORTED,打開SUPPORTED文件,刪除你所不需要的語言,我這裏只保留了zh_CN.UTF-8 UTF-8,zh_TW

原创 深入理解計算機系統讀書筆記之一個簡單彙編程序的調試分析

爲了深入理解彙編程序中的幀指針(ebp)和棧指針(esp)的用法,想親自調試下程序,我寫了一個簡單的程序,如下:  #include <stdio.h> int add (int a, int b, int c); int main (i