嵌入式技术论坛
直播中

哔哔哔-

8年用户 1268经验值
擅长:电源/新能源
私信 关注
[问答]

请教大神rt_hw_cpu_id()是获取逻辑核还是物理核呢

tpidr_el1是启动时每个核写入的值么?

#ifdef RT_USING_SMP
/* The more common mpidr_el1 table, redefine it in BSP if it is in other cases */
RT_WEAK rt_uint64_t rt_cpu_mpidr_early[] =
{
[0] = 0x80000000,
[1] = 0x80000001,
[2] = 0x80000002,
[3] = 0x80000003,
[4] = 0x80000004,
[5] = 0x80000005,
[6] = 0x80000006,
[7] = 0x80000007,
[RT_CPUS_NR] = 0
};
#endif
int rt_hw_cpu_id(void)
{
rt_base_t value;
asm volatile ("mrs %0, tpidr_el1":"=r"(value));
return value;
}

回帖(1)

罗星

2022-7-26 10:58:54
总的来说,RTT不管。但这个时候这个cpuid需要和其他对得上,例如按照这样的方式secondary是否没问题,中断是否没问题,还是需要从总体进行梳理的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分