歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> S3C2416 U-Boot移植筆記

S3C2416 U-Boot移植筆記

日期:2017/3/1 9:48:16   编辑:Linux編程

首先說,今天是一個值得高興的日子,因為經過四天的努力,終於把U-Boot1.3.4成功移植到了s3c2416上.板子要求是SD卡啟動,以下具體的移植步聚:

一、SD起動首先要修改/include/configs/smdk2416.h頭文件:

在365行左右,按如下修改:

//#define CONFIG_BOOT_NAND
#define CONFIG_BOOT_MOVINAND

說明:
CONFIG_BOOT_NANA是nandFlash啟動方式,在此處要注釋掉,因為我們要從SD卡啟動,相應 的 IG_BOOT_MOVINAND項要打開。

二、

#define CONFIG_SERIAL1 1

三、BootLoader一般分為兩個階段啟動:第一階段使用匯編來實現,它完成一些依賴於CPU體系結構的初始化,並調節器用第二階段代碼;第二階段通常用C語言來實現。

第一階段:

硬件設備初始化;(board/samsung/smdk2416/lowlevel_init.S,包括點亮測試燈,關閉看門狗、關閉 main和sub中的中斷、初始化系統時鐘、初始化串口、初始化NandFlash,初始化MMU)

為加載Bootloader的第二階段代碼准備RAM空間;

復制Bootloader 的第二階段代碼到RAM空間中;(在匯編start.S 調用 void movi_bl2_copy(void))

設置好棧;

跳轉到第二階段代碼的C入口點。(在/cpu/s3c24xx/start.S中,通過ldr pc, _start_armboot調用lib_arm/board.c中的void start_armboot (void)進入第二階段)

第二階段:

初始化本階段要使用到的硬件設備;

檢測系統內存映射(memolry map);

將內核映象和根文件系統映象從Flash上讀到RAM空間中;

為內核設置啟動參數;

四、 編譯U-boot

make distclean 編譯之前先清除一下;

make smdk2416_config

make CROSS_COMPILE=交叉編譯器的路徑

Copyright © Linux教程網 All Rights Reserved