U-Boot学习记录1

来源:互联网 发布:java数组的定义格式 编辑:程序博客网 时间:2024/06/08 10:45

一、前期准备

    硬件:讯为开发板4412精英版    软件版本:uboot2016.05

二、分析文件

    Exynos4412为Cortex—A9处理器,cpu为armv7内核;    所以,这里start.s使用的是u-boot-2016.05\arch\arm\cpu\armv7目录下的start.s    打卡start.s文件后,首先看前面几行的include的头文件,这些文件都在哪里呢?
    #include <asm-offsets.h>    #include <config.h>    #include <asm/system.h>    #include <linux/linkage.h>
    这些文件主要存放在两个目录下面:    1、u-boot-2016.05\include    2、u-boot-2016.05\arch\arm\include    查阅头文件u-boot-2016.05\include\linux\linkage.h可以知道    标号ENTRY(save_boot_parameter)代表如下内容:        .globl save_boot_parameter:;        .align 4;        save_boot_parameter:    标号ENPROC(save_boot_parameter)代表如下内容:        .type save_boot_parameter STT_FUNC;(.type 为gcc的一个伪指令;给链接器说明save_boot_parametr为一个函数)        .size save_boot_parameter,.-save_boot_parameter(.size说明函数大小,该指令可查阅gcc as说明,.代表当前位置,.-save_boot_parameter代表整个函数的大小,结尾减开头)    标号.weak save_boot_params    (.weak代表该标号为一个弱标号,表示当别处出现该标号的定义则采用别处的定义,该定义作废)
原创粉丝点击