此Blog用來收集、整理網路上各種資訊,每篇都會附上來源、參考資訊,如果有標示整理即是我有潤飾成繁中用法、參考其他文章整合 ... 等。
所有引用文章版權皆為原作者所有!
以下為個人程式心得整理和文章快速列表:
程式開發心得
此Blog用來收集、整理網路上各種資訊,每篇都會附上來源、參考資訊,如果有標示整理即是我有潤飾成繁中用法、參考其他文章整合 ... 等。
所有引用文章版權皆為原作者所有!
以下為個人程式心得整理和文章快速列表:
今年中出的 Ubuntu 11.10 把 gcc 升級到 4.6,這會讓不少人的 Android build 不出來 :X
主要的原因很簡單,因為大家的 code 不夠嚴謹,跟不上 gcc 4.6。這通常都是BSP本身的問題,因為gcc版本
影響的是 host 端,最大宗的就是廠商提供的 host tool、flash tool
如果真的要用 11.10 去 build Android最簡單的方式就是把 gcc 切回 4.4
常常要 trace reference device 的人,應該會需要找各 device 的 kernel source code,這篇文章主要整理的這份清單,以 Android 各版本的 leading device 為主,加上各版本 Google 所使用平台的 dev. board的資訊。
其實 Google 開發中的平台可以從 Android 的 gitweb 和 review board 看出一些端倪,包括 CPU、code name、採用的 kernel function ... etc.
以下是曾經個人追過的 device,括號內為Google 或 SoC 廠開發時使用的 code name (2.0之前,目前回去看也沒啥意義,就不列了 :P):
2.1~2.3 (QSD8x50、Samsung S5P110)
在 Linux kernel 2.6 之後,Linux 已經採用 udev 來管理各種 device 的新增、移除,但是在 Android 中,Google 並未使用 udev 的機制,而是採用 vold 來取代 udev的工作。
Vold 的trace 可以參考下面文章的分析,trace 跟原理都寫得很詳細。
http://blog.csdn.net/datangsoc/article/details/5928132
PS: 最早的 Android 並沒有 vold,而是更單純的 mountd
Adb 全名是 Android Debug Bridge,是開發或使用 Android 時很常用到的工具。使用者可以從Android 官方站下載 SDK,在其中的 platform-tools (原本在 \Tools) 中找到。
當機器上有打開 USB debug mode 時,使用者即可通過adb 進行各種 debug 、底層(linux user space)的 Android 功能。比較常用的功能:
- tools\ddms.bat: Android AP/Framework 層最主要的 debug tool
最近發布的Android Honeycomb ,其中一項新功能是支援了 MTP/PTP。
|
Digital media file transfer The platform includes built-in support for Media/Picture Transfer Protocol (MTP/PTP) over USB, which lets users easily transfer any type of media files between devices and to a host computer. Developers can build on this support, creating applications that let users create or manage media files that they may want to transfer or share across devices. |
非常有趣也很有用的 Linux kernel 互動架構圖 XD
點進去可能會被複雜度嚇到就是了 :P
http://www.makelinux.net/kernel_map
覺得太複雜的,可以先從新手版看起 XD
GPIO(General Purpose I/O) 對嵌入式系統的開發者應該是很熟悉的東西,之前有轉錄一篇 傳統 gpio 的控制方法,
但這是立基於SoC provider 的所提供的 API,並不具備一個標準的介面。而且在嵌入式系統大力發展下,越來越多的
SoC 推出,加上SoC要連接越來越多的周邊,會使用FPGA或是 I/O expander 來擴充 GPIO 數量。因此除了SoC
本身的介面之外,開發者還必須藉由另外一套或更多的介面來使用 GPIO,這種沒有共通標準的東西勢必會造成開發上的
一些困擾,所以這幾年 linux 發展出一套新的 gpiolib 來解決這問題。作者 David Brownell 的patch 是這樣敘述的:
Android (2)
Linux (2)
Programming (3)
技術 (2)
閱讀與聆聽、觀賞與體會 (3)
雜記 (3)