2007年3月5日 星期一

PXA27x Linux計畫

使用Intel PXA27x (已於2006年七月售出予Marvell,相關產品線資訊可見Wikipedia - Xscale) 進行產品開發大約兩年,接觸了BSP、GNU Toolchain、Wireless MMX、Intel IPP、Graphical Overlays、NIC、... 等項目,也開發了無線網路裝置、GSM手機,以及多媒體系統。開發過程中遇到不少技術問題,雖能大致克服,但也有重複開發的遺憾,是此,建立RI (Reference Implementation) 就是相當重要的議題,於是我們在SourceForge.net建立名為PXA27x Linux的新專案。

雖然Intel早在2004年即提供GNU/Linux (通稱,含binutils、gcc、glibc,與linux kernel) 的patch或相關的修正,但畢竟自由軟體界已經有很大的改觀,同時原本Intel的貢獻中其實有不少bug,所以PXA27x Linux匯集來自許多方的改進,提供除了BSP外,更新且效能、功能最佳化的軟體套件。又,考慮到系統層面的模擬環境,本計畫會提供以qemu為基礎的system emulator,不只模擬PXA27x指令集,還廣泛包含DMA、GPIO、LCD、MMC、PCMCIA、Timer、co-processor (CP0/CP1)、... 等,主要的參考標的是市面上的PDA或者SmartPhone,當然,現在還有很大的改進空間。

今天已將pxa27x-oabi-crosstool子專案置入SVN,以下是其簡介 (取自README檔案):

pxa27x-oabi-crosstool : PXA27x OABI (old ABI) toolchain builder
Copyright (c) 2007 Open RazzmatazZ Laboratory (OrzLab).
Maintained by Jim Huang

The goals of pxa27x-oabi-crosstool are as following:
  • Bug-fixed toolchain for PXA27x
  • Binary compatibility for Intel Integrated Performance Primitives library (Intel IPP).
  • GCC 3.x-based system with enhancements.
  • Providing advanced features such as Application XIP, optimized memcpy, etc.
這是software stack從Old ABI跨入ARM EABI的過渡系統,考量到軟體相容性,諸如MontaVista Consumer Electronics Edition (mvlcee) 等,所以保持採用gcc-3.x與glibc-2.3.2,但陸續做了改良與backports,這些可參考patches目錄。

稍後會釋出的項目是基於OpenEmbedded的Linux kernel 2.6,以及基於qemu的system emulator,期待您的指教與參與,謝謝!

沒有留言: