基于MPC8250的嵌入式Linux系統開發技術
發布時間:2007/8/30 0:00:00 訪問次數:392
作者:褚文奎 樊曉光 黃培成
引 言
我們開發了某型飛機外場維護系統的一個網絡終端通訊平臺,其硬件核心采用Motorola公司的嵌入式PowerPC處理器MPC8250,軟件方面采用嵌入式linux作為操作系統,實現了飛機外場維護與飛機故障診斷系統的安全、快速通信。這個系統平臺具有體積小、功耗低、性能高等特點。
MPC8250構架與系統硬件平臺簡介
PowerPC是Linux較早開始支持的處理器之一。PowerPC處理器芯片MPC8250基于PowerQUICC(Quad Integrated CommunicationsController)II 結構,是面向高性能、低功耗、小體積的通信設備而開發的處理器。其內部集成了一個高性能嵌入式G2 內核、一個靈活的系統集成單元SIU和許多控制領域的常用外圍通信組件(組成通信處理模塊CPM,CommunicationsProcessor Module),可用于許多方面,尤其是在通訊和網絡系統方面。G2內核頻率在150-200MHz之間,CPM、PCI最高頻率為133MHz,外部頻率為66MHz,可同時處理高達
128個全雙工時分復用邏輯通道。
根據目標系統的不同,系統硬件平臺可以引出所需的MPC8250的外部通訊接口。我們的系統提供了8M的flash用于存放內核鏡像文件、文件系統、應用程序和備份數據,64MSDRAM用作內存,521KB 的flash用于存放啟動代碼,此外還有RS232串口、10/100M以太網口以及JTAG支持等。
基于MPC8250的嵌入式linux系統開發
編譯環境的定制
通常主機與目標板的CPU都不相同,需要進行交叉編譯。能夠進行交叉編譯的工具很多,一般使用GNU C,它包括gcc、g++編譯器,glibc、newlib 等C庫,binutils 以及其他一系列開發工具。不同的開發平臺需要不同的交叉編譯工具。這里我們選擇德國denx軟件中心提供的一套用于PowerPC嵌入式linux移植的開發編譯環境ELDK3.0(Embedded LinuxDevelopmentKit)。
在主機上安裝完畢后,修改bash_profile配置文件的路徑和交叉編譯環境,具體如下:
PATH=$PATH:$HOME /bin:/opt/afeu/usr/bin:/opt/afeu/bin:/usr/bin
CROSS_COMPILE=ppc_82xx
EXPORT PATH CROSS_COMPILE
目標系統資源分配
嵌入式linux系統一般沒有硬盤設備,存儲空間十分有限。這就要求在Linux移植之前,需要對系統硬件地址精心分配,充分合理地利用。根據前面介紹的系統硬件平臺,這里給出目標設備的地址分配,如表1所示。
表1 目標設備的地址分配
調試環境的建立
在嵌入式系統中一般沒有顯示器等輸出設備,不利于在目標系統上進行調試。為了調試目標系統,我們通過JTAG仿真器BDI2000來跟蹤調試目標機上的代碼。其調試環境如圖1所示。
圖1 系統調試環境
其中網卡1#和目標機直接相連,用來下載內核鏡像,NFS文件共享等。網卡2#連接到BDI2000上,再通過JTAG口連接到目標機上。串口用于命令傳輸、接收返回信息等。
Linux系統引導模塊U-Boot
U-BOOT是denx軟件中心依照GPL(General PubliCLicense)發布的系統引導模塊,支持多種處理器,如ARM系列、PowerPC系列、MIPS 系列、X86系列等。編譯U-BOOT-1.1.0后生成可執行文件,然后根據自己的目標系統修改編輯U-BOOT包下的文件,進行移植(這里需要說明的是,由于找不到MPC8250的支持包,而它和TQM8260內核相差不大,所以下面采用8260ads 的支持包,同樣兼容)如:
修改目標系統配置文件./include/configs/MPC8260ADS.h中的寄存器值、SDRAM 控制器參數、串口參數等;
修改目標板定義文件./board/mpc8260ads/mpc8260ads.C中的I/O 端口定義;
作者:褚文奎 樊曉光 黃培成 引 言 我們開發了某型飛機外場維護系統的一個網絡終端通訊平臺,其硬件核心采用Motorola公司的嵌入式PowerPC處理器MPC8250,軟件方面采用嵌入式linux作為操作系統,實現了飛機外場維護與飛機故障診斷系統的安全、快速通信。這個系統平臺具有體積小、功耗低、性能高等特點。 MPC8250構架與系統硬件平臺簡介 PowerPC是Linux較早開始支持的處理器之一。PowerPC處理器芯片MPC8250基于PowerQUICC(Quad Integrated CommunicationsController)II 結構,是面向高性能、低功耗、小體積的通信設備而開發的處理器。其內部集成了一個高性能嵌入式G2 內核、一個靈活的系統集成單元SIU和許多控制領域的常用外圍通信組件(組成通信處理模塊CPM,CommunicationsProcessor Module),可用于許多方面,尤其是在通訊和網絡系統方面。G2內核頻率在150-200MHz之間,CPM、PCI最高頻率為133MHz,外部頻率為66MHz,可同時處理高達 根據目標系統的不同,系統硬件平臺可以引出所需的MPC8250的外部通訊接口。我們的系統提供了8M的flash用于存放內核鏡像文件、文件系統、應用程序和備份數據,64MSDRAM用作內存,521KB 的flash用于存放啟動代碼,此外還有RS232串口、10/100M以太網口以及JTAG支持等。 基于MPC8250的嵌入式linux系統開發 編譯環境的定制 通常主機與目標板的CPU都不相同,需要進行交叉編譯。能夠進行交叉編譯的工具很多,一般使用GNU C,它包括gcc、g++編譯器,glibc、newlib 等C庫,binutils 以及其他一系列開發工具。不同的開發平臺需要不同的交叉編譯工具。這里我們選擇德國denx軟件中心提供的一套用于PowerPC嵌入式linux移植的開發編譯環境ELDK3.0(Embedded LinuxDevelopmentKit)。 在主機上安裝完畢后,修改bash_profile配置文件的路徑和交叉編譯環境,具體如下: PATH=$PATH:$HOME /bin:/opt/afeu/usr/bin:/opt/afeu/bin:/usr/bin CROSS_COMPILE=ppc_82xx EXPORT PATH CROSS_COMPILE 目標系統資源分配 嵌入式linux系統一般沒有硬盤設備,存儲空間十分有限。這就要求在Linux移植之前,需要對系統硬件地址精心分配,充分合理地利用。根據前面介紹的系統硬件平臺,這里給出目標設備的地址分配,如表1所示。 表1 目標設備的地址分配 調試環境的建立 在嵌入式系統中一般沒有顯示器等輸出設備,不利于在目標系統上進行調試。為了調試目標系統,我們通過JTAG仿真器BDI2000來跟蹤調試目標機上的代碼。其調試環境如圖1所示。 圖1 系統調試環境 其中網卡1#和目標機直接相連,用來下載內核鏡像,NFS文件共享等。網卡2#連接到BDI2000上,再通過JTAG口連接到目標機上。串口用于命令傳輸、接收返回信息等。 Linux系統引導模塊U-Boot U-BOOT是denx軟件中心依照GPL(General PubliCLicense)發布的系統引導模塊,支持多種處理器,如ARM系列、PowerPC系列、MIPS 系列、X86系列等。編譯U-BOOT-1.1.0后生成可執行文件,然后根據自己的目標系統修改編輯U-BOOT包下的文件,進行移植(這里需要說明的是,由于找不到MPC8250的支持包,而它和TQM8260內核相差不大,所以下面采用8260ads 的支持包,同樣兼容)如: 修改目標系統配置文件./include/configs/MPC8260ADS.h中的寄存器值、SDRAM 控制器參數、串口參數等; 修改目標板定義文件./board/mpc8260ads/mpc8260ads.C中的I/O 端口定義;
128個全雙工時分復用邏輯通道。
深圳服務熱線:13692101218 13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式