在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > U-boot在S3C44B0上的移植與分析

            U-boot在S3C44B0上的移植與分析

            作者: 時間:2009-05-19 來源:網(wǎng)絡(luò) 收藏

            2.2 lib_arm/board.c文件()
            U―b00t/Lib arm/board.c中的start armboot是C語言開始的函數(shù),也是整個啟動代碼中C語言的主函數(shù),該函數(shù)主要是調(diào)用一一系列的初始化函數(shù)。進(jìn)行各種初始化設(shè)置。該函數(shù)完成的操作是:
            (1)調(diào)用一系列的初始化函數(shù),包括:cpu init(CPU相關(guān)的設(shè)置),board init(板子相關(guān)的設(shè)置),in-terrupt_init(中斷設(shè)置),env_init(環(huán)境變量設(shè)置),init_ baudrate(baud參數(shù)設(shè)置),serial init(串口初始化),console_inh_f(控制臺設(shè)置),display_banner(顯示標(biāo)題),dram init(可用內(nèi)存配置);
            (2)初始化FLAsH設(shè)備;
            (3)初始化系統(tǒng)內(nèi)存分配函數(shù);
            (4)如果目標(biāo)系統(tǒng)擁有NAND設(shè)備,則初始化NAND設(shè)備;
            (5)如果目標(biāo)系統(tǒng)有顯示設(shè)備,則初始化該類設(shè)備;
            (6)初始化相關(guān)網(wǎng)絡(luò)設(shè)備,填寫IP、MAC地址等。
            2.3 U―boot/common/main.c文件
            完成上述初始化后,進(jìn)入命令循環(huán)(即整個boot的工作循環(huán)),代碼為:
            for(;;)
            {
            main_loop();

            本文引用地址:http://www.biyoush.com/article/152486.htm

            }


            3 過程
            在此使用的是創(chuàng)維特公司的EB44BO開發(fā)板,系統(tǒng)相關(guān)配置如下:
            處理器:SamslJng S3C4BOX,工作頻率60 MHz;


            2個串口。4個可編程的LED以及14針JTAG接口。
            為了降低的難度,在過程中,一般都是選擇與目標(biāo)處理器以及目標(biāo)板最接近的一個版本進(jìn)行移植。因此選擇B2進(jìn)行移植。從U―bo()t的官方網(wǎng)站上下載最新版的源代碼,目前最高版本為1.3.3。移植主要修改的文件有:cptl/s3c44b0/start.s,board/dave/b2/lowlevel init.s,board/dave/b2/b2.c,board/dave/corn。mon/FLASH.c,include/configs/b2.h,board/dave/b2/config.mk。
            3.1 cpu/s3c44b0/start.s文件
            start.s是匯編語言編寫的:程序入口代碼,主要包括處理器內(nèi)部各個寄存器的初始化以及代碼的搬移。主要完成設(shè)置處理器狀態(tài)、初始化中斷、堆棧、內(nèi)存控制器等,并確定是否需要對整個代碼重定位,最終從FLASH中跳轉(zhuǎn)到定位好的內(nèi)存位置執(zhí)行。下面對其中一些代碼進(jìn)行針對性的
            (1)設(shè)置WTCON=0x0,禁止看門狗定時器,避免處理器強(qiáng)行復(fù)位;
            (2)設(shè)置INTMSK=Ox7ffffff,禁止所有中斷,Bootloader的執(zhí)行過程中不必要響應(yīng)任何中斷;
            (3)根據(jù)嵌入式微處理器工作主頻,修改宏CON-FIG 83C4480 CLCICK SPEED=60 MHz,使處理器能夠正常工作;
            (4)設(shè)置PLLCON=0x34031,PLLCON鎖相環(huán)控制寄存器中儲存有計算系統(tǒng)時鐘的相關(guān)參數(shù),為了產(chǎn)生正確的系統(tǒng)時鐘,必須根據(jù)外接晶振頻率和處理器工作主頻確定各個倍頻系數(shù)。
            3.2 board/dave/b2/lowlevel init.S文件
            該文件由匯編代碼完成,主要包括SDRAM工作參數(shù)的設(shè)置,以及處理器內(nèi)存控制器的初始化,參數(shù)需要根據(jù)SDRAM芯片資料進(jìn)行設(shè)置。
            3.3 board/dave/b2/b2.c文件
            該文件中的代碼主要是SDRAM的驅(qū)動程序,并完成了處理器各個I/O 口的初始化,根據(jù)具體的目標(biāo)板進(jìn)行適當(dāng)?shù)男薷募纯伞?br />3.4 board/dave/common/FLASH.C
            這個文件是FLASH的驅(qū)動程序。FLASH存儲器的燒寫與擦除一般不具有通用性,根據(jù)不同型號的存儲器做出相應(yīng)的修改。EB4480開發(fā)板采用的是Intel28F320C3B,總共71個塊,1~8每塊大小是8 KB,9~71每塊大小是64 KB,它的特殊性決定了需要對



            關(guān)鍵詞: 分析 移植 S3C44B0 U-boot

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉