lowlevel_init.S注解

来源:Linux认证    发布时间:2012-11-10    Linux认证视频    评论

  #include <config.h>

  #include <version.h>

  /* some parameters for the board */

  /*

  *

  * Taken from linux/arch/arm/boot/compressed/head-s3c2410.S

  *

  * Copyright (C) 2002 Samsung Electronics SW.LEE  <hitchcar@sec.samsung.com>

  *

  */

  @我的开发板上的SDRAM为:HY57V561620FTP-H,4Mx16bitx4Banks,两片接成32bit,64MB,接在BANK6上,地址范围为:[0x30000000-0x33ffffff]

  @(还没搞清楚SDRAM的结构,为什么要分成Banks,改天看下相关的文档研究一下)

  @对于SDRAM的初始化是要配置13个寄存器,好像多采用循环方式。

  #define BWSCON 0x48000000

  @BWSCON寄存器地址,控制每个总线

  /* BWSCON */

  #define DW8   (0x0)

  #define DW16   (0x1)

  #define DW32   (0x2)

  @将用来设置位宽的三个宏

  #define WAIT   (0x1<<2)

  #define UBLB   (0x1<<3)

  @将用来设置wait和ublb的宏

  #define B1_BWSCON  (DW32)

  #define B2_BWSCON  (DW16)

  #define B3_BWSCON  (DW16 + WAIT + UBLB)

  #define B4_BWSCON  (DW16)

  #define B5_BWSCON  (DW16)

  @BANK2、BANK3、BANK4、BANK5为什么配成16bit总线宽度,而且BANK3还要加上WAIT和UBLB属性没有搞明白,感觉如果没用到的话可以配成默认值的吧?

  #define B6_BWSCON  (DW32)

  #define B7_BWSCON  (DW32)

  @我板子的SDRAM接在BANK6,所以配成32bit位宽,BANK7按datasheet的要求配置的和BANK6相同

  @分别配置每个BANK的BANKCON寄存器,这里应该根据SRAM的手册来配置相应的BANK,BANK0~5主要是配置一些时序参数

  /* BANK0CON */

  #define B0_Tacs   0x0 /*  0clk */

  #define B0_Tcos   0x0 /*  0clk */

  #define B0_Tacc   0x7 /* 14clk */

  #define B0_Tcoh   0x0 /*  0clk */

  #define B0_Tah   0x0 /*  0clk */

  #define B0_Tacp   0x0

  #define B0_PMC   0x0 /* normal */

  /* BANK1CON */

  #define B1_Tacs   0x0 /*  0clk */

  #define B1_Tcos   0x0 /*  0clk */

  #define B1_Tacc   0x7 /* 14clk */

  #define B1_Tcoh   0x0 /*  0clk */

  #define B1_Tah   0x0 /*  0clk */

上一页1234下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答