您的位置 首页 发布

S3C2440支撑的两种发动方法

在ARM上电的情况下,流程如下:1、关闭看门狗,关闭所有中断。2、设置系统工作频率,FCLK,HCLK,PCLK,UCLK。3、初始化内存控制寄存器

在ARM上电的情况下,流程如下:

1、 封闭看门狗,封闭一切中止。

2、 设置体系作业频率,FCLK,HCLK,PCLK,UCLK。

3、 初始化内存操控寄存器,初始化参数在段SMRDATA里界说。SDRAM初始化在这里处理。

4、 在开发板上电时,按住接在EINT0脚上的按键会清零64MSDRAM。

5、 初始化仓库

6、 读OM0,OM1引脚状况,判别是从NAND FLASH发动仍是从NOR FLASH发动。

假如是从NAND FLASH发动,把NAND FLASH的代码复制到SDRAM中,接着程序开端在SDARM中运转。然后初始化数据段,最终跳转到main()函数开端运转。

假如是从NOR FLASH发动,判别ResetEntry值和BaseOfROM值是否持平,BaseOfROM值是在ADS里界说的RO BASE,假如界说为0X30000000,由于ARM上电ResetEntry值为0,所以接下来程序会把NOR FLASH里的程序复制到SDRAM中。假如RO BASE界说为0,将直接在NOR FLASH里运转。然后初始化数据段,最终跳转到main()函数开端运转。

1: 从NAND FLASH发动时,在ARM上电时,ARM会主动把NAND FLASH前4K的内容复制到S3C2440内部SRAM中,一起把SRAM的地址映射到0X00000000。ARM上电后会从SRAM处开端运转。

2:从NOR FLASH发动时,由于NOR FLASH接在bank0。地址映射是0X00000000。所以ARM上电后直接运转NOR FLASH里的程序。此刻S3C2440内部SRAM地址为0X40000000。

3:ARM上电发动都是从0X00000000开端运转。可是关于复位程序进口,ResetEntry的值在ARM上电运转时是0X00000000,在JTAG仿真时是0X30000000。这个值很要害,在复制程序时会用到。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/259722.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部