【2440裸机】SDRAM的初始化(head.s)

发布者:MysticGarden最新更新时间:2023-06-07 来源: elecfans关键字:2440裸机  SDRAM  初始化  head 手机看文章 扫描二维码
随时随地手机看文章

芯片一上电,拷贝Nand前4K数据到片内SRAM内(4K);

关看门狗,初始化存储器管理;

把片内SRAM的数据拷贝到SDRAM内;


@*************************************************************************

@ File:head.S

@ 功能:设置SDRAM,将程序复制到SDRAM,然后跳到SDRAM继续执行

@*************************************************************************       


.equ        MEM_CTL_BASE,       0x48000000

.equ        SDRAM_BASE,         0x30000000


.text

.global _start

_start:

    bl  disable_watch_dog               @ 关闭WATCHDOG,否则CPU会不断重启

    bl  memsetup                        @ 设置存储控制器

    bl  copy_steppingstone_to_sdram     @ 复制代码到SDRAM中

    ldr pc, =on_sdram                   @ 跳到SDRAM中继续执行

on_sdram:

    ldr sp, =0x34000000                 @ 设置堆栈

    bl  main

halt_loop:

    b   halt_loop


disable_watch_dog:

    @ 往WATCHDOG寄存器写0即可

    mov r1,     #0x53000000

    mov r2,     #0x0

    str r2,     [r1]

    mov pc,     lr      @ 返回


copy_steppingstone_to_sdram:

    @ 将Steppingstone的4K数据全部复制到SDRAM中去

    @ Steppingstone起始地址为0x00000000,SDRAM中起始地址为0x30000000

    

    mov r1, #0

    ldr r2, =SDRAM_BASE

    mov r3, #4*1024

1:  

    ldr r4, [r1],#4     @ 从Steppingstone读取4字节的数据,并让源地址加4

    str r4, [r2],#4     @ 将此4字节的数据复制到SDRAM中,并让目地地址加4

    cmp r1, r3          @ 判断是否完成:源地址等于Steppingstone的未地址?

    bne 1b              @ 若没有复制完,继续

    mov pc,     lr      @ 返回


memsetup:

    @ 设置存储控制器以便使用SDRAM等外设


    mov r1,     #MEM_CTL_BASE       @ 存储控制器的13个寄存器的开始地址

    adrl    r2, mem_cfg_val         @ 这13个值的起始存储地址

    add r3,     r1, #52             @ 13*4 = 54

1:  

    ldr r4,     [r2], #4            @ 读取设置值,并让r2加4

    str r4,     [r1], #4            @ 将此值写入寄存器,并让r1加4

    cmp r1,     r3                  @ 判断是否设置完所有13个寄存器

    bne 1b                          @ 若没有写成,继续

    mov pc,     lr                  @ 返回



.align 4

mem_cfg_val:

    @ 存储控制器13个寄存器的设置值

    .long   0x22011110      @ BWSCON

    .long   0x00000700      @ BANKCON0

    .long   0x00000700      @ BANKCON1

    .long   0x00000700      @ BANKCON2

    .long   0x00000700      @ BANKCON3  

    .long   0x00000700      @ BANKCON4

    .long   0x00000700      @ BANKCON5

    .long   0x00018005      @ BANKCON6

    .long   0x00018005      @ BANKCON7

    .long   0x008C07A3      @ REFRESH

    .long   0x000000B1      @ BANKSIZE

    .long   0x00000030      @ MRSRB6

    .long   0x00000030      @ MRSRB7


关键字:2440裸机  SDRAM  初始化  head 引用地址:【2440裸机】SDRAM的初始化(head.s)

上一篇:【2440裸机】虚拟地址MMU
下一篇:【2440裸机】中断

推荐阅读最新更新时间:2024-11-13 12:20

stm8s开发(一) 使用IAR新建工程
附上stm8s在IAR环境下的项目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代码。 http://download.csdn.net/detail/devintt/9454188 新建工程是第一步! a)创建一个 Workspace 首先,创建一个workspace。选择菜单File New Workspace b)创建一个 Project 1)创建一个新的工程,选择 Project Create New Project,创建新工程的对话框,如下图所示: 2) Tool chain 默认是 STM8 Series。 无需再选择。 3)在 Project templates 中选择“
[单片机]
linux-3.0内核移植到fl2440开发板(以s3c2410为模板)
1.新建kernel文件夹,用于存放内核文件 $ mkdir kernel 2.进入kernel,上传压并解压压缩文件 $cd kernel $ tar -xjf linux-3.0.tar.bz2 3.进入linux-3.0 cd linux-3.0 4.修改makefile,配置CPU类型和交叉编译器(195,196行) ARCH ?=arm CROSS_COMPILE ?=/opt/buildroot-2012.08/arm926t/usr/bin/arm-linux- 交叉编译器路径每个人不太一样,大家把路径都换成自己的,另外在配置交叉编译器路径的时候,不要多加多余的空格,否则编译器不会被找到。 在同一
[单片机]
三星S10 Lite概念图曝光
       还有几天2019年即将到来,这也意味着三星的开年旗舰三星Galaxy S10系列已经越来越近了。近日,国内“知名外媒”冰宇宙放出一张三星Galaxy S10 Lite的手机壳设计概念图。   从图片上看,Galaxy S10 Lite设计与iPhone XR类似,四边等宽,刘海水滴什么的是不存在的,因为其采用的是屏幕挖孔的设计,前置单摄位于屏幕右上角。另外,Galaxy S10 Lite还保留了3.5mm耳机接口,祖传的无线充电同样没有被阉割,还搭载了侧面指纹识别功能。   尽管Galaxy S10 Lite作为Galaxy S10系列中定位最低的型号,但处理器还是跟其他型号一致的,都是明年旗舰的标配
[手机便携]
HUAWEI nova 2s评测:前后双摄展现你的美
HUAWEI nova 2s图赏 双玻璃材质更耀眼 1/12 查看原图 图集模式 全面屏和玻璃机身会碰撞出什么样的火花呢?一起来看看这次的主角,HUAWEI nova 2s。   拍照已经成为用户对手机选择时的刚需,厂商也在不断探索,从后置千万摄像头到后置双摄再到前置千万,如今手机已是发展到前后双摄。而下半年,我们又看到了手机的“新形势”——“全面屏”。那么全面屏和拍照又会碰撞出什么样的火花呢?一起来看看这次的主角,HUAWEI nova 2s。 HUAWEI nova 2s   HUAWEI nova 2s系列采用6.0英寸(圆角5.93英寸 )屏幕,拍照方面使用前置2000万像素+200
[手机便携]
为MODEL 3开路 特斯拉MODEL S 75将停产
海外媒体日前有报道称,特斯拉公司已经向外媒确认将于近期停产现款MODEL S的入门级车型——MODEL S 75系列。据悉,由于特斯拉需要将MODEL S车系在定价上与新晋的MODEL 3车系拉开足够大的差距的原因造成此次停产。未来,MODEL S 75D将会成为MODEL S新的入门车型,届时MODEL S也将全系标配双电机四驱动力。下面就随汽车电子小编一起来了解一下相关内容吧。   特斯拉MODEL S 75D 外媒称,MODEL S 75车型的停产意在缩小MODEL 3/MODEL S车系间的价格重叠。虽然特斯拉CEO马斯克曾向外媒表示先期投产的MODEL 3只会提供单电机后驱车型,但考虑到2018年MODEL 3还将
[汽车电子]
Apple Watch S2出货至少可望3000万支
    尽管市场上对于苹果(Apple)穿戴式装置的期待不如以往,Apple Watch Series 2仍对台系半导体相关供应体系台积电、日月光等不无小补,熟悉封测产业人士透露,估计苹果第3季在新款Apple Watch出货量至少可望来到300万支,第4季可望持平或小增。   Apple Watch Series 2双核心应用处理器由台积电16纳米制程制造,而搭载双核心应用处理器的SiP模组S2,亦是由日月光上海子公司环旭拿下封测大单。市场上对于单月出货200万支的乐观预估稍有疑虑,不过展望后市,由于传统消费电子产品旺季需求逐月增温,虽然第4季出货目标尚未明确,但一般认为可望持平或小幅增加。   苹果公司CEO Tim
[手机便携]
S3C6410 SPI全双工读写流程分析(原创)
一、SPI控制器datasheet 1详细请参考:http://blog.csdn.net/hustyangju/article/details/20474659 2 SPI的所有寄存器都是映射到内核空间的,采用基地址+偏移地址的方式访问 static volatile void __iomem *spiregs; //global variable for mapping spiregister spiregs = (volatile)ioremap(0x7F00B000,0x30); //just request for the spi0 3 下文可能用到的偏移地址 #defi
[单片机]
网曝小米MIX2S设计图 也将使用屏下指纹识别技术
电子网消息,此前,vivo发布了全球首款屏下指纹识别手机——vivo X20 Plus屏幕指纹版,惊艳了整个手机圈,但由于3598元的售价让一些人对此望而止步。不少人已经开始在等待第二款搭载屏下指纹识别技术的手机了,那么谁将是第二款了? 面对这个问题,今天网络流传的一张小米MIX2S的设计图给出了答案。 从设计图中我们清楚地的看到,除了升级到全面屏3.0、,拥有四曲面屏的外观设计外,小米MIX2S还有望全球首发高通骁龙845处理器,雷军也在高通骁龙技术峰会上表示过小米的下一代旗舰智能手机将搭载骁龙845,它还将具备用上8GB+256GB的存储,支持全球4G网络频段,更重要的是居然还用上了屏下指纹识别技术。 根据近日数网
[手机便携]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved