原创 Linux驅動調試手段:打印信息日誌

1.printk 1.1 printk的優點:    a. 在中斷中調用   b. 在進程上下文中調用   c.在持有鎖時調用   d.在多處理器上同時使用 1.2 printk的缺點:    a.終端啓動前無法調用 1.3 printk

原创 TI ARM和DSP雙核平臺的一個編譯例程

一個適用於TI ARM與DSP雙核平臺的makefile。該makefile示意瞭如何同時編譯出ARM平臺和DSP平臺的執行文件,以便於比較ARM核和DSP核在進行運算時表現出來的性能差異。 makefile #############

原创 守護進程:代碼的分析

守護進程實現代碼如下所示: [html] view plaincopy void daemon_mode(void) {     int fr=0;        fr = fork();     if( fr < 

原创 Linux flash 文件系統剖析

簡介: 您之前可能聽說過 Journaling Flash File System(JFFS)和 Yet Another Flash File System(YAFFS),但是您知道使用底層 flash 設備的文件系統意味着什麼嗎?本文將

原创 Linux Gadget的一點研究之例程分析

學習Gadget比較有效的辦法是掌握基本架構後,認真研讀例程。其實不單Gadget如此,其他Linux驅動或子系統都是如此。另外Linux下的外設驅動通常有分層的概念,有帶有面向對象的思想,因此研讀代碼是比較有效的領悟辦法。 一般一個Li

原创 ARM的彙編學習

如果你還是學習電子通信的學生又或者是從事嵌入式電子通信工作的工程師、助理工程、實習生、打雜員,筆者想你也曾經對彙編有着複雜的恐懼,甚至是這一恐懼是大學裏學《微型計算機技術》開始的。但是就筆者淺薄的工作經歷看來,如果你能掌握或者退一步說能

原创 ARM架構的書籍

最早接觸ARM時,是在2008年,那時是大三,那時ARM的學習板首推周立功的,但是價格高昂,所以ARM對於我們沒有太多實驗室資源的小本科來說是個很神祕的東西,開發板買不起,於是就到圖書館狂啃周立功的開發板配套書籍,那時覺得很經典。 後來參

原创 Android/Linux USB Gadget:續

爲保留連貫性,但又急於記錄另一篇,所以先mark...

原创 Linux常用文件系統的製作命令

記錄以前開發中製作過的Linux文件系統,記得以前爲了評估文件系統的優越性,在用busy製作出文件系統目錄通過各種文件系統工具將目錄打包成各種文件系統格式:Ramdisk、Cramfs、ubifs、jffs2等。 以下記錄以前用過的腳本,

原创 WiFi聯網的兩種工作方式:點對點與基本模式

大家都知道WiFi(即IEEE 802.11b)作爲有線網絡的補充使用起來很方便,而且由於WiFi的靈活性很強,經常被用來獨立組網,而其使用的工作模式就是點對點模式及基本模式兩種,如何理解與區分這兩種模式呢?下面簡單說一下: 1點對點模

原创 Android中log及logcat命令的使用

1.log使用 對於Android HAL/Framework可在Android系統源代碼下通過以下方式使用log 1.在程序文件中包含頭文件 #include <cutils/log.h> 2.定義log的標籤宏 #define

原创 Android makefile寫法(Android.mk)

整理以前記錄的關於針對將Android C/C++程序編譯爲可執行 / 靜態庫 / 動態共享庫的Android.mk寫法示例總結。 1.可執行文件 # Test exe LOCAL_PATH:=$(call my-dir) includ

原创 GPS調試-1

GPS的一些基本知識 GPS一般分爲軟和硬GPS,軟GPS直接輸出的是衛星數據,需要應用處理器對衛星數據進行解析計算,然後再轉成標準的NMEA(National Marine Electronics Association,國際海洋電子協

原创 ARM的異常及向量表

  ARM具有7種異常,分別爲: 1、復位 2、未定義指令 3、軟中斷 4、預取指令終止 5、數據終止 6、中斷請求(IRQ) 7、快速中斷請求(FIQ)   用一句通俗的話去表達ARM的運行情況,那就是ARM總會在運行

原创 Android init.rc文件淺析

本文主要來自$ANDROID_SOURCE/system/init/readme.txt的翻譯. 1 簡述 Android init.rc文件由系統第一個啓動的init程序解析,此文件由語句組成,主要包含了四種類型的語句:Action