打印
[ZLG-ARM]

关于分散加载文件的及bootloader疑问

[复制链接]
1850|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
beijilang|  楼主 | 2009-1-7 12:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在使用easyarm2200的片外flash运行时,看到分散加载文件是这样的:
ROM_LOAD 0x80000000
{
    ROM_EXEC 0x80000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

    IRAM 0x40000000
    {
        Startup.o (+RW,+ZI)
    }

    STACKS 0x40004000 UNINIT
    {
        stack.o (+ZI)
    }

    ERAM 0x80040000
    {
        * (+RW,+ZI)
    }

    HEAP +0 UNINIT
    {
        heap.o (+ZI)
    }
}

 ROM_EXEC 0x80000000
    {
        Startup.o (vectors, +First)
        * (+RO)
    }

程序是直接在flash里面运行的吗?没有把RO段复制到ram里面?


在b _main的时候,_main函数应该会把加载地址的代码和
数据复制到执行地址中,并且对被链接器指定为需要初始化为0的段,进行清零操作。(2)   调用__rt_entry函数,进入用户程序。所以b _main应该不是直接跳到进入用户程序的main()的吧,还要把RW搬到ram里面??

是这样的吗?谢谢!

相关帖子

沙发
beijilang|  楼主 | 2009-1-7 16:55 | 只看该作者

怎么没人?

今天zlg放假了吗?

使用特权

评论回复
板凳
reeper| | 2009-4-3 10:35 | 只看该作者

比较难弄

使用特权

评论回复
地板
ddpxy| | 2009-4-6 17:05 | 只看该作者

给你网址

www.realview.com.cn

使用特权

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

本版积分规则

6

主题

9

帖子

0

粉丝