Main Page
From JK2410.org
JK2410 project 團對提供製作完成的 toolchain、bootloader 與 kernel。若您想更深入了解有關 JK2410 底層的軟體修改,可參考JK2410 Developers Guide。
目錄 |
[編輯] 特別提醒
JK2410 Wiki 所示範的操作動作都將在 Ubuntu 7.10/8.04 二個版本底下驗証過,對 Linux 不熟者請參考 Ubuntu 常用指令列表。(--drifthear)
在 Ubuntu 7.10/8.04 下使用 Minicom 若無法連線到開發板,請檢查 dialout 群組的設定是否正確。(--jollen)
[編輯] 取得 Jollen-Kit! 嵌入式學習平臺
Jollen-Kit! 嵌入式學習平臺(JK2410)是由 Jollen's Consulting 所發展的 Embedded Linux 學習平臺。目前您所閱讀的 JK2410 Wiki 則是 100% 針對 JK2410 所撰寫與維護的教材網站。您可透過以下二種方式取得 JK2410:
沒有 JK2410 實體開發板的朋友,可以使用我們提供的 Jollen-Kit! 模擬器進行學習與實作。JK2410 Wiki 教材內容,若是沒有特別說明,都是在實體開發板上進行操作。
[編輯] 安裝 Jollen-Kit! 嵌入式學習平臺
七個步驟、安裝 Jollen-Kit! 嵌入式學習平臺、快速上手。
- Step 1: 安裝實驗板
- Step 2: TFTP Server 與 xinetd 的安裝: Debian/Ubuntu
- Step 3: 設定 JK2410 IP Address
- Step 4: 使用 U-Boot 的 TFTP 功能
- Step 5: 開機到 Linux
- Step 6: 使用 Busybox 的 DHCP
- Step 7: 安裝 Toolchain
[編輯] U-Boot for JK2410 操作
JK2410 開發板都已預燒 U-Boot bootloader,此外,由 JK2410 project 所提供的 U-Boot 支援 NAND flash 開機。
- Tip 1: MTD partitions
- Tip 2: 使用 NAND Flash
- Tip 3: Auto Script:自動開機
[編輯] 開機到 Embedded Linux
- Step 1: 取得 Pre-Built Kernel 與 Root Filesystem
- Step 2: 開啟實驗板至命令模式
- Step 3: 下載uimage.img至實驗板
- Step 4: 下載urootfs.img至實驗板
- Step 5: 開機至Linux作業系統
[編輯] 編譯 "Hello, World!" for ARM
- Step 1: 取得範例:hello_arm.tar.gz
- Step 2: 編譯程式
- Step 3: 下載檔案至 JK2410 Board
JK2410 Project 所提供的 ARM9 toolchain 是利用 [crosstool] 所建立的
[編輯] Root Filesystem for ARM9 入門
製作 bootstrap root filesystem(base root filesystem)以提供一個最簡單、陽春且可開機的環境;製作完成的系統可開機到shell模式,並可使用 busybox 提供的指令。
首先,您必須準備一台 host 開發環境,並安裝好 cross toolchain;接著,由於本文是做實機測試,因此,如果您沒有 ARM9 開發板,可以考慮使用 Qemu 來做模擬測試。以下的操作示範,只節錄重點指令片段,您可能必須根據自己的整體實作流程,來微調指令的順序,或是參數等。
- Step 1: 建立工作目錄
- Step 2: 建立目錄架構
- Step 3: 建立裝置檔
- Step 4: 加入Busybox
- Step 5: 加入動態程式庫
- Step 6: 加入系統檔案
- Step 7: 編寫 Initial Script
- Step 8: 製作 Root Filesystem 映像檔(Image File)
- Step 9: 在 Target 端做測試
了解 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 整合的階段了。
[編輯] Jollen-Kit! Builder
恭喜您,即將進入 Embedded Linux 的有趣世界!
首先,先由 http://svn.jk2410.org/jkbuilder 下載 Jollen-Kit! Builder 最新的穩定版本。初次接觸請 checkout 'jkbuilder-core',並下載安裝說明後,根據說明書內容安裝 JKBuilder 開發環境。
[編輯] jkbuilder 基礎建設
Jollen-Kit! Builder 觀念所提供的 root filesystem 平臺,用以搭配 Jollen 的教育訓練;此外,也提供實務上的 embedded Linux 基礎建設。jkbuilder 的目的是提供架構精簡的 build 工具,以及打包「原生」內容,以方便後續的客製化或程式碼修改。並可透過合併工具將許多元件合併成一個 jkbuilder 平臺,例如:
jkbuilder-nanox + jkbuilder-ffmpeg = MPEG Player 裝置 + <system configuration/integration>
- 所有的 jkbuilder:包含一些範例,即 jkbuilder 元件(component)。
- jkbuilder merge:合併 jkbuilder 元件的工具(尚未提供)。
- JKBuilder 的架構
[編輯] JKBuilder Projects
[編輯] 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,本檔案可能會隨時更新。
- [Porting_CDATA|移植 cdata 到 JK2410]
- 移植 kernel 2.4.18 到 JK2410的範例
- 新增serial port (USB to serial port) 的使用於JK2410
- 存取JK2410的Frame buffer (LCD Panel)
[編輯] 模擬實戰
[編輯] cdata
cdata 是我們 Linux device driver 課程的範例,我們說明如何從無到有寫出一個驅動程式,最後再將這個驅動程式移植到 JK2410 上執行。
- 在 Ubuntu 7.10/host 上編譯 cdata 範例時的注意事項
- cdata initial 加入 P12 / P13
- cdata exercise 4 vs cdata exercise 5
[編輯] 其它
第一次使用 JK2410 開發板,請先下載 Getting Started 投影片。為了使您更了解 Jollen-Kit! Pro. 開發板的詳細規格,建議您先行閱讀以下內容:
- Step 2: 使用qemu-jk2410做為學習環境


