U-BOOT在2440移植的過程

來源:互聯網
上載者:User

今天移植了下U-BOOT,具體細節不寫了,紀錄下大體過程:

1.首先修改SDRAM的配置,SDRAM的初始化在U-BOOT的第一階段完成,在board/smdk2410/lowlevel_init.S中。參照具體硬體對晶片的7個片選進行配置。

2.根據HCLK設定SDRAM的重新整理參數,主要是REFCNT寄存器。這裡需要根據所選用的SDRAM晶片手冊進行設定。

3.進行時鐘設定。2440在系統時鐘設定、NANDFLASH控制器的操作上有些區別。2410的F:H:P=1:2:4,2440的F:H:P=1:4:8

為了支援2440要將2410的相關配置屏蔽。在/cpu/arm920t/start.S檔案中,對2410的屏蔽,然後再board/smdk2410/smdk2440.c的board_init函數中重新設定。

4.在board_init函數中識別出了S3C2410和S3C2440後,設定了機器ID:gd->bd->bi_arch_number,在以後的函數可以通過它來分辨板子。首先要在程式中增加:DECLARE_GLOBAL_DATA_PTR才能使用gd變數。

5.由於隨後設定串口傳輸速率需要獲得系統時鐘即u-boot的第二階段,lib_arm/board.c中的start_armboot函數調用serial_init函數初始化串口時,會調用get_PCLK函數。在cpu/arm920t/s3c24x0/speed.c中實現。與它相關的還有get_HCLK,get_PLLCLK等函數。所以需要對get_PCLK進行修改。

6.設定dm9000網卡,只需要在include/config/jansons3c2440.c中,對dm9000需要的相應資源(裝置地址,io和資料地址,位寬,ip等進行設定)即可,然後修改driver/Makefile即可。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.