音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

基于MPC8250的嵌入式Linux系統(tǒng)開發(fā)技術(shù)

出處:lhkjg 發(fā)布于:2007-11-27 16:08:56

    引 言

  我們開發(fā)了某型飛機(jī)外場維護(hù)系統(tǒng)的一個(gè)網(wǎng)絡(luò)終端通訊平臺(tái),其硬件采用Motorola公司的嵌入式PowerPC處理器MPC8250,軟件方面采用嵌入式linux作為操作系統(tǒng),實(shí)現(xiàn)了飛機(jī)外場維護(hù)與飛機(jī)故障診斷系統(tǒng)的安全、快速通信。這個(gè)系統(tǒng)平臺(tái)具有體積小、功耗低、性能高等特點(diǎn)。

    MPC8250構(gòu)架與系統(tǒng)硬件平臺(tái)簡介

  PowerPC是Linux較早開始支持的處理器之一。PowerPC處理器芯片MPC8250基于PowerQUICC(Quad Integrated CommunicationsController)II 結(jié)構(gòu),是面向高性能、低功耗、小體積的通信設(shè)備而開發(fā)的處理器。其內(nèi)部集成了一個(gè)高性能嵌入式G2 內(nèi)核、一個(gè)靈活的系統(tǒng)集成單元SIU和許多控制領(lǐng)域的常用外圍通信組件(組成通信處理模塊CPM,CommunicationsProcessor Module),可用于許多方面,尤其是在通訊和網(wǎng)絡(luò)系統(tǒng)方面。G2內(nèi)核頻率在150-200MHz之間,CPM、PCI頻率為133MHz,外部頻率為66MHz,可同時(shí)處理高達(dá) 
128個(gè)全雙工時(shí)分復(fù)用邏輯通道。

  根據(jù)目標(biāo)系統(tǒng)的不同,系統(tǒng)硬件平臺(tái)可以引出所需的MPC8250的外部通訊接口。我們的系統(tǒng)提供了8M的flash用于存放內(nèi)核鏡像文件、文件系統(tǒng)、應(yīng)用程序和備份數(shù)據(jù),64MSDRAM用作內(nèi)存,521KB 的flash用于存放啟動(dòng)代碼,此外還有RS232串口、10/100M以太網(wǎng)口以及JTAG支持等。

    基于MPC8250的嵌入式linux系統(tǒng)開發(fā)

    編譯環(huán)境的定制

  通常主機(jī)與目標(biāo)板的CPU都不相同,需要進(jìn)行交叉編譯。能夠進(jìn)行交叉編譯的工具很多,一般使用GNU C,它包括gcc、g++編譯器,glibc、newlib 等C庫,binutils 以及其他一系列開發(fā)工具。不同的開發(fā)平臺(tái)需要不同的交叉編譯工具。這里我們選擇德國denx軟件中心提供的一套用于PowerPC嵌入式linux移植的開發(fā)編譯環(huán)境ELDK3.0(Embedded LinuxDevelopmentKit)。

  在主機(jī)上安裝完畢后,修改bash_profile配置文件的路徑和交叉編譯環(huán)境,具體如下:

  PATH=$PATH:$HOME /bin:/opt/afeu/usr/bin:/opt/afeu/bin:/usr/bin

  CROSS_COMPILE=ppc_82xx

  EXPORT PATH CROSS_COMPILE

    目標(biāo)系統(tǒng)資源分配

  嵌入式linux系統(tǒng)一般沒有硬盤設(shè)備,存儲(chǔ)空間十分有限。這就要求在Linux移植之前,需要對(duì)系統(tǒng)硬件地址精心分配,充分合理地利用。根據(jù)前面介紹的系統(tǒng)硬件平臺(tái),這里給出目標(biāo)設(shè)備的地址分配,如表1所示。

                  表1 目標(biāo)設(shè)備的地址分配

    

    調(diào)試環(huán)境的建立

  在嵌入式系統(tǒng)中一般沒有顯示器等輸出設(shè)備,不利于在目標(biāo)系統(tǒng)上進(jìn)行調(diào)試。為了調(diào)試目標(biāo)系統(tǒng),我們通過JTAG仿真器BDI2000來跟蹤調(diào)試目標(biāo)機(jī)上的代碼。其調(diào)試環(huán)境如圖1所示。

    

                   圖1 系統(tǒng)調(diào)試環(huán)境

  其中網(wǎng)卡1#和目標(biāo)機(jī)直接相連,用來內(nèi)核鏡像,NFS文件共享等。網(wǎng)卡2#連接到BDI2000上,再通過JTAG口連接到目標(biāo)機(jī)上。串口用于命令傳輸、接收返回信息等。

    Linux系統(tǒng)引導(dǎo)模塊U-Boot

  U-BOOT是denx軟件中心依照GPL(General PubliCLicense)發(fā)布的系統(tǒng)引導(dǎo)模塊,支持多種處理器,如ARM系列、PowerPC系列、MIPS 系列、X86系列等。編譯U-BOOT-1.1.0后生成可執(zhí)行文件,然后根據(jù)自己的目標(biāo)系統(tǒng)修改編輯U-BOOT包下的文件,進(jìn)行移植(這里需要說明的是,由于找不到MPC8250的支持包,而它和TQM8260內(nèi)核相差不大,所以下面采用8260ads 的支持包,同樣兼容)如:

  修改目標(biāo)系統(tǒng)配置文件./include/configs/MPC8260ADS.h中的寄存器值、SDRAM 控制器參數(shù)、串口參數(shù)等;

  修改目標(biāo)板定義文件./board/mpc8260ads/mpc8260ads.C中的I/O 端口定義;

  修改BCSR 等;

  U-Boot在引導(dǎo)Linux內(nèi)核啟動(dòng)時(shí),向內(nèi)核傳遞了一個(gè)命令行,內(nèi)核根據(jù)這個(gè)命令行的參數(shù)來對(duì)系統(tǒng)進(jìn)行相應(yīng)設(shè)置。在linux內(nèi)核啟動(dòng)時(shí),必須要掛載一個(gè)根文件系統(tǒng)。根文件系統(tǒng)可以通過網(wǎng)絡(luò)文件系統(tǒng)NFS 和本地文件系統(tǒng)LFS兩種方式提供。

  (1)通過NFS引導(dǎo)Linux系統(tǒng)

  通過NFS 引導(dǎo)Linux,其bootargs設(shè)置如下:

    (2)通過LFS引導(dǎo)linux系統(tǒng)

  通過LFS引導(dǎo)linux,可將bootargs設(shè)置如下:

  setenv bootargs root=/dev/mtdblock1 rw

  ip=24.86.246.216: 24.86.246.100: 24.86.246.100: 255.255. 255.0:afeu: eth1: off

    內(nèi)核裁減與移植

  (1)Linux內(nèi)核裁減:嵌入式系統(tǒng)存儲(chǔ)單元十分有限,精簡內(nèi)核顯得尤為重要。內(nèi)核裁減主要是去掉無用模塊,增加所需模塊,使之更符合目標(biāo)系統(tǒng)。這主要包括平臺(tái)類型(platformsupport)的選擇,我們選擇TQM8260;Memory Technology Device(MTD)選擇內(nèi)核對(duì)MTD和Flash的支持;Networking options選擇內(nèi)核對(duì)網(wǎng)絡(luò)的支持;file systems 選擇內(nèi)核對(duì)文件系統(tǒng)的支持;MPC8260CPMoptions用于配置目標(biāo)系統(tǒng)的一些通信設(shè)備。

  裁減完內(nèi)核后需要對(duì)其重新進(jìn)行編譯,方法與通用linux編譯基本無異,限于篇幅,不再贅述。

  (2)Linux內(nèi)核移植:內(nèi)核移植源碼主要分部在Linux/include/arch/ppC下。根據(jù)目標(biāo)系統(tǒng),對(duì)與_res 變量相關(guān)的參數(shù)進(jìn)行調(diào)試跟蹤修改,其修改的關(guān)鍵代碼如下:

  對(duì)于arch/ppc/8260_io/commproc.c,改宏定義為:#defineBRG_INT_CLK(16 * 1000000);

  在arch/ppc/8260_io/uart.C中設(shè)置波特率:bd->bi_baudrate=9600;

  在arch/ppc/kernel/m8260_setup.C中設(shè)置總線頻率:bininfo->bi_busfreq=66;

  設(shè)置arch/ppc/kernel/m8260_setup.C中的系統(tǒng)重啟地址為:

  startaddr=0xeff00100;

  此外,還需要修改MTD 設(shè)置,主要是修改drivers/mtd/maps/tqm8260.c文件中的分區(qū)定義(和目標(biāo)系統(tǒng)地址分配有關(guān))和目標(biāo)系統(tǒng)的Flash 的配置,使其滿足自己系統(tǒng)的要求。關(guān)于8M Flash的分區(qū)會(huì)在文件系統(tǒng)中敘述。

  修改完內(nèi)核源碼,反復(fù)調(diào)試無誤后,鏡像內(nèi)核文件,并使用U-Boot通過tftp將內(nèi)核鏡像文件到目標(biāo)板上。重新引導(dǎo)后,目標(biāo)板linux即可成功啟動(dòng)。

    文件系統(tǒng)

  (1)文件系統(tǒng)的分類:根據(jù)物理位置文件系統(tǒng)一般可分為網(wǎng)絡(luò)文件系統(tǒng)NFS和本地文件系統(tǒng)LFS。NFS 對(duì)于目標(biāo)系統(tǒng) 
的要求一般不大,只需要提供網(wǎng)絡(luò)接口傳送文件;而LFS 對(duì)目標(biāo)系統(tǒng)卻要求苛刻,一般需要大容量的flash。在嵌入式系統(tǒng)中,NFS主要用來對(duì)LFS 進(jìn)行調(diào)整,即先在主機(jī)上將文件系統(tǒng)做好,通過NFS 掛載,調(diào)試用戶系統(tǒng)。通過NFS 和LFS兩種方式引導(dǎo)linux系統(tǒng)的方法前面已有介紹,這里不再贅述。

  Linux支持的文件系統(tǒng)格式主要有CRAMFS(CompressedROMFile System)和JFFS(Journalling Flash File System)。其中前者是只讀的,在啟動(dòng)時(shí)裝載較快,可用來存儲(chǔ)動(dòng)態(tài)連接庫、應(yīng)用程序、初始化腳本等;后者可進(jìn)行讀寫操作,其第2個(gè)版本即JFFS2,還較好地解決了諸如Flash 的空間、使用壽命和垃圾回收問題。

  (2)Flash分區(qū):基于對(duì)CRAMFS和JFFS兩種文件系統(tǒng)的上述分析,可以將flash劃分為只讀區(qū)和可讀寫區(qū),這既有利于linux系統(tǒng)的正常啟動(dòng),又利于文件的數(shù)據(jù)保護(hù)。其分區(qū)如表2所示。

  EDLK3.0提供的文件系統(tǒng)較大,而且很多對(duì)目標(biāo)系統(tǒng)都沒有用,需要對(duì)其進(jìn)一步進(jìn)行裁減。裁減之后需要完善文件系統(tǒng),以可能地符合目標(biāo)系統(tǒng)。需要將裁減完善后的文件系統(tǒng)掛載為根文件系統(tǒng)。

                       表2 flash 空間分配

    

    結(jié)    論

  基于PowerPC處理器MPC8250嵌入式linux系統(tǒng)充分發(fā)揮了linux對(duì)網(wǎng)絡(luò)和MPC8250等設(shè)備的強(qiáng)大支持功能。與傳統(tǒng)的人工查閱故障診斷手冊(cè)相比,該系統(tǒng)可與飛機(jī)故障診斷系統(tǒng)進(jìn)行實(shí)時(shí)通訊,有利于故障的快速查詢、維修方案的快速選定。


  

參考文獻(xiàn):

[1]. MPC8250 datasheet http://m.58mhw.cn/datasheet/MPC8250_2428148.html.
[2]. PCI datasheet http://m.58mhw.cn/datasheet/PCI_1201469.html.
[3]. RS232 datasheet http://m.58mhw.cn/datasheet/RS232_585128.html.


關(guān)鍵詞:基于MPC8250的嵌入式Linux系統(tǒng)開發(fā)技術(shù)RS232MPC8250

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

車聯(lián)網(wǎng)時(shí)代,汽車電子的接口類型有can總線,lin總線,rs485,rs232,或者以太網(wǎng)總線等等
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!