原创 size_t 與 ssize_t 類型

ssize_t是什麼類型的?解釋一:爲了增強程序的可移植性,便有了size_t,它是爲了方便系統之間的移植而定義的,不同的系統上,定義size_t可能不一樣。     在32位系統上 定義爲 unsigned int 也就是說在32位系統

原创 Android Toolchain環境搭建

Android開源已經有一段時間了,一直沒有去研究它,一是沒有時間,二是沒有Linux環境去測試,三是塊頭太大了(源碼2G,加編譯要5G左右)。最近項目差不多近尾聲了,終於可以喘口氣,有時來好好研究一下Android的源碼了,就在WinX

原创 關於嵌入式Linux系統的啓動

#1  關於嵌入式系統的啓動(SHARE FOR ALL)嵌入式Linux啓動分爲兩個部分,系統引導與Linux啓動。系統引導將完成Linux裝入內存前,初始化CPU和相關IO設備,並將Linux調入內存的工作。系統引導主要由BootLo

原创 視頻封裝格式詳解

比較常用的有以下封裝格式 1 AVI AVI容器-成熟的老技術         AVI是微軟1992年推出用於對抗蘋果Quicktime的技術,儘管國際學術界公認AVI已經屬於被淘汰的技術,但是由於windows的通用性,和簡單易懂的開

原创 linux子系統分析及觸摸屏驅動淺析

前段時間負責項目的觸摸屏和光電鼠標,都是輸入設備,看了會這方面的資料,結合項目代碼,做點總結,基本上來自個人理解和互聯網 在linux2.6以後,linux對輸入設備進行了抽象,抽象出了輸入子系統,該系統(Input子系統)是所有I/O設

原创 如何入行Android開發

      近期遇到很多朋友問及想從事Android開發,有些是大四的學生,有些是已經工作了,從事J2EE或者C++、C#等開發工作。對他們爲什麼要從事Android我不是很深入的瞭解,不過Android確實是一個近兩年很火爆的熱詞兒,

原创 Linux內核的Oops

什麼是Oops?從語言學的角度說,Oops應該是一個擬聲詞。當出了點小事故,或者做了比較尷尬的事之後,你可以說"Oops",翻譯成中國話就叫做“哎呦”。“哎呦,對不起,對不起,我真不是故意打碎您的杯子的”。看,Oops就是這個意思。 在

原创 嵌入式筆試題

1. 以下三條輸出語句分別輸出什麼? char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc";  const char str4[] = "abc";  c

原创 等待隊列和工作隊列

對這2個容易混淆的隊列做簡單概念上的區別,至於怎麼用,資料一大堆,不多說,等需要的時候再去找吧 等待隊列在內核中有很多用途,尤其適合用於中斷處理,進程同步及定時。我們在這裏只說,進程經常必須等待某些事件的發生。例如,等待一個磁盤操作的終止

原创 Android觸摸屏校準方法

本文記錄了在調試華清遠見教學平臺FS_S5PC100上的Android觸摸屏驅動的過程。屏的型號是上篇博客《液晶背光電源的選擇》中的A043FW02 V0。這裏也給大家確認下,上次的電源選擇是沒問題的。 我採用的觸摸屏校準方法利用到了t

原创 做一個合格的程序員

程序員每天該做的事1、總結自己一天任務的完成情況 最好的方式是寫工作日誌,把自己今天完成了什麼事情,遇見了什麼問題都記錄下來,日後翻看好處多多2、考慮自己明天應該做的主要工作 把明天要做的事情列出來,並按照優先級排列,第二天應該把自己效率

原创 Linux內核OOPS調試

以前在寫驅動的時候 ,遇到比較多的kernel panic oops 問題,然後 問一些 同事 ,比較多的回答都是加 printk,其實用 GDB 的中的一個功能是能很方便地調試這些問題的。整理了一下,把自己給一家培訓學校寫的課件 貼上來

原创 Linux Kernel Makefiles

目錄 本文檔解說 Linux 內核的 Makefile。 1、概述 2、誰需要什麼 3、Makefile 語言 4、從頂層傳遞下去的變量 5、體系結構 Makefile 的結構 5.1、體系結構特定的變量 5.2、vmlinux 的創

原创 vi replace

1、在vi中使用的查找替換方法利用 :s 命令可以實現字符串的替換。具體的用法包括::s/str1/str2/ 用字符串 str2 替換行中首次出現的字符串 str1:s/str1/str2/g 用字符串 str2 替換行中所有出現的字符

原创 ubuntu安裝軟件

gvim:  sudo apt-get install vim-gnome git: sudo sudo apt-get install git-core gitg qgit samba: wine:  sudo sudo apt-ge