Tôi đã viết một ví dụ đa lõi kim loại trần.
Mã, sơ đồ mạch ở đây - https://github.com/jeffreyantony/multipi/tree/master/Example_01
Trong ví dụ của tôi, có 3 đèn LED được kết nối với các chân GPIO của mâm xôi Pi. Có tất cả 4 lõi trong Raspberry Pi 2. Mỗi lõi được chỉ định để nhấp nháy đèn LED tương ứng.
Tôi đã viết địa chỉ của mã được thực thi bởi mỗi lõi trong các địa chỉ dưới đây 0x4000009C cho lõi 1 0x400000AC cho lõi 2 0x400000BC cho lõi 3
Sau khi biên dịch mã, chỉ đèn LED được gán cho lõi 1 đang nhấp nháy (theo ví dụ này là đèn LED màu vàng). Những người khác thì không.
Điều này có nghĩa là mã cho Core 2 và 3 không chạy (vì các đèn LED khác không nhấp nháy). Ngoài ra, tôi thấy rằng mã sau khi bắt đầu tất cả các lõi cũng không chạy, ví dụ core0_submain () - chức năng này sẽ nhấp nháy đèn LED ACT trên Raspberry Pi
Bất cứ ai có thể cho tôi biết vấn đề là gì? Có phải vì tất cả 4 lõi đều cố gắng ghi vào cùng một thanh ghi GPIO và chỉ Core 1 là chiến thắng trong phần ghi?
Tôi đã thử thêm " thuộc tính ((trần trụi));" cho core0_submain () nhưng không sử dụng.
Tôi đang sử dụng toolchain từ https://launchpad.net/gcc-arm-embedded
mã một lần nữa - https://github.com/jeffreyantony/multipi/blob/master/Example_01/main.c
makefile - https://github.com/jeffreyantony/multipi/blob/master/Example_01/Makefile
Cập nhật ngày 20 tháng 10 năm 2015 : Tôi đã thêm hỗ trợ cho JTAG. Nhưng không thành công để có được giao diện gỡ lỗi
Cập nhật ngày 25 tháng 10 năm 2015 : Sự cố đã được khắc phục. Xem câu trả lời.