Câu hỏi này đã được trả lời cho x86 tuy nhiên, tôi không thể tìm thấy nhiều về cpu ARM MP như Cortex-A9, Cortex-A15 vv ...Làm thế nào để ngắt làm việc trên CPU ARM đa lõi
Quan trọng hơn i muốn biết nếu ngắt có thể được nâng lên trên cpu không chính mà không có bất kỳ cấu hình, vv
Tôi đang làm việc trên một phần mềm chỉ giao dịch với cpu chính do đó tôi đặt phần còn lại trong trạng thái WFI. làm việc trên cpus MP cánh tay, Có thể là cpu chính tiếp tục thực hiện mã và một trong những cpu thứ nhặt nó lên và nhảy vào hướng dẫn trong bảng vectơ và thực thi mã đó?
btw đây là mã tôi đang sử dụng để đặt chúng sang chế độ điện năng thấp
uint32_t reg;
__asm__ volatile("mrc p15, 0, %0, c0, c0, 5" : "=r" (reg));
reg &= 0xF;
if(reg > 0)
goto spin;
<code snipped>
spin:
for(;;)
cpu_idle(); // cpu_idle -> wfi
bạn đã xem ARM ARM và TRM cho mpcore chưa? –
Có, nó đề cập đến vài điều về GIC và cách thức hoạt động của IPI nhưng không có gì về cách các ngắt chung được lên lịch. – sgupta