3045|4

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ROMHDR_dllfirst和ROMHDR_dlllast问题请教 [复制链接]

请教各位大侠ROMHDR_dllfirst和ROMHDR_dlllast问题~
看资料得知,ROMHDR_dllfirst和ROMHDR_dlllast是ROMHDR结构体成员。ROMHDR_dllfirst是表示的是slot1中的虚拟内存的最低点,ROMHDR_dlllast是slot1的头顶。

在9315的startup.s中,有这样一段:

/////////////////////////////////////////////////////////////////////////////////////////
                IF              COPY_FLASH_TO_RAM
;
; Get the address of the table of contents and adjust for the flash address.
;
                ldr             r0, =pTOC
                ldr             r3, =0xDFD40000               
                add             r0, r0, r3
                ldr             r4, [r0]
                add             r4, r4, r3

;
; Get the dll first and dll last address.  
; r1  = Destiniation = dllfirst
; r11 = length       = dlllast - dllfirst
;
                ldr             r1, [r4, #ROMHDR_dllfirst]
                ldr             r11, [r4, #ROMHDR_dlllast]

;
; Make sure that r1 and r11 are on a 0x20 boundary.
;
                ldr             r2, =0x07FFFFE0
                and             r1, r1, r2

                and             r11, r11, r2  
                add             r11, r11, #0x20

;*************************************************************************
; Copy routine.
;
; r0  = Source
; r1  = Destination
; r11 = End Address Address of Destination
; r12 = LED counter
; r13 = LED address.
;
;*************************************************************************

                ldr             r13, =0x80840020
                ldr             r2,  [r13]
                and             r2, r2, #0xFFFFFFFC
                orr             r2, r2, #1
                str             r2,  [r13]

                ldr             r0,  =0x60000000               
                ldr             r12, =0x3FFFF

NKCopyLoop      ldmia           r0!, {r2-r9}
                stmia           r1!, {r2-r9}
                ands            r2, r0, r12
                beq             ToggleLED

NKCopyTest      cmp             r1, r11
                bne             NKCopyLoop
               
                ldr             r2, =ExecuteFromRam
                and             r2, r2, #0x00FFFFFF
                mov             pc, r2
               

ToggleLED       ldr             r2, [r13]
                eor             r2, r2, #3
                str             r2, [r13]
                b               NKCopyTest                    
                ENDIF
///////////////////////////////////////////////////////////////////////////////////////

我想知道的是,为什么只是拷dll rom到内存里,而不是把整个image都拷到内存里呢?谢谢

最新回复

谢谢,我在看看  详情 回复 发表于 2009-12-14 14:27
点赞 关注

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
结合ROMHDR的信息可知:
ViewBin... nk.bin
Image Start = 0x60000000, length = 0x0103289C
                Start address = 0x60001006
Checking record #49 for potential TOC (ROMOFFSET = 0xDF16FC44)
Checking record #133 for potential TOC (ROMOFFSET = 0xDFD40000)
Found pTOC  = 0x812f1368
ROMOFFSET = 0xDFD40000

ROMHDR ----------------------------------------
    DLL First           : 0x01CF01F2  
    DLL Last            : 0x02000000  
    Physical First      : 0x802C0000  
    Physical Last       : 0x812F289C  
    RAM Start           : 0x81300000  
    RAM Free            : 0x81331000  
    RAM End             : 0x82000000  
    Kernel flags        : 0x00000000  
    Prof Symbol Offset  : 0x00000000  
    Num Copy Entries    :          1   
    Copy Entries Offset : 0x80497E74  
    Num Modules         :        111   
    Num Files           :         64   
    MiscFlags           : 0x00000002  
    CPU                 :     0x01c2 (Thumb)
    Extensions          : 0x802C125C

以上可知0x02000000-0x01CF01F2=0x30fe0e,只拷这大小为0x30fe0e的dll有什么用,不明白啊~  
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
求大侠赐教
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

4
 
我不太确定
1. 0x02000000-0x01CF01F2=0x30fe0e,只拷这大小为0x30fe0e的dll有什么用
这部分是xip的dll,按照ce内存管理的layout,xip应该在这个位置,所以执行这一次拷贝
2. 么只是拷dll rom到内存里,而不是把整个image都拷到内存里呢
其它的驱动或者dll应该是后续使用的时候才会load到内存才对
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
谢谢,我在看看
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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