zoukankan      html  css  js  c++  java
  • u-boot移植准备(文件级).1

    (原创文章,作者:达达kiki,未经许可,谢绝转载)

    对于诸如S3C2440/2410系列,网上关于u-boot移植资料是较多的,但是大部分皆是在看完视频后直接按照视频中的移植步骤来拽写的,缺少一种体系,给人的感觉稍显分散,本篇随笔以文件的形式从start.s到board.c的顺序,从第一层到其引用层的层次来讲述一个u-boot的工作过程,以及他是如何调用文件并且修改硬件的相关部分,从而掌握依托S3C2440为硬件基础的u-boot移植,较深刻的认识一个u-boot移植过程。

        一、文件基础结构搭建

        开发板:100ask24x0

        芯片:S3C24x0

        需要涉及的文件有README、mkconfig、config.mk、100ask24x0.h、100ask24x0(文件夹)。

        文件引用处:/README

                         /mkconfig

                         /include/config.mk

                         /include/100ask24x0.h

                         /board/100ask24x0 

       

        1 README

        对于一个文件首先需要阅读其说明文档,u-boot中的说明文档就是README,由该文档可知Makefile文件中需用到命令:

    •     make xx_config
    •     make

        由此可知接下来需要通过Makefile详细去了解该配置过程。

        2 Makefile

        找到config命令行部分:   

    smdk2410_config    :    unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

        此处有调用MKCONFIG:

    MKCONFIG    := $(SRCTREE)/mkconfig
    export MKCONFIG

        由此可知调用了源文件目录下的mkconfig

        2.1 mkconfig

    # Create include file for Make
    #
    echo "ARCH   = $2" >  config.mk                                     
    echo "CPU    = $3" >> config.mk                                     
    echo "BOARD  = $4" >> config.mk
    
    [ "$5" ] && [ "$5" != "NULL" ] && echo /
    "VENDOR = $5" >>config.mk
    
    [ "$6" ] && [ "$6" != "NULL" ] && echo "SOC    = $6" >> config.mk

         创建/include/config.mk,将$2~$6信息添加到其中,当通过make 100ask24x0_config传递信息后在config.mk中可以看到如下信息:

    1 ARCH    = ARM
    2 CPU      = arm920t
    3 BOARD  = 100ask24x0
    4 SOC      = s3c24x0

        2.2 100ask24x0.h

      在mkconfig末尾可以看到如下代码:

    echo "#include <configs/$1.h>" >>config.h

        由此可知需要新建立一个名为100ask24x0的头文件:100ask24x0.h

        2.3 100ask24x0

        Makefile从最前面看起我们可以发现有关于board信息的引用,比如:

    LIBS += board/$(BOARDDIR)/lib$(BOARD).a

        由此可知对应目的board我们需要在board下建立一个100ask24x0文件夹,文件夹可由smdk2410_config改编,文件内部的具体修改以及为什么选择smdk2410在后面描述。

  • 相关阅读:
    C#代码中函数调用相关问题
    C#语言编写代码时常用的三大循环
    c#语言中的类型转换
    tesseract_vs2015工具包使用
    Halcon除法
    halcon批量读取图片
    halcon分离路径名称
    Halcon旋转图片的研究
    关于Haclon使用GPU加速的代码实例
    OpenCV代码:画出轮廓的外接矩形,和中心点
  • 原文地址:https://www.cnblogs.com/orangeJuice/p/5845022.html
Copyright © 2011-2022 走看看