亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        嵌入式處理器8240的板級(jí)支持包的設(shè)計(jì)與實(shí)現(xiàn)

        2012-06-11 03:22:44馮先成司擎華李小鵬張鐵男
        關(guān)鍵詞:網(wǎng)卡嵌入式調(diào)試

        馮先成,司擎華,李小鵬,張鐵男

        (武漢工程大學(xué)電氣信息學(xué)院,湖北 武漢 430074)

        0 引 言

        VxWorks操作系統(tǒng)主要有板級(jí)支持包(Board Support Package,以下簡(jiǎn)稱(chēng):BSP))、微內(nèi)核(wind)、網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)、輸入輸出(input/output ,I/O)系統(tǒng)[1].BSP是指支持一個(gè)目標(biāo)板的硬件系統(tǒng)正常運(yùn)行的與硬件密切相關(guān)的函數(shù)集合,主要包括目標(biāo)系統(tǒng)啟動(dòng)時(shí)的硬件初始化例程和目標(biāo)板上控制各個(gè)硬件設(shè)備正常運(yùn)行的驅(qū)動(dòng)程序,還要提供VxWorks與硬件環(huán)境之間的主要接口.根據(jù)目標(biāo)板的硬件構(gòu)成,BSP設(shè)置各種與硬件參數(shù)有關(guān)的宏,設(shè)置內(nèi)存映射表,編寫(xiě)和修改相應(yīng)的設(shè)備驅(qū)動(dòng)程序,連接中斷服務(wù)程序,根據(jù)上層和系統(tǒng)的需要生成相應(yīng)的鏡像(image)文件,創(chuàng)建相應(yīng)的任務(wù),并啟動(dòng)應(yīng)用程序[2].

        1 硬件系統(tǒng)

        網(wǎng)絡(luò)交換系統(tǒng)的主控交換的BSP包括兩大部分:Motorola嵌入式處理器8240(MPC8240)最小系統(tǒng)和相關(guān)外圍設(shè)備的驅(qū)動(dòng).

        MPC8240主控交換板最小系統(tǒng)包括:中央處理器(CPU)、同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)和閃存(Flash),閃存包括用于系統(tǒng)自啟動(dòng)的根配置閃存(BOOT FLASH)文件和用于程序、數(shù)據(jù)存儲(chǔ)的程序閃存文件兩部分、串口驅(qū)動(dòng)程序,82559網(wǎng)口驅(qū)動(dòng)程序,外設(shè)部件互連接口9030(PCI9030) 接口控制器、調(diào)試接口及部分控制邏輯等.最小系統(tǒng)BSP的目標(biāo)就是通過(guò)配置最小系統(tǒng)使之能夠完成配置過(guò)程,并可以使用網(wǎng)口和串口進(jìn)行上層軟件的調(diào)試.

        主控板主要由下列a-g共7個(gè)部分組成,主控板結(jié)構(gòu)框圖如圖1.

        a.Motorola的8240CPU.8240集成了一個(gè)PCI橋-MPC107,一個(gè)嵌入式可編程中斷控制器EPIC,一個(gè)存儲(chǔ)器直接訪問(wèn)DMA控制器及I2C控制器等.

        b.Intel 82559 10M/100M自適應(yīng)以太網(wǎng)芯片.

        c.Galileo 48304交換芯片.

        d.16552串口芯片.

        e.HDLC芯片.

        f.一片SST 39VF040存放Bootrom.

        g.四片ATMEL:AT49B1614AT-90TI用于存放版本和TMS的數(shù)據(jù).

        圖1 主控板結(jié)構(gòu)框圖Fig.1 Structure of main control board

        2 BSP處理流程、移植與燒制

        2.1 BSP處理流程

        設(shè)計(jì)、調(diào)試BSP軟件,首先分析整個(gè)操作系統(tǒng)從上電初始化開(kāi)始的執(zhí)行流程,BSP執(zhí)行處理流程如圖2所示[3-4].

        當(dāng)系統(tǒng)上電后,MPC8240的CPU會(huì)在0x02800100執(zhí)行,這段地址空間物理上是對(duì)應(yīng)于一塊配置只讀內(nèi)存,其中保存著操作系統(tǒng)的引導(dǎo)代碼,VxWorks按圖2所示的流程引導(dǎo)過(guò)程如下:

        a.CPU 初始化:文件romInit位于CPU的復(fù)位向量中,一個(gè)向量一般最多為256字節(jié),因此不能放太多的程序在此位置.這里僅僅完成如下工作[5]:

        ①關(guān)閉中斷,初始化CPU的一些基本寄存器

        ②配置SDRAM,使其可以使用

        ③初始化堆棧指針,調(diào)用romStart文件

        b.其它初始化:包括內(nèi)存初始化、CACHE初始化、BSS初始化、硬件初始化.CPU的一些初始化是在sysIint函數(shù)中完成的.系統(tǒng)真正的板級(jí)硬件初始化是在 sysHwInit函數(shù)中完成的;

        圖2 BSP處理流程Fig.2 Processing flow of BSP

        c.內(nèi)核初始化:所有的板級(jí)硬件初始化完成后,就開(kāi)始操作系統(tǒng)核心代碼的加載,由其建立多任務(wù)環(huán)境,創(chuàng)建根任務(wù)usrRoot文件;

        d.輸入輸出系統(tǒng)初始化:在根任務(wù)中,繼續(xù)完成輸入輸出設(shè)備,網(wǎng)絡(luò)協(xié)議棧及設(shè)備驅(qū)動(dòng)的加載工作.

        在VxWorks引導(dǎo)成功后,它會(huì)在根任務(wù)usrRoot中調(diào)用usrAppinit函數(shù),用戶可以在這個(gè)函數(shù)中創(chuàng)建自己的任務(wù)或者啟動(dòng)相應(yīng)的軟件模塊.

        2.2 BSP移植

        2.2.1 修改TGT_DIRsrcdrvpcipciConfigLib.c程序

        a.保留原來(lái)所有的程序不動(dòng)

        b.增加一個(gè)函數(shù)如下,該函數(shù)可以找出一臺(tái)PC上同種類(lèi)型的多個(gè)網(wǎng)卡,而原來(lái)的函數(shù)(pciFindDevice)只能找出一個(gè)網(wǎng)卡

        STATUS pciFindDeviceArray

        ( int vendorId,/*vendor ID*/

        int deviceId,/*device ID*/

        int index,/*desired instance of device*/

        int*pBusNo,/*bus number*/

        int*pDeviceNo,/*device number*/

        int*pFuncNo,/*function number*/

        int*pDeviceNum /*The Card Device Num-ber Chen.AiMin*/

        )[6]

        2.2.2 修改TGT_DIRconfigpcPentiumsysEl3c90xEnd.c程序

        a.修改sysEl3c90xPciInit函數(shù),增加對(duì)同種類(lèi)型的多塊網(wǎng)卡進(jìn)行初始化,原來(lái)的只能對(duì)一塊3C905網(wǎng)卡進(jìn)行初始化;

        b.修改sysEl3c90xEndLoad函數(shù),原來(lái)該函數(shù)只是默認(rèn)第一個(gè)網(wǎng)卡,現(xiàn)支持多個(gè)3C905網(wǎng)卡;

        c.該函數(shù)前面的LAN_CARD_NUM宏定義了該P(yáng)C有最多可以有幾塊3C905網(wǎng)卡,現(xiàn)在定義成3,最好不要修改.

        2.2.3 修改Configer.h 定義BSP VERSION、default-boot-line的BOOT參數(shù)、Console-Baud-Rate、RAM-HIGH-ADRS、RAM-HIGH-ADRS、ROM-BASE-ADRS、ROM-TEXT-ADRS.

        #define RAM_HIGH_ADRS 0x00450000 /* RAM address for ROM boot

        #define RAM_LOW_ADRS 0x00100000 /* RAM address for kernel */

        2.2.4 修改MAKEFILE 為了便于對(duì)BOOTROM中bootConfig.c進(jìn)行修改,可以把boot-Config.c從all目錄拷入相應(yīng)的BSP目錄(pcPentium目錄),修改該目錄下的MAKEFILE,增加如下一行:BOOTCONFIG = bootConfig.c

        修改后的BSP運(yùn)行結(jié)果:

        CPU: EST est8240-MPC8240(603e)

        Version: 5.4

        BSP version: 1.2/2

        Creation date: Jan 14 2012, 19:56:33

        Press any key to stop auto-boot…

        6

        [Boot]: p

        boot device: dcf

        unit number: 0

        processor number: 0

        host name: wx

        file name: vxWorks

        inet on ethernet (e): 10.21.14.56

        host inet (h): 10.21.14.188

        gateway inet (g): 10.21.1.254

        user (u): wx

        ftp password (pw): 3592

        flags (f): 0x0

        target name (tn): est8240

        2.3 BOOTROM的燒制

        a.根據(jù)BSP生成BOOTROM,注意生成時(shí)選擇TORNADO→Build→Build Boot Rom 選擇BSP,注意選擇生成Bootrom_uncmp.hex.

        b.打開(kāi)VisionClick,將主機(jī)、仿真器和CPU板連通,在Terminal窗口下輸入命令in,將仿真器中配置好的CPU相關(guān)寄存器的值下載到板子上去.

        c.下載bootrom_burn_amd.bdx 到目標(biāo)板,這段代碼存放在SDRAM中的0x01800100開(kāi)始的一段地址中(如果燒寫(xiě)SST39VF040的FLASH芯片,則使用bootrom_burn_sst.bdx).

        d.將生成好的Bootrom_uncmp.hex在Vision-Click中轉(zhuǎn)化為bootrom_uncmp.bdx,下載bootrom_uncmp.bdx到目標(biāo)板.

        e.輸入命令以運(yùn)行燒寫(xiě)bootrom程序代碼到flash中去,方法為在Terminal窗口下輸入命令 go 01800100.

        f.用仿真器察看內(nèi)存 0x01c200a0 地址域會(huì)看到進(jìn)度指示,包括操作時(shí)當(dāng)前寫(xiě)操作地址、失敗計(jì)數(shù).

        g.最后直到在0x01c200b0顯示DONE表示成功,F(xiàn)AIL表示失敗,整個(gè)過(guò)程大約30 s左右.

        h.點(diǎn)擊VisionClick→Run→Halt execution,或者直接點(diǎn)擊紅色按鈕Holt Target停止板子上程序的運(yùn)行.

        i.重新加電或者按復(fù)位鍵,打開(kāi)超級(jí)終端則可看到引導(dǎo)信息的輸出.

        3 實(shí)驗(yàn)結(jié)果

        實(shí)驗(yàn)步驟如下:

        a. 首先按照2.2節(jié)修改BSP文件.

        b. 編譯BSP文件,生成VxWorks鏡像文件[7],如圖3所示.

        步驟1:備份并編輯.../_BSP_WDB/config.h (可選),在config.h中找到宏定義

        #define DEFAULT_BOOT_LINE “l(fā)si(0,0)host:vxWorks h=192.168.0.113 e=192.168.0.127 u=my pw=you tn=l2sw24 f=0x00”

        根據(jù)需要修改參數(shù):

        h = 主機(jī)IP地址

        e = 目標(biāo)機(jī)IP地址

        u = ftp server 用戶

        pw = ftp server 用戶口令

        tn = 目標(biāo)板網(wǎng)絡(luò)機(jī)器名

        說(shuō)明:一般不修改,可在目標(biāo)機(jī)開(kāi)機(jī)時(shí),通過(guò)引導(dǎo)提示行,用戶重新配置

        步驟2:進(jìn)入DOS命令行方式, 進(jìn)入 .../_BSP_WDB

        步驟3:執(zhí)行make bootrom.hex.生成VxWorks鏡像文件bootrom.hex

        圖3 8240BSP的安裝、VxWorks鏡像文件的生成Fig.3 Installation of 8240BSP, VxWorks file

        圖4 通過(guò)FTP下載鏡像文件到目標(biāo)板Fig.4 Download the image file to target board with FTP

        d.通過(guò)主機(jī)的Telenet命令遠(yuǎn)程登陸目標(biāo),進(jìn)行調(diào)試.輸入help,可以查看命令行信息,如圖5.用‘P’命令查看BOOT參數(shù),超級(jí)終端打印出目標(biāo)板BOOT ROM的參數(shù)配置,在命令提示符下輸入“c”命令,把HOST 的IP和網(wǎng)關(guān)修改為所用HOST的,把FILE NAME欄改為VXWORKS,把USER和FTP PASSWORD改為FTP SERVER剛才設(shè)置的.輸入后,下載成功,WDB(WIND RIVER 調(diào)試)準(zhǔn)備好了.

        圖5 目標(biāo)板調(diào)試Fig.5 Test of target board

        4 結(jié) 語(yǔ)

        MPC8240 是通信領(lǐng)域嵌入式產(chǎn)品使用較多的芯片,針對(duì)通信領(lǐng)域該類(lèi)芯片的最小化系統(tǒng),筆者基于MPC8240的最小化系統(tǒng)提出一種可靠的BSP設(shè)計(jì)流程方案,完成BSP源代碼的設(shè)計(jì)、移植燒制與測(cè)試.測(cè)試證明本方案有較好的可靠性和良好的可操作性,對(duì)于Vxworks上層應(yīng)用軟件和底層硬件驅(qū)動(dòng)的并行開(kāi)發(fā)有著很重要的意義.

        參考文獻(xiàn):

        [1] 李明,胡立德,尹安治.軍用嵌入式系統(tǒng)的可靠性設(shè)計(jì)[J].電子元器件應(yīng)用,2007,9(10):71-72,75.

        [2] 馮先成,李寒,張鐵男.基于MPC850 VxWorks系統(tǒng)的BSP設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2012,40(6):39-43,75.

        [3] 蔣鯤鵬, 蘆東昕, 繆敬. Linux與VxWorks的板級(jí)支持包開(kāi)發(fā)的比較與分析[J].計(jì)算機(jī)工程,2003,29(22):51-53.

        [4] 隋霞, 許錄平. 基于VxWorks的BSP技術(shù)分析[J]. 微計(jì)算機(jī)信息,2006, 22(23):86-88.

        [5] 王韜,印勇,劉國(guó)金.基于VxWorks的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2007,26(1):52-54,105.

        [6] 孫海彬.支持PCI總線的CORBA可插拔協(xié)議研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科技大學(xué),2010.

        [7] 王韜,楊士中,譚曉衡.基于MPC860和VxWorks的嵌入式中斷處理設(shè)計(jì)[J] .電訊技術(shù),2005,45(1):45-50.

        [8] 王柯.基于Pentium4處理器的VxWorks板級(jí)支持包設(shè)計(jì)[J].電子科技,2011,24(6):57-59.

        猜你喜歡
        網(wǎng)卡嵌入式調(diào)試
        在DDS 中間件上實(shí)現(xiàn)雙冗余網(wǎng)卡切換的方法
        Server 2016網(wǎng)卡組合模式
        基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
        FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
        無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        挑戰(zhàn)Killer網(wǎng)卡Realtek網(wǎng)游專(zhuān)用Dragon網(wǎng)卡
        Altera加入嵌入式視覺(jué)聯(lián)盟
        亚洲s色大片在线观看| 国产精品网站在线观看免费传媒| 人妻暴雨中被强制侵犯在线| 日韩精品电影在线观看| 激情亚洲综合熟女婷婷| 久久综合国产精品一区二区| 国产精品扒开腿做爽爽爽视频| 波多野吉衣av无码| 亚洲国产精品一区二区久| 成美女黄网站18禁免费| 国产熟女白浆精品视频二| 亚洲av无码无限在线观看| 欧美性大战久久久久久久| 制服丝袜人妻中出第一页| 日本精品一级二区三级| 国产午夜福利精品一区二区三区| 亚洲av熟妇高潮30p| 在线观看国产一区亚洲bd| 日本伦理美乳中文字幕| 日本av不卡一区二区三区| 亚洲av香蕉一区区二区三区| 中文字幕人妻丝袜美腿乱| 成年视频网站在线观看777| 三级日本理论在线观看| 精品无码国产自产拍在线观看蜜| 无码国产一区二区三区四区| 99re6久精品国产首页| 亚洲精品中文字幕乱码| 亚洲欧美日韩精品久久| 国外亚洲成av人片在线观看 | 国产午夜视频在线观看免费| 99精品欧美一区二区三区| 一本大道久久a久久综合| 亚洲国产91高清在线| 免费不卡在线观看av| 久久99国产亚洲高清观看韩国| 亚洲性码不卡视频在线| 免费a级毛片高清在钱| 亚洲精品字幕在线观看| 天天摸天天做天天爽天天舒服| 亚洲av专区国产一区|