關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于MPC8349控制計算機的U-Boot移植

        基于MPC8349控制計算機的U-Boot移植

        作者: 時間:2010-05-06 來源:網絡 收藏
        2.6.13.4 和U-boot-1.1.3。
        C. U- 交叉編譯的結果
        首先,我們需要添加交叉編譯器(powerpc-Linux-)到u-boot/Makefile 中。在開發主機上,編譯器存在的路徑為/embedded/mpc_85xx/bin/powerpc-Linux。在添加、修改完Makefile 后,我們就需要進行U-boot 的交叉編譯了。應該輸入以下命令:
        # make distclean
        # make _config
        # make
        如果編譯成功,會出現以下三個應用文件。
        “u-boot/u-boot.bin” : raw binary image
        “u-boot/u-boot “ : ELF binary image
        “u-boot/u-boot.srec“ : Motorola S-Record image
        5 安裝 U-
        在把交叉編譯好的U- 文件安裝到系統板上時,我們可以針對不同情況進行安裝。如果系統板上以前沒有U-Boot 型,我們可以使用的CodeWarrior 把U-Boot 燒錄到系統板中。如果系統板已存在可以運行的U-Boot,我們可以利用U-Boot 可以直接下載新制作的U-Boot文件,從而實現U-Boot 的更新。
        當使用U - Boot 在更新U-Boot 時,我們首先需要在U-Boot 的環境變量中設置各種參數。這些參數包括啟動頻率、系統板的ip 和TFTP 服務器的ip。為了查看U-Boot 的環境變量的設置情況,我們可以利用printenv 命令 ,從而確保所有的環境變量設置是否正確。然后,我們應該插入以太網電纜向TSEC1 端口。然后,我們應該按照下面的步驟。
        (1) 通過TFTP 下載u-boot.bin 文件到系統板中的 RAM。需要用的命令是“tftp 1000000u-boot.bin”。
        (2) 我們需要把u-boot.bin 文件拷貝到Flash 中。這里,我們需要取消Flash 的寫保護。需要用到的命令是 “protect off fff80000 ffffffff”。
        (3) 擦出Flash 上的數據。需要用到的命令是 “erase fff80000 ffffffff”。
        (4) 把u-boot.bin 文件拷貝到Flash 中。需要用到的命令是 “cp.b 1000000 fff80000 80000”。至此,最新的U-Boot 已被安裝到了 控制系統板上。
        6 U-Boot 的使用
        A 信息查看命令
        Bdinfo:將在終端顯示諸如內存地址和大小、時鐘頻率、MAC 地址等信息。這些信息在傳遞給Linux 內核一些參數時會用到。
        Coninfo:顯示控制臺設備和信息。
        Flinfo: 打印全部Flash 組的信息。
        Iminfo:打印程序映像的開頭信息,包含了映像內容的校驗(序列號、頭和校驗和)。
        Help:help 命令還能夠查看每個命令的參數說明。
        B. 內存管理命令
        Base:顯示或者設置一個“基地址”作為所有存儲類命令的地址偏移值。
        crc32:可以計算存儲數據的校驗和。
        cmp:比較兩塊內存中的內容。
        cp:可以在內存中復制數據塊,包括對Flash 的讀寫操作memory copy。
        md:顯示內存區的內容。
        mm:修改內存,地址自動遞增。
        mtest:提供一個簡單地存儲器測試。
        mw:可以按照字節、字、長字寫內存。
        nm:可以修改內存,可以按照字節、字、長字操作。
        loop:非常快速地讀某個存儲范圍。因為這個命令力圖最快速地讀取存儲單元,所以被用作一種特殊的存儲器測試。
        C. Flash 控制命令
        cp:可以在內存中復制數據塊,包括對Flash 的讀寫操作。
        flinfo: 打印全部Flash 組的信息,也可以只打印其中某個組。一般嵌入式系統的Flash 只有一個組;
        erase:可以擦Flash。
        protect:對Flash 寫保護的操作,可以使能和解除寫保護。
        D. 執行控制命令
        autoscr:autoscr 命令,可以在U-BOOT 中運行“腳本”。
        bootm:引導啟動存儲在內存(RAM 和可以永久保存的Flash)中的程序映像。
        go:可以執行應用程序。
        E. 下載命令
        bootp:通過bootp 請求,要求DHCP 服務器分配IP 地址,然后通過TFTP 協議下載指定的文件到內存。
        loadb:可以通過串口線下載二進制格式文件。
        loads:可以通過串口線下載S-Record 格式文件。
        rarpboot :可以使用TFTP 協議通過網絡啟動映像。也就是把指定的文件下載到指定地址,然后執行。
        tftpboot : 可以使用TFTP 協議通過網絡下載文件。按照二進制文件格式下載。
        F. 環境變量命令
        printenv :打印環境變量。
        saveenv :保存變量。
        setenv :可以設置環境變量。
        run :可以執行環境變量中的命令,后面參數可以跟幾個環境變量名。
        bootd :運行 “bootcmd”的配置。
        G.特殊命令
        i2c:I2C 底層文件系統。
        ide:IDE 底層文件系統 。
        diskboot :從IDE 上啟動。
        H. 其他的命令
        date:時鐘設置與讀取命令。
        echo:回顯參數。
        reset:執行CPU 的復位。
        sleep:可以延遲N 秒鐘執行,N 為十進制數。
        version:print monitor version。
        ? :得到所有命令列表。
        baudrate :定義串口控制臺的波特率。
        bootargs :定義傳遞給Linux 內核的命令行參。
        bootcmd :保留的環境變量,也是一種腳本。如果定義了該變量,在autoboot 模式下,將會執行該腳本的內容。
        bootdelay : 定義執行自動啟動的等候秒數。
        bootfile :定義缺省的下載文件。
        ethaddr :定義以太網接口0 的MAC 地址。
        eth1addr:定義以太網接口1 的MAC 地址。
        eth2addr :定義以太網接口2 的MAC 地址。
        filesize : 定義通過TFTP 下載文件的大小。
        gatewayip: 定義IP 地址的網關。
        ipaddr :定義本地的IP 地址。
        loadaddr : 定義通過TFTP 下載的默認地址 。
        netmask :定義以太網接口的掩碼。
        serverip : 定義tftp 服務器端的IP 地址
        7 結論
        研究表明,在移植后U-Boot 可以運行安全、穩定地運行在 控制系統上面。然后,在U-Boot 可以用來初始化,測試的硬件或下載和運行程序代碼。U-Boot 在以后給系統加載Linux 操作系統和應用程序,都表現出很好的穩定性,高效性。總之,在U-Boot-1.1.3 作為最新版本的U-Boot,具有很強的功能,我們把其移植到MPC8349 控制系統上面,從而使該嵌入式系統順利啟動、穩定運行、便于開發。鑒于這些情況,MPC8349控制計算機系統的應用領域將會十分的廣泛。
        本文作者創新點:本文詳細介紹了向MPC8349 控制計算機移植U-Boot 的方案。MPC8349控制計算機以其優越的網絡功能,在很多領域有著廣泛的應用。本方案把最新版本的U-Boot成功移植到硬件系統中,可以是MPC 控制計算機在嵌入式領域的開發更加便捷。

        本文引用地址:http://www.104case.com/article/202543.htm

        上一頁 1 2 下一頁

        關鍵詞: 8349 Boot MPC 計算機

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 武功县| 大埔区| 乌鲁木齐县| 烟台市| 磴口县| 台中县| 连平县| 榆中县| 拜泉县| 淅川县| 梁河县| 盐池县| 武威市| 营口市| 榆社县| 绥滨县| 文安县| 古浪县| 天峻县| 开阳县| 马鞍山市| 南澳县| 东港市| 麻阳| 卢氏县| 绥芬河市| 蒲城县| 德兴市| 镇雄县| 盐城市| 木里| 孝昌县| 托里县| 乐安县| 金堂县| 和平区| 洞头县| 蓬莱市| 泗水县| 原阳县| 蕲春县|