新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > U-Boot在S3C2410上的移植分析

        U-Boot在S3C2410上的移植分析

        作者: 時間:2012-04-19 來源:網絡 收藏


        其中“arm”是CPU的種類,arm920t是ARM CPU對應的代碼目錄,是自己開發板對應的目錄。

        交叉編譯器安裝在:/ path/ armv4l-unknown -linux-目錄下,所以把CROSS-COMPILE 設置成相應的路徑: CROSS-COMPILE = / path/ arm4l-unknown-linux -

        生成目標文件并進行測試
        依次運行以下命令:

        # make clean
        # make -config
        # make

        之后會生成三個文件:

        ——ELF 格式的文件, 可以被大多數Debug 程序識別;
        .bin ——二進制文件,純粹的

        二進制執行代碼,不保存ELF 格式和調試信息。 這個文件一般用于燒錄到用戶開發板中;U-Boot .srec ——Motorola S-Record格式,可以通過串行口下載到開發板中。

        測試與應用

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

        1) 測試

        利用編制好的Flash燒寫程序,通過JTAG口將生成的二進制文件U-Boot。bin燒入Flash的零地址。 燒錄成功后,拔掉JTAG調試線并復位開發板,從Minicom終端輸出如下信息:

        U-Boot 1.1.2 (Jul 20 2005-09 :34 :21)
        U-Boot code : 33F00000-> 33F1952C BSS:-> 33F1D870
        RAM Configuration :
        Bank # 0 : 30000000 64 MB
        Flash Memory Start 0x0000000
        Device ID of the Flash is 18
        Flash : 16 MB
        Write 18 to Watchdog and it is 18 now
        In : serial
        Out : serial
        Err : serial
        SMDK2410 #

        串口輸出的以上信息表明,CPU和串口已正常工作。通過U-Boot提供的命令flinfo和mtest可以測試Flash和RAM。經過測試,可以正確地讀出Flash信息及讀寫RAM,表明Flash 和DRAM 已正確初始化。用tftp命令傳輸宿主機tftpboot目錄下任一小文件到RAM成功,說明網卡芯片也成功驅動。

        2) 簡單應用

        U- Boot的主要作用是用來引導內核。因此,通過U-Boot引導一個特定的內核,可以進一步測試其的穩定性。而使用U-Boot引導內核有兩種不同的方法。第一種方法是直接將內核映象文件和根文件系統燒寫入Flash,使用此方法,U-Boot在啟動時將 Flash中的內核映象及根文件系統讀入RAM指定位置并從同一位置啟動內核。第二種方法是將內核映象文件和根文件系統下載至RAM中直接啟動(而不是從Flash中讀入RAM) ,此種方法不需要燒寫Flash。筆者為了減少燒寫Flash的次數,在本文中采用第二種方法,其步驟如下:

        SMDK2410 # tftp 30008000 zImage
        SMDK2410 # tftp 30800000 ramdisk.Image.gz
        SMDK2410 # go 30008000

        上述指令執行的過程中,未出現異常,內核成功啟動,并最終進入Shell提示符“ # ”。在Shell提示符下輸入內核編譯時定制的各個命令,均可以正常運行。另外編寫簡單C程序,并用交叉編譯器編譯之,最終生成的可執行文件能夠在開發板上正常運行。上述事實說明內核經過U-Boot引導已穩定運行在開發板上。此次應用,進一步驗證了U-Boot的穩定性。至此,工作告一段落。

        結 語

        目前,筆者移植的U-Boot已經能穩定地運行在開發板上,這使得Linux內核的調試脫離了BDM調試器,節約了大量的開發時間,大大提高了效率,是對后續嵌入式開發的有力支持。當然,U-Boot只是一款好用的,嵌入式Linux的開發存在很多技術細節,只有根據實際情況不斷修改、調試、總結,才能獲得更大的成功。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 独山县| 潼南县| 凌云县| 郴州市| 黎川县| 富宁县| 双柏县| 友谊县| 保德县| 万年县| 宁国市| 中牟县| 姜堰市| 榆社县| 正定县| 陕西省| 长武县| 泰来县| 秀山| 梅州市| 民权县| 哈巴河县| 定安县| 青冈县| 泾阳县| 衢州市| 衡阳县| 张北县| 本溪市| 卢氏县| 永福县| 美姑县| 北京市| 鄢陵县| 仁布县| 渝中区| 凤台县| 泰州市| 清水河县| 麟游县| 平江县|