打印

2410程序运行区域的一个问题,请赐教...

[复制链接]
1225|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
playlinus|  楼主 | 2008-11-6 10:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ni, ge, rc, se, RAM
    ;Copy and paste RW data/zero initialized data
    ldr    r0, =|Image$$RO$$Limit| ; Get pointer to ROM data
    ldr    r1, =|Image$$RW$$Base|  ; and RAM copy
    ldr    r3, =|Image$$ZI$$Base|  
    
    ;Zero init base => top of initialised data
    cmp    r0, r1      ; Check that they are different
    beq    %F2
1       
    cmp    r1, r3      ; Copy init data
    ldrcc    r2, [r0], #4    ;--> LDRCC r2, [r0] + ADD r0, r0, #4         
    strcc    r2, [r1], #4    ;--> STRCC r2, [r1] + ADD r1, r1, #4
    bcc    %B1
2       
    ldr    r1, =|Image$$ZI$$Limit| ; Top of zero init segment
    mov    r2, #0
3       
    cmp    r3, r1      ; Zero init
    strcc    r2, [r3], #4
    bcc    %B3

我的bootloader中只有这段copy RW/ZI段到SDRAM的程序,现在我把程序下载到NOR上运行,速度比较慢,怎样才能把RO RW ZI
全部COPY到SDRAM并跳转到SDRAM去运行呢 ?

相关帖子

沙发
luhuaren| | 2008-11-6 13:19 | 只看该作者

re

你要在ADS下把RO设置到RAM中,
在启动代码里判断  加载域的起始地址同RO是否相等,如果不等,那么把加载域的代码拷贝到RO为起始地址的运行域中去

注意 要先初始化SDRAM,然后将拷贝模板先拷贝到SDRAM中去,然后调到SDRAM中去,运行拷贝模板,把剩下的代码拷贝到SDRAM中去。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

102

主题

518

帖子

2

粉丝