您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 61IC电子在线 >> TI专栏 >> TI Sitara ARM >> Cortex-A8 >> 正文
  [组图]AM335x SPL(二)           ★★★ 【字体:
AM335x SPL(二)
作者:zh_wang2…    文章来源:zh_wang2010    点击数:    更新时间:2013-9-25    
SPL代码分析:

分析SPL代码,首先要看一下SPL目录下的Makefile文件,在Makefile中:

CONFIG_SPL_BUILD := y 
export CONFIG_SPL_BUILD

这个宏定义用于打开U-boot代码里有关SPL部分的分支.

另外,Makefile还交代了SPL涉及到的相关代码文件:

主要有 u-boot-2011.09-psp04.06.00.08\arch\arm\cpu\armv7

          u-boot-2011.09-psp04.06.00.08\arch\arm\lib

          u-boot-2011.09-psp04.06.00.08\drivers

          等.

除了通过Makefile分析SPL涉及到的相关代码文件外,还可以简单的通过在编译SPL时,在make 后加上O=am335x来将所有的.o文件归类在一起,在am335x/spl目录下:

clip_image002

clip_image002[6]

clip_image002[8]

clip_image002[10]

通过上面的图,可以很清楚的了解SPL在编译时涉及到U-Boot中的代码文件

 

# Linker Script 
ifdef CONFIG_SPL_LDSCRIPT 
# need to strip off double quotes 
LDSCRIPT := $(addprefix $(SRCTREE)/,$(subst ",,$(CONFIG_SPL_LDSCRIPT))) 
endif

该处指定了SPL的链接脚本文件

CONFIG_SPL_LDSCRIPT 在 u-boot-2011.09-psp04.06.00.08\include\configs\Am335x_evm.h中定义: 
#define CONFIG_SPL_LDSCRIPT        "$(CPUDIR)/omap-common/u-boot-spl.lds"

所以SPL的链接脚本是u-boot-2011.09-psp04.06.00.08\arch\arm\cpu\armv7\omap-common\u-boot-spl.lds

在u-boot-spl.lds中,空间分配如下:

MEMORY { .sram : ORIGIN = CONFIG_SPL_TEXT_BASE,\ 
        LENGTH = CONFIG_SPL_MAX_SIZE } 
MEMORY { .sdram : ORIGIN = CONFIG_SPL_BSS_START_ADDR, \ 
        LENGTH = CONFIG_SPL_BSS_MAX_SIZE }

其中,CONFIG_SPL_TEXT_BASE、CONFIG_SPL_MAX_SIZE、CONFIG_SPL_BSS_START_ADDR、CONFIG_SPL_BSS_MAX_SIZE都是在Am335x_evm.h定义:

#define CONFIG_SPL_TEXT_BASE        0x402F0400 
#define CONFIG_SPL_MAX_SIZE        (101 * 1024)

#define CONFIG_SPL_BSS_START_ADDR    0x80000000 
#define CONFIG_SPL_BSS_MAX_SIZE        0x80000        /* 512 KB */

因此,实际的空间分配如下:

MEMORY { .sram : ORIGIN = 0x402F0400, LENGTH = (101 * 1024) } 
MEMORY { .sdram : ORIGIN = 0x80000000, LENGTH = 0x80000 }

 

SRAM从0x402F0400开始用于存放.TEXT段、.rodata段、.data段内容

SDRAM从0x80000000开始用于存放.bss段内容

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    AM335x SPL (三)
    AM335x SPL (四)
    AM335x uboot spl分析
    AM335x SPL(一)
    AM335x SPL(二)
    AM335x SPL (三)
    AM335x SPL (四)
    AM335x bootloader
    关于AM335X uboot启动的时候…
    LPDDR介绍
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2