打印

求芯唐arm9分散加载文件分析

[复制链接]
1746|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呆瓜一个|  楼主 | 2011-5-5 15:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
arm9, ROM, ni, RS, ST
本帖最后由 呆瓜一个 于 2011-5-5 15:25 编辑

疑问:ROM_LOAD 对应的地址0xA0000000 并不是根地址0x0,上电复位后如何从ROM中运行。

每一段之内的目标文件是不是连接后按顺序放置。比如:这一段里的这几个目标文件链接后是不是按顺序排列在hex文件中。
    ROM +0                       
    {
        init.o (Init, +First)     
        anon$$obj.o
        __main.o(!!!)
        sh.o
        dhcp.o
        inflate.o
        infblock.o
        infcodes.o
        inftrees.o
        uprintf.o
        * (+RO)
        
    }


哪位大侠能不能帮忙分析一下这个文件。


; This scatter loading setting is for NUC900.
ROM_LOAD 0xA0000000               ;加载区域起始地址
{
    ROM +0                        ;该执行区域首地址为加载区域首地址
    {
        init.o (Init, +First)     ;目标文件的Init段放在该执行区域的第一段
        anon$$obj.o
        __main.o(!!!)
        sh.o
        dhcp.o
        inflate.o
        infblock.o
        infcodes.o
        inftrees.o
        uprintf.o
        * (+RO)
        
    }
    RAM 0x0                        ;目标文件最后会在RAM中执行,这里对应的是执行地址
    {
        vectors.o(Vect, +First)
    }
    ; 0x100 might be used to save TAG list for Linux kernel.
    RAM1 0x150
    {
   
        flash.o
        ;bib.o
        image.o
        TftpServer.o
        NetKernel.o
        PacketDriver.o
        xmodem.o
        * (+RW, +ZI)   
    }
   
}

相关帖子

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

本版积分规则

个人签名:穷开心

0

主题

127

帖子

1

粉丝