天嵌 ARM开发社区

 找回密码
 注册
查看: 3933|回复: 1

s3c2416 U-Boot移植笔记(转)

[复制链接]
非也 发表于 2014-12-16 15:58:24 | 显示全部楼层 |阅读模式
首先说,今天是一个值得高兴的日子,因为经过四天的努力,终于把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语言来实现。
    第一阶段:
    硬件设备初始化;(boardmsung/smdk2416/lowlevel_init.S,包括点亮测试灯,关闭看门狗、关闭main和sub中的中断、初始化系统时钟、初始化串口、初始化NandFlash,初始化MMU)
      为加载Bootloader的第二阶段代码准备RAM空间;
      复制Bootloader 的第二阶段代码到RAM空间中;(在汇编start.S 调用  void movi_bl2_copy(void))
      设置好栈;
      跳转到第二阶段代码的C入口点。(在u/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=交叉编译器的路径  

浩之 发表于 2017-5-4 16:11:16 | 显示全部楼层
感谢楼主分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-23 14:09 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表