请问 chunlei gan ,你在SYS/BIOS系统下使用IPC多核触发的过程是怎么样的,就是加载一个.out文件到内存还是哪里,能说说你具体的步骤吗?
我调试这个功能很久没能成功,做法是:
1,先生成一个helloworld的out文件,并在开发板上仿真通过,就是打印一个hello world;
2,新建一个工程,启动SYS/BIOS,新建一个task,在核0上调试这个工程;
3,在task中将之前生成的helloworld.out(COFF格式)通过解析,得到段头SectonHead,从中得到加载的目的地址SectonHead.PhysicalAddr,将SectonHead.PhysicalAddr加上每个核的L2基地址即0x1n000000(n为核序号)作为最终的目的地址,将RawDataPointer指示的原始数据复制到目的地址,每个核的L2内存都复制一份;
4,向每个核的MAGIC_ADDR写入helloworld程序的入口点,比如从helloworld工程的map文件读出来的入口点是0x80000,我就把0x80000写到0x1n87fffc(n为核序号);
5,向每个核的IPCCFG寄存器最低位写1,即发送一个IPC中断。
我认为如果成功启动其他核,应该在console窗口打印一行hello world,但始终不成功,不知有什么问题,不知道您是怎么做的,请多指教!我的邮箱是water_sea@yahoo.cn,谢谢!