Main Page

From Jollen's Wiki

Jump to: navigation, search

目錄

Android SDK

Dalvik VM

鴻海演講 (2010.3.10)

Android 內部設計與移植研究

Jollen-Kit! 開發板

第一次使用 JK2410 開發板,請先下載 Getting Started 投影片。為了使您更了解 Jollen-Kit! Pro. 開發板的詳細規格,建議您先行閱讀使用qemu-jk2410做為學習環境

使用 jk2410 模擬器

課堂中的小實驗,可以使用模擬器來驗證,以節省時間。先取得 jk2410-codesuite,裡面包含一個 pre-built JK2410 模擬器 (based-on Qemu)。啟動 JK2410 模擬器

Linux Kernel for Jollen-Kit!

Kernel 2.6 因為已經正式加入 SMDK2410 平臺的因此 BSP,目前,我從 kernel.org 所下載的 kernel 2.6.20.4 有包含非常完整的 S3C2410 & SMDK2410 support;但是也發現 kernel 2.6.20.4 並沒有包含 CS8900A 的驅動程式支援,因為做了簡單的 "glue" porting。

現階段下載方式請見:http://www.jollen.org/blog/s3c2410。 預先編譯好的 kernel(U-Boot format):http://www.jk2410.org/opensource/pre-built/uImage26,本檔案可能會隨時更新。

Embedded Linux 教學

編譯 "Hello, World!" for ARM

JK2410 Project 所提供的 ARM9 toolchain 是利用 [crosstool] 所建立的

Root Filesystem for ARM9 入門

製作 bootstrap root filesystem(base root filesystem)以提供一個最簡單、陽春且可開機的環境;製作完成的系統可開機到shell模式,並可使用 busybox 提供的指令。

首先,您必須準備一台 host 開發環境,並安裝好 cross toolchain;接著,由於本文是做實機測試,因此,如果您沒有 ARM9 開發板,可以考慮使用 Qemu 來做模擬測試。以下的操作示範,只節錄重點指令片段,您可能必須根據自己的整體實作流程,來微調指令的順序,或是參數等。

了解 bootstrap root filesystem 的製作後,建議您準備一份具備 NFS 功能的 root filesystem,以便未來能加速您的 embedded Linux 套件移植與整合工作。請參考 Jollen's Blog: Embedded Linux 測試:Full root filesystem for ARM9 階段《NFS Mount》,另外,Jollen 也為大家準備了一份事先建立好的 NFS root filesystem:http://www.jk2410.org/opensource/pre-built/nfsroot_arm.img

完成了,接下來可以進入 open source / free software 整合的階段了。

Root Filesystem 深入研究

首先,先由 http://svn.jk2410.org/jkbuilder 下載 Jollen-Kit! Builder 最新的穩定版本。初次接觸請 checkout 'jkbuilder-core',並下載安裝說明後,根據說明書內容安裝 JKBuilder 開發環境。

Jollen-Kit! Builder 觀念所提供的 root filesystem 平臺,用以搭配 Jollen 的教育訓練;此外,也提供實務上的 embedded Linux 基礎建設。jkbuilder 的目的是提供架構精簡的 build 工具,以及打包「原生」內容,以方便後續的客製化或程式碼修改。並可透過合併工具將許多元件合併成一個 jkbuilder 平臺,例如:

jkbuilder-nanox + jkbuilder-ffmpeg = MPEG Player 裝置 + <system configuration/integration>

Root Filesystem 與 Toolchain 維護

Linux Device Drivers: Jollen的10堂課

  1. Install and compile JK2410 kernel
  2. JK2410 Interrupt GPIO
  3. JK2410 LED
  4. JK2410 merge a new driver into kernel
  5. JK2410 shared interrupt
  6. JK2410 event driven in interrupt handler
  7. hardware shared interrupt and software shared interrupt
  8. Tasklet Lab
  9. I/O memory access: bootloader
  10. user-space driver and process race condition
  11. prepare_to_wait - 講義第111頁
  12. about Platform Driver

cdata

cdata 是我們 Linux device driver 課程的範例,我們說明如何從無到有寫出一個驅動程式,最後再將這個驅動程式移植到 JK2410 上執行。

課程相關

網路資源

Views
個人工具
導航
工具