色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          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ù)。進行各種初始化設(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文件
          完成上述初始化后,進入命令循環(huán)(即整個boot的工作循環(huán)),代碼為:
          for(;;)
          {
          main_loop();

          本文引用地址:http://cafeforensic.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)板最接近的一個版本進行移植。因此選擇B2進行移植。從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í)行。下面對其中一些代碼進行針對性的
          (1)設(shè)置WTCON=0x0,禁止看門狗定時器,避免處理器強行復(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芯片資料進行設(shè)置。
          3.3 board/dave/b2/b2.c文件
          該文件中的代碼主要是SDRAM的驅(qū)動程序,并完成了處理器各個I/O 口的初始化,根據(jù)具體的目標(biāo)板進行適當(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)閉