打印

C6678局部复位,对指定核替换bin并执行的问题

[复制链接]
887|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanyidadada|  楼主 | 2022-3-18 13:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前希望完成功能如下,C6678有8个核,希望能够通过核0来控制其他核加载指定的程序执行。核0通过网络接收上位机发送的参数数据以及程序镜像,然后对核1或者其他核设置局部复位,根据参数(即c_int00地址)写BOOT_MAGIC,发送ipc中断。问题如下:
当将程序bin放在LS2RAM时,可以正常启动,多次控制同一个核以及不同的核都可以成功。但是当将bin放在DDR3时,第一次发送了参数以及镜像bin后,无法启动,第二次发送相同的bin和参数又可以启动。每次新的镜像都会出现这个问题。
部分代码如下
memset(pBuf, 0, 13);
bytes = (int)recv(connfd, (void *)pBuf, 9, 0);  //接收bin程序入口_c_int00地址
if(bytes != 8) {
        uart_printf("File Head Error 1!bytes: %d!\n", bytes);
        goto leave;
}
Entry_Address = strtohex(pBuf, 8);
memset(pBuf, 0, 13);
bytes = (int)recv(connfd, (void *)pBuf, 9, 0); //接收存放bin文件起始地址
if(bytes != 8) {
    uart_printf("File Head Error 2!bytes: %d!\n", bytes);
    goto leave;
}
WriteAddr = (unsigned int*)strtohex(pBuf, 8);
memset(pBuf, 0, 13);
bytes = (int)recv(connfd, (void *)pBuf, 2, 0); //ignore standard header
if(bytes != 1) {
        uart_printf("File Head Error 3!bytes: %d!  %s\n", bytes, pBuf);
        goto leave;
}
corenum = pBuf[0] - 0x30;  //接收需要替换代码的核号
uart_printf("%x %x %d\n", Entry_Address, (unsigned int)WriteAddr, corenum);

while (1) {//循环接收bin文件
        memset(pBuf, 0, 13);
        bytes = recv(connfd, pBuf, 4, 0);
        if (bytes <= 0) {
            break;
        }

        *WriteAddr = littleToBig(pBuf);
        WriteAddr++;
}

Load_Core_app_Start(Entry_Address, corenum);

....
....
....
void Load_Core_app_Start(unsigned int EntryAddr, int corenum)
{
        unsigned int MAGIC_ADDR = 0X1087FFFC + corenum * 0x1000000;

        CSL_BootCfgUnlockKicker();
        CSL_PSC_setModuleLocalReset(corenum + 15, PSC_MDLRST_ASSERTED);
        CSL_PSC_setModuleLocalReset(corenum + 15, PSC_MDLRST_DEASSERTED);
        cpu_delaycycles(100000);
        *((volatile unsigned int *)MAGIC_ADDR) = EntryAddr;
        cpu_delaycycles(100000);
        CSL_IPC_genGEMInterrupt (corenum, 0);
        CSL_BootCfgLockKicker();
}

使用特权

评论回复
评论
hanyidadada 2022-3-18 14:22 回复TA
@tyw :感谢您的回复,但是其中内容坑你不是我想要的,谢谢! 
tyw 2022-3-18 13:54 回复TA
去油香收 

相关帖子

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

本版积分规则

1

主题

3

帖子

0

粉丝