历史上的今天

今天是:2024年10月14日(星期一)

正在发生

2018年10月14日 | JZ2440裸板之SDRAM启动分析

发布者:心愿成真 来源: eefocus关键字:JZ2440  裸板  SDRAM  启动分析 手机看文章 扫描二维码
随时随地手机看文章

启动文件head.S源码:

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

@ 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

====================================================================

leds.c源码:

#define    GPFCON        (*(volatile unsigned long *)0x56000050)

#define    GPFDAT        (*(volatile unsigned long *)0x56000054)

#define    GPF4_out    (1<<(4*2))

#define    GPF5_out    (1<<(5*2))

#define    GPF6_out    (1<<(6*2))

void  wait(volatile unsigned long dly)

{

    for(; dly > 0; dly--);

}

int main(void)

{

    unsigned long i = 0;

    

    GPFCON = GPF4_out|GPF5_out|GPF6_out;    // 将LED1,2,4对应的GPF4/5/6三个引脚设为输出

    while(1){

        wait(30000);

        GPFDAT = (~(i<<4));                 // 根据i的值,点亮LED1,2,4

        if(++i == 8)

            i = 0;

    }

    return 0;

}

====================================================================

Makefile文件:

sdram.bin : head.S  leds.c

    arm-linux-gcc  -c -o head.o head.S

    arm-linux-gcc -c -o leds.o leds.c

    arm-linux-ld -Ttext 0x30000000 head.o leds.o -o sdram_elf

    arm-linux-objcopy -O binary -S sdram_elf sdram.bin

    arm-linux-objdump -D -m arm  sdram_elf > sdram.dis

clean:

    rm -f   sdram.dis sdram.bin sdram_elf *.o

====================================================================

注意:

       虽然nor flash、网卡和SDRAM的接口一样都是内存类接口,但是SDRAM属于内存类设备,nor flash、网卡不属于内存类设备,叫做RAM Like。


       此实验在测试时不能直接下载到内存中直接运行,要先烧写到nand flash中再运行,否则从片内内存拷贝4k到SDRAM中运行系统会崩溃。


       具体下载方法参见:“JZ2440开发板裸板烧写方法”


JZ2440裸板之SDRAM启动分析


关键字:JZ2440  裸板  SDRAM  启动分析 引用地址:JZ2440裸板之SDRAM启动分析

上一篇:JZ2440裸板之MMU操作
下一篇:JZ2440裸板之GPIO操作启动分析

推荐阅读

据外媒报道,Swift Navigation公司发布了一款综合性方案,该方案可用于高精度车用定位应用,并与意法半导体(STMicroelectronics)的车用级GNSS芯片组实现可互操作性。Swift发布了Starling™定位引擎,这是一款便携式模块化高精度全球导航卫星系统(Global Navigation Satellite System,GNSS)定位软件引擎,可将Swift的Skylark™的云纠偏服务(Cloud...
10 月 14 日讯,ADI 近期表示车用芯片已经成为了其部门营收的重要来源之一。 受惠于电动车和自动驾驶汽车需求畅旺,模拟 IC 厂 Analog Devices Inc.(ADI)预计,该公司的车用芯片业务将保持两位数增长,预估在 2022 年至 2024 年期间 ,该部门营收占整体营收的比重有望达到 20%以上。 《Automotive News Europe》报导,ADI 全球销售和数字...
  今天分享一个比较实用的技能,那就是用万用表去辨别三极管的极性,虽说三极管对应管脚类型可以通过死记硬背的方式来记住,但是这种方法总让人感觉很费脑子,因为当时在记的时候感觉记的很准,但是到用的时候又充满不确定性,记不得哪些是哪些管脚了,是不是大家经常遇见这些问题,没关系,今天分享给大家一种用万用表去区分三极管的极性,我们以NPN型...
Microchip发布2.3版TimeProvider® 4100主时钟授时和同步系统,保护关键基础设施网络Microchip全新主时钟产品功能进一步增强,提高了部署的灵活性、安全性和可扩展性包括5G移动、公用事业、有线电视、交通、国防和数据中心等在内的基础设施通信网络需要从全球定位系统(GPS)或其他全球卫星系统获取并维持精确授时信号。当全球导航卫星系统(GNSS)信号不...

史海拾趣

问答坊 | AI 解惑

如何回答十个最棘手的面试问题(上)

如何回答十个最棘手的面试问题(上)       在面试前先了解、练习对几个很难的问题进行回答会帮助你对其他问题的回答做准备。有的问题问得比较多,有的虽然较少但却是回答其它问题的基础。    &nbs ...…

查看全部问答∨

智能网络监视管理系统

一、系统说明 1、              在中央控制监视中心(Remote storage)进行本地或远程独立的、视频监视或录影;将影像通过网络摄影机上传数据网络,所记录之M-jpeg文件清晰,并可作为辅证,通 ...…

查看全部问答∨

有没有之前参加过嵌入式专题邀请赛的同学啊

本帖最后由 paulhyde 于 2014-9-15 09:01 编辑 说说经验什么的,给后面的弟弟妹妹闷一个指引吧  …

查看全部问答∨

51单片机中断问题

下面是我的源程序,中断程序那里出了错误,我不知道怎么改,还请各位高手帮忙解决哈!另外还有一个疑问,为什么我在中断初始化后定义变量要报错,说是重定义了,把变量放到初始化前面就好了? #include <REGX52.H> void delay(unsigned int m ...…

查看全部问答∨

vmware6.5 安装完成后开始一个虚拟机后 画面黑屏

每次只要启动到开始的黑色的屏幕(就是那个之后会出现白色VMWARE大字前的那个黑色屏幕)的时候就停住了,无论怎么等待都没有反应,一直黑屏,也不能power off或者关闭vmware但是程序并没死掉只是没有反应,而且vmware我也重新安装了很多次但是完全 ...…

查看全部问答∨

用directshow显示jpg的问题

   根据DirectX的例子写了一个用directshow播放视频的例子,下载到WinCE下,发现可以播放avi,mepg等格式, 却不支持jpeg图片格式.这个是什么原因?是不是缺少什么库文件?还是filter没有写好,缺少什么函数调用之类的?    请各位大 ...…

查看全部问答∨

菜鸟求助 :YL2440开发板每次添加新硬件时主机死机,为什么呢?

如题,刚拿到一块YL2440开发板,与主机相连,每次安装新硬件USB驱动,主机都会死机,为什么?网络交叉线链接正确但总是链接不上!高手帮帮我吧!…

查看全部问答∨

(C#版本)wm5.0的GPS问题,如何将GPS例子中添加海拔和方向的参数?

在windowsMobile5.0中的有一个GPS的例子我看过。(它是通过GPSapi.dll这个文件进行抓取GSP数据的) 现在我已经将那个例子拷到我现在的项目中去了,我想是在原有的基础上添加这样几个参数(海拔、方向、GSP的连接状态和定位状态) 不知道可以吗? ...…

查看全部问答∨

自己做个广告:如何通过ST代理渠道申请STMCU样品

在这混的时间也不短了,一直没正儿八经的给公司做过一回广告。看到最近一直出现有人在问哪里可以申请到ST MCU Sample的问题,相信论坛上有很多通过电子邮件找到我的人,知道我是可以提供部分MCU样品的。今天我就王婆卖瓜一回了。俺 ...…

查看全部问答∨

请问我搭的LPC1343最小系统为何下载不进去?

请见截图 按下reset键后是第三张   请高人指导一下,非常感谢!…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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