主题 : 使用Realview MDK uVision4 调试韦东山的SDRAM代码遇到一个问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 86808
精华: 0
发帖: 28
金钱: 140 两
威望: 28 点
综合积分: 56 分
注册时间: 2013-01-24
最后登录: 2013-03-31
楼主  发表于: 2013-03-30 16:04

 使用Realview MDK uVision4 调试韦东山的SDRAM代码遇到一个问题

我使用Realview MDK uVision4 调试韦东山的SDRAM代码遇到一个问题。
就是下面这堆代码:

copy_steppingstone_to_sdram
    ;@ 将Steppingstone的4K数据全部复制到SDRAM中去
    ;@ Steppingstone起始地址为0x00000000,SDRAM中起始地址为0x30000000

    mov r1, #0
    ldr r2, =SDRAM_BASE
    mov r3, #4*1024
one
    ldr r4, [r1],#4     ;@ 从Steppingstone读取4字节的数据,并让源地址加4
    str r4, [r2],#4     ;@ 将此4字节的数据复制到SDRAM中,并让目地地址加4
    cmp r1, r3          ;@ 判断是否完成:源地址等于Steppingstone的未地址
    bne one              ;@ 若没有复制完,继续
    mov pc,     lr      ;@ 返回
    
当代码循环到r1=0x48, r2=0x4C的时候,这两个值就不再改变了。
因此上也无法退出循环。

有做过的人,能否帮忙看看。
级别: 新手上路
UID: 86808
精华: 0
发帖: 28
金钱: 140 两
威望: 28 点
综合积分: 56 分
注册时间: 2013-01-24
最后登录: 2013-03-31
1楼  发表于: 2013-03-31 11:16