1.现在将UC/OS-II操作系统向多核扩展,但是,运行多任务的内核的许多操作需要获取当前运行core的ID,
请问6678有没有物理机制上的coreID,然后有没有提供一种方式去获取这个ID呢?
2.semaphore2的核间互斥机制,采用direct request方式请求信号量,read之后获取信号量,
然后SEM_DIRECTx寄存器的相应位(标示拥有信号量的CoreID和信号量是否FREE)是由硬件直接改写的吗?
如果是,这个CoreID又是怎样获取到的呢?
还有就是read操作可以这样写吗
#define SEM_DIRECT0 *(INT32U*)0x......... //配置寄存器地址
void get_sem() //DIRECT方式请求信号量
{
while(SEM_DIRECT0 != 0x1){} //如果读取的值为COREID(不是0x1)则一直循环读取,直到读取值为0x0
}
void post_sem() //释放信号量
{
SEM_DIRECT0 = 0x1 //设置
}
3.有没有相关的PLL、EMIF、TIMER、MMU相关的初始化例程?
新手上路,请多多指教!!谢谢