目前分類:Android (4)

瀏覽方式: 標題列表 簡短摘要

procfs是Linux下的一個虛擬檔案系統,當linux開機後核心所建立,方便使用者查看驅動程式、核心結構參數與以及記錄系統狀況等等,這個資落夾並不存於硬碟,所以檔案大小是0位元別以為它是空的,相反的它可是詳細記錄著系統所有的資訊。舉例而言,可以查看/proc/cpuinfo查詢CPU資訊、/proc/meminfo查詢記憶體資訊、/proc/interrupts查詢中斷設置、/proc/tty/driver/serial查詢串列資訊,當然前提是要有串列介面才能查詢。因此像ps這類型系統工具其實也不過是透過proc的檔案取得資訊,若是要開發系統效能監控等工具可以試著從/proc資料夾著手。


傑克鼠 發表在 痞客邦 留言(0) 人氣()

先前提過,想要在任何CPU上成功移值Android須,需要修改Linux kernel;想要周邊設備都正常工作,就需要編寫Driver。Linux kernel src是非常龐大的,這邊提供我記得的重點項目:

arch/arm/kernel/

  • entry-armv.S 中斷設置

 

include/asm-$(ARCH)/

  • io.h:定義硬體 I/O 的腳位
  • serial.h:定義可用的串列埠I/O 的腳位
  • time.h:real-time clock 相關的定義
  • irq.h:有關中斷的mask,與計時器中斷程式
  • irqs.h:定義目標板上的一些中斷來源
  • hardware.h:硬體相關的一些常數之定義

傑克鼠 發表在 痞客邦 留言(0) 人氣()

我們都知道Android核心是Linux,要編譯一個能在P750執行的核心就要搞定Linux上的Driver,例如螢幕、觸碰屏、鍵盤按鈕等等,完成這些Driver的編寫Android才能正常運作。而編寫Driver可以分兩步驟執行,第一步是先了解P750使用的IC,第二步驟就是了解控制電路與接線。本篇先來簡單的─了解P750使用的IC,要達到這個目的最直接的方式當然是把P750解體,所幸P750算是非常好拆的機子,拆解如下描述:
IMG_9520 IMG_9623

IMG_9624 IMG_9626

IMG_9628 IMG_9630

拆開很簡單,電池蓋拆開後把上方天線蓋直接拔開便可看到上下共四顆螺絲,轉開螺絲後照上圖用指甲或一字起子扳開即可把後蓋整個打開,如上面幾張圖。妳就會看到一個金屬EMC保護蓋,順手金屬蓋從兩側扳開,便會露出P750的核心部分。

傑克鼠 發表在 痞客邦 留言(2) 人氣()

把微軟WinMo介面的P750手機上移植Android,跟移植到ARM開發版有些不同,一方面ARM開發版電路是公開的、CPU上GPIO接腳都已知,IC也都是一目了然,這對編改Linux driver非常方便;第二個問題是Bootloader,P750上的bootloader已經是for WinMO,要改動這個 for Android並不是那麼容易,除了使用JTAG去燒寫外沒別的門路。

當然就會有人想,能不能有一個軟體介於Bootloader與Android核心之間做轉換介面?恩,正是如此,仿間將WinMo手機改成Android的正是用此種方法,不用動到原廠的Bootloader也能跑起Android,這軟體叫:HaRET(Handheld Reverse Engineering Tool)。

所以,只要能讓WinMO手機正常執行HaRET就是跨出改機的第一步,這個難度並不高,大部分WinMO手機都能順利跑起HaRET。

之後面對的就是Android Driver編寫的問題,這部分必須了解IC佈局和GPIO接腳,這會是一個重大工程,如果這一步卡住之後也不用再進行了。

研究IC與電路佈局時,順便建立一下開發環境,畢竟安裝Linux和下載Android Source是可以花掉一天的時間。

傑克鼠 發表在 痞客邦 留言(0) 人氣()