SolarExplorer_v1.0 中GUI的代码后缀是.idproj,这个后缀是什么类型的文件,在哪个软件下能打开使用?
另外想请问一下,F28M35中在M3的初始化部分中,有这样两个函数调用:
master_ram_init_control_m0m1_msgram_memories();
master_ram_init_control_L0_L4_memories();
这两个函数调用在M3中有对应的子程序,在C28中没有任何语句和初始化M0,M1,以及L0,L1,L2,L3,L4相关,是不是可以这么理解,只要在M3中配置就可以了,但问题是,我在运行这个程序的时候(M3中),总是停在等待反馈的位置上?
void master_ram_init_control_m0m1_msgram_memories()
{
unsigned int ii = 0;
//RAM INIT for M1, and CTOM MsgRAM – M0 RAM INIT is done by C-BootROM
//#define CCORE_M0M1_CTOM_MSG_RAM_INIT_REG_ADDR 0x4920
//#define CCORE_M0_RAM_INIT_BIT 0x01
//#define CCORE_M1_RAM_INIT_BIT 0x04
//#define CCORE_CTOM_MSG_RAM_INIT_BIT 0x10
IPCLiteMtoCSetBits_Protected(IPC_FLAG1, 0x4920, 0x14, IPC_LENGTH_32_BITS, IPC_FLAG32);
//wait until C-BootROM acks
while(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG1); //总是停在这个位置,就是得不到ACK信号
//CHECK IF pass or fail
if(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG32)
{//still set – so command failed.
//error – blink SLOOOOOOOOWWW
while(1)
{
//if you are here, this is bad
}
}
//WAIT for RAM_INIT done of above.
//GIVE some cycles delay until CCORE performs RAM INIT
for(ii =0 ; ii < 2048; ii++);
//READ RAM_INIT_DONE register
//#define CCORE_M0M1_CTOM_MSG_RAM_INIT_DONE_REG_ADDR 0x4930
//#define CCORE_M0_RAM_INIT_DONE_BIT 0x01
//#define CCORE_M1_RAM_INIT_DONE_BIT 0x04
//#define CCORE_CTOM_MSG_RAM_INIT_DONE_BIT 0x10
do
{
IPCLiteMtoCDataRead(IPC_FLAG1, 0x4930, IPC_LENGTH_32_BITS, IPC_FLAG32);
//wait until C-BootROM acks
while(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG1);
//CHECK IF pass or fail
if(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCFLG) & IPC_FLAG32)
{//still set – so command failed.
while(1)
{
//if you are here, this is bad
}
}
else
{
if(HWREG(MTOCIPC_BASE + IPC_O_MTOCIPCDATAR) & 0x14)
{
//RAM_INIT completed – do nothing 🙂
break;
}
else
{
//RAM_INIT not done yet, so wait for more time and read ram init done register.
//GIVE some cycles delay until CCORE performs RAM INIT
for(ii =0 ; ii < 2048; ii++);
continue;
}
}
}while(1);
}
请高手给予指点,谢谢!
Xin Jin10:
您好,请问你打开.idpoj格式的文件了嘛?如何打开的呢?