打印

请教DM6437的bootload

[复制链接]
3038|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happytiger2010|  楼主 | 2010-5-31 19:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的TI的DM6437评估板,板子bootload的例程是这样写的:(.asm).ref    _c_int00
        .ref    FLASH_TEXT_START
        .ref    RAM_TEXT_START
        .ref        TEXT_SIZE
        .ref        FLASH_CINIT_START
        .ref        RAM_CINIT_START        
        .ref        CINIT_SIZE
        .ref        FLASH_SWITCH_START
        .ref        RAM_SWITCH_START        
        .ref        SWITCH_SIZE
        

        .sect "bootload"
        
        ;; Copy the .text section from FLASH_TEXT_START to RAM_TEXT_START
_boot_start:
    mvkl  FLASH_TEXT_START,B4        ; B4 <- FLASH_TEXT_START
    mvkh  FLASH_TEXT_START,B4   
              
        mvkl  RAM_TEXT_START,A4                ; A4 <- RAM_TEXT_START
        mvkh  RAM_TEXT_START,A4
        zero  A1
        
_boot_loop1:
        ldb   *B4++,B5                       ; Read Flash
        mvkl  TEXT_SIZE,B6                          ; B6 <- TEXT_SIZE
        
        add   1,A1,A1         
        ||    mvkh  TEXT_SIZE,B6........
//......................................................................................................................................
cmd文件是MEMORY
{
    L2RAM:      o = 0x10800000  l = 0x00020000
    DDR2:       o = 0x80000000  l = 0x10000000
        boot:       o = 0x42000000  l = 0x00000200
        FLASH:                 o = 0x42000200        l = 0x003FFE00
}

SECTIONS
{
        "bootload": {} > boot
        .text     : {} > FLASH   run = L2RAM, LOAD_START(FLASH_TEXT_START), RUN_START(RAM_TEXT_START), SIZE(TEXT_SIZE)
    .cinit    : {} > FLASH   run = L2RAM, LOAD_START(FLASH_CINIT_START), RUN_START(RAM_CINIT_START), SIZE(CINIT_SIZE)
    .switch   : {} > FLASH   run = L2RAM, LOAD_START(FLASH_SWITCH_START), RUN_START(RAM_SWITCH_START), SIZE(SWITCH_SIZE)
    .bss        >   L2RAM
    .cio        >   L2RAM
    .const      >   L2RAM
    .data       >   L2RAM
    .far        >   L2RAM
    .stack      >   L2RAM
    .sysmem     >   L2RAM
    .ddr2       >   DDR2
}

问题:现在我的项目用到了BIOS操作系统,操作系统自己生CMD文件已将.cinit    .switch    .text  这3个段进行分配,我怎么修改bootload和cmd的程序,谢谢,接触时间不长,希望知道的能解释一下,还有这个过程和以上程序的理解,请指教。

相关帖子

沙发
linhai2009| | 2010-5-31 19:42 | 只看该作者
只能有一个CMD文件,可以将生成的文件从工程中删除,然后在自己的CMD文件前面加上-l XXXCFG.CMD

使用特权

评论回复
板凳
linhai2009| | 2010-5-31 19:42 | 只看该作者
自己在看BIOS哪些地方没有定义到,自己在定义就是了

使用特权

评论回复
地板
littleapple| | 2010-5-31 19:56 | 只看该作者
楼上说的没错~~

使用特权

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

本版积分规则

0

主题

184

帖子

1

粉丝