首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请问谁研究过2410的vivi,请教一些问题谢谢

请问谁研究过2410的vivi,请教一些问题谢谢

下面是HEAD.S里面的一段代码
@ copy vivi to RAM
        ldr        r0, =VIVI_RAM_BASE  //(DRAM_BASE + DRAM_SIZE - VIVI_RAM_SIZE)
                       
        mov     r1, #0x0                       
        mov        r2, #0x20000                               
        bl        nand_read_ll       
        tst        r0, #0x0                       
        beq        ok_nand_read       

当steppingstone把head.s文件的代码拷贝后就在steppingstone里面运行,运行到
上面的代码时就是调用stage2的c文件的一个函数来拷贝整个vivi到ram,
// nand_read_ll(unsigned char *buf, unsigned long start_addr, int size)
// ro = buf , r1 =start , size = r2=128k
这里就有个矛盾了,因为以main函数为入口点的stage2 的c文件是以0x33f00000基址编译的,因此无论 nand_read_ll(unsigned char *buf, unsigned long start_addr, int size)是否已经在steepingstone里面都是无法正确运行的,那么怎么能调用 nand_read_ll(unsigned char *buf, unsigned long start_addr, int size)这个函数来拷贝vivi到ram呢???

还有以下问题:
@ Start of executable code

ENTRY(_start)                        //入口点
ENTRY(ResetEntryPoint)

arm的文件不是一个文件只能最多有一个入口点?????

请高手指教。
返回列表