uClinux-dist 使用教學:uClinux 與 uClinux-dist 介紹

jollen 發表於 February 26, 2004 1:40 PM

uClinux 介紹

uClinux 唸做「you-see-linux」,是由字置詞「u」(micro之意)與「c」(control之意)所組成的複合字。由 uClinux 的名稱可以知道,這是將Linux 移植到控制用微控制處理器上的 Linux kernel。

目前 uClinux 已經將 Linux kernel 的移植(porting)到許多不同的處理器架構上,uClinux 目前移植的 kernel 最新版本為: kernel 2.0.39、kernel 2.4.32 與 kernel 2.6.17。

uClinux 所支援的處理器有:M68k、ColdFire、ARM、Sparc、NEC v850、H8/300、OPENcores OR1000、Altera NIOS and Xilinx Microblaze。

uClinux 本身是 Linux kernel 的移植,許多情況下我們都可以直接使用廠商提供事先編譯完成的 uClinux。若想要自行編譯給 ARM 使用的 Linux kernel,建議使用uClinux-dist。

uClinux-dist 介紹

uClinux 有許多不同處理器平臺的移植,uClinux-dist 則是將不同處理器的 uClinux 整合至一個套件裡。此外,uClinux-dist 也整合了許多的軟體與系統工具,並且提供設定 root filesystem 的介面。

因此,使用 uClinux-dist 可以很方便的設定 Linux kernel 與 root filesystem,並且透過 uClinux-dist 的 Makefile 環境,我們就可以很方便的做跨平臺編譯。針對不同平臺所需要的其它處理工作(如 FLAT 格式轉換、.text/.data 節區的切割等等),uClinux-dist 也會自動幫我們完成。

可以小結使用 uClinux-dist 的主要好處有:

˙ 簡化編譯過程
˙ 不需下達雜複的 arm-elf-gcc 參數
˙ 不需下達雜複的 arm-elf-ld 參數
˙ 自動進行 kernel 的 .text/.section 節區處理
˙ 將 ELF 格式轉 FLAT 格式
˙ 自動進行 VMA 與 LMA 的位址重新對應
˙ 處理不同平臺的新增節區設定

除此之外,uClinux-dist 也提供 glibc/uClibc/uC-libc 的選擇,因此建議大家下載 uClinux-dist 使用。uClinux-dist 的官方下載網址:http://www.uclinux.org/pub/uClinux/dist/

由於編譯完成的 uClinux kernel 還需要針對硬體平臺做許多處理才能下載到實驗板使用,例如:針對不同的程式起啟位址重新調整所有節區的VMA/LMA 位址,因此若透過 uClinux-dist 的整合環境,便可以簡化我們的工作

注記

  • 2006.12.27: 更新(Editor: Jollen)

Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue

您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw