www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于MPC8250的嵌入式Linux系統(tǒng)開發(fā)

引    言

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

MPC8250構架與系統(tǒng)硬件平臺簡介

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

128個全雙工時分復用邏輯通道。

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

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

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

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

  在主機上安裝完畢后,修改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

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

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

表1 目標設備的地址分配

目標設備的地址分配

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

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

系統(tǒng)調試環(huán)境

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

  其中網卡1#和目標機直接相連,用來下載內核鏡像,NFS文件共享等。網卡2#連接到BDI2000上,再通過JTAG口連接到目標機上。串口用于命令傳輸、接收返回信息等。

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

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

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

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

  修改BCSR 等;

  U-Boot在引導Linux內核啟動時,向內核傳遞了一個命令行,內核根據這個命令行的參數來對系統(tǒng)進行相應設置。在linux內核啟動時,必須要掛載一個根文件系統(tǒng)。根文件系統(tǒng)可以通過網絡文件系統(tǒng)NFS 和本地文件系統(tǒng)LFS兩種方式提供。

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

  通過NFS 引導Linux,其bootargs設置如下:
bootargs設置

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

  通過LFS引導linux,可將bootargs設置如下:

  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

內核裁減與移植

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

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

  (2)Linux內核移植:內核移植源碼主要分部在Linux/include/arch/ppC下。根據目標系統(tǒng),對與_res 變量相關的參數進行調試跟蹤修改,其修改的關鍵代碼如下:

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

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

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

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

  startaddr=0xeff00100;

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

  修改完內核源碼,反復調試無誤后,鏡像內核文件,并使用U-Boot通過tftp將內核鏡像文件下載到目標板上。重新引導后,目標板linux即可成功啟動。

文件系統(tǒng)

  (1)文件系統(tǒng)的分類:根據物理位置文件系統(tǒng)一般可分為網絡文件系統(tǒng)NFS和本地文件系統(tǒng)LFS。NFS 對于目標系統(tǒng)

的要求一般不大,只需要提供網絡接口傳送文件;而LFS 對目標系統(tǒng)卻要求苛刻,一般需要大容量的flash。在嵌入式系統(tǒng)中,NFS主要用來對LFS 進行調整,即先在主機上將文件系統(tǒng)做好,通過NFS 掛載,調試用戶系統(tǒng)。通過NFS 和LFS兩種方式引導linux系統(tǒng)的方法前面已有介紹,這里不再贅述。

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

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

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

表2 flash 空間分配

flash 空間分配

結    論

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

我們知道 Flash 讀時序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡講過《串行NOR Flash的Continuous read模式》,Continuous r...

關鍵字: CMD ADDR Flash

據業(yè)內信息,近日ADM的一份內部報告顯示,ADM正在計劃降低其銳龍 7000 CPU的生產計劃?,F階段全球市場PC的低迷和銷量下滑,再加上AM5平臺整體反響不佳等等一系列原因導致ADM采取這一行動計劃。

關鍵字: PC ADM 銳龍 7000 CPU

上海2022年10月11日 /美通社/ -- 日前,國際獨立第三方檢測、檢驗和認證機構德國萊茵TUV大中華區(qū)(簡稱"TUV萊茵")為寧波堅鋒新材料有限公司...

關鍵字: 新材料 PC 可持續(xù)發(fā)展 ISO

你平時除了工作還會用電腦嗎?近日分析機構Canalys發(fā)布了2022年第三季度全球PC出貨量報告,臺式機和筆記本電腦在第三季度的總出貨量同比下降18%至6940萬臺。其中,筆記本電腦出貨量受影響最大,同比下降19%至54...

關鍵字: PC 臺式機 惠普 聯想

Flash Memory 是一種非易失性的存儲器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應用和數據等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關鍵字: Flash 存儲器 嵌入式系統(tǒng)

根據IDC全球個人計算設備季度追蹤的初步結果,2022第三季度,全球PC發(fā)貨量總計7420萬臺,傳統(tǒng)PC市場繼續(xù)下滑,需求降溫和供應不平衡導致同比收縮15.0%。聯想出貨量1688萬臺,份額22.7%,比上年同期下降16...

關鍵字: 蘋果 PC IDC 華碩

9月21日電,據巴倫金融周刊報道,全球個人電腦(PC)中央處理器(CPU)兩大巨頭英特爾與超微都坦承,當下PC市況比之前財報預期低潮的狀況還更進一步惡化,超微更直言當前PC市場“一片混亂”,比原本財報預測的狀況又惡化約1...

關鍵字: 英特爾 PC AMD

在吃完上一波居家辦公、遠程網課的紅利之后,PC電腦再度遭遇至暗時刻。按照統(tǒng)計機構IDC的最新數據,預計今年PC出貨量同比下滑12.8%,也就是從3.488億臺跌至3.053億臺,一年減少4350萬臺之多。

關鍵字: PC 電腦 銷量

根據近日消費市場消息,今年的第二季度我國大陸地區(qū)PC(臺式機、筆記本電腦和工作站)出貨量1148.5萬臺,同比下降16%,其中臺式機含臺式工作站和筆記本電腦含移動工作站分別下降了26%和10%,同時,NAND Flash...

關鍵字: PC NAND Flash

8月23日消息,今年以來,由于PC市場需求下滑,導致OEM、ODM廠商的庫存大幅上升,同時零售渠道的庫存水位也于第二季度末攀升至新高,使得各OEM/ODM廠商的存貨周轉天數明顯拉長,這也加劇了對于PC市場后續(xù)走向的疑慮。...

關鍵字: PC 聯想 華碩

嵌入式教程

6897 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉