您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF53x技术支持专区 -> 关于BF537二级加载
本帖共有343个阅读者
发表帖子 发表投票 回复主题
关于BF537二级加载
superzmytech(论坛新手)
superzmytech
头衔:社区公民
帮派:无帮无派
帖数:5
金钱:146
积分:8
注册时间:2016/6/23
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
关于BF537二级加载
*** 问题描述:
我的BF537 BootLoader使用 BootROM进行二级加载,将位于0x20030000的已测试正常的应用代码加载运行。
目前判断加载正常,但是应用程序在CAN口初始化时无法进入配置模式,代码如下:
    if (0 == (*pCAN_STATUS & CCA))
    {
        *pCAN_CONTROL = CCR;
        while (0 == (*pCAN_STATUS & CCA))
        {
            asm("nop;");
        }
    }
路过的高手,恳请给点建议。非常感谢!

*** 附上BootLoader中的跳转代码[从网上找的]
        if ((*(char*)(0x20030000) & 0xFF) == 0x60)
            {
                *pSIC_IMASK = 0x00000000;
                *pSIC_ISR   = 0x00000000;
                *pIMASK     = 0x0000001F;

                csync();
                *pIMEM_CONTROL = 0x00000001;
                ssync();
                
                csync();
                *pDMEM_CONTROL = 0x00001001;
                ssync();

                *pEBIU_AMGCTL  = 0x00FF;
                *pEBIU_AMBCTL0 = 0xFFC2FFC2;
                *pEBIU_AMBCTL1 = 0xFFC2FFC2;

                asm("R1.H = HI(0xFFA00000);");  // L1_Code address
                asm("R1.L = LO(0xFFA00000);");
                asm("P0.H = HI(0xFFE02004);");  // EVI1(RST)
                asm("P0.L = LO(0xFFE02004);");
                asm("[P0] = R1;");

                asm("P0.H = HI(0xEF000008);");  // bootrom
                asm("P0.L = LO(0xEF000008);");
                asm("R7.H = HI(0x20030000);");  // start address
                asm("R7.L = LO(0x20030000);");
                asm("JUMP (P0);");              // jump to Boot ROM
            }

如果你一切都是对的,那还需要我多说什么……
等级:论坛新手 参考IP地址:*.*.*.*
2018/11/9 16:48:48
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
没有实际做过BF537的,不过你可以参考一下ADI写的文档,这个帖子里有。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2018/11/12 16:25:48
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159257 Call, 1 Queries, Processed in 0.031250 second(s),