Saya telah menulis contoh multi core bare metal.
Kode, diagram sirkuit ada di sini - https://github.com/jeffreyantony/multipi/tree/master/Example_01
Dalam contoh saya, ada 3 LED yang terhubung ke pin GPIO dari raspberry Pi. Ada benar-benar 4 inti dalam Raspberry Pi 2. Setiap inti ditugaskan untuk berkedip LED yang sesuai.
Saya menulis alamat kode yang akan dieksekusi oleh setiap inti di alamat di bawah ini 0x4000009C untuk inti 1 0x400000AC untuk inti 2 0x400000BC untuk inti 3
Setelah mengkompilasi kode, hanya LED yang ditugaskan ke inti 1 yang berkedip (seperti contoh ini, LED kuning). Yang lainnya tidak.
Ini berarti kode untuk Core 2 dan 3 tidak berjalan (karena LED lain tidak berkedip). Saya juga menemukan bahwa kode setelah memulai semua core juga tidak berjalan yaitu core0_submain () - fungsi ini harus berkedip LED ACT pada Raspberry Pi
Adakah yang bisa memberi tahu saya apa masalahnya? Apakah karena semua 4 core mencoba menulis ke register GPIO yang sama dan hanya Core 1 yang menang dalam penulisan?
Saya mencoba menambahkan " atribut ((telanjang));" untuk core0_submain () tetapi tidak ada gunanya.
Saya menggunakan toolchain dari https://launchpad.net/gcc-arm-embedded
sekali lagi kode - https://github.com/jeffreyantony/multipi/blob/master/Example_01/main.c
makefile - https://github.com/jeffreyantony/multipi/blob/master/Example_01/Makefile
Pembaruan 20 Okt 2015 : Saya telah menambahkan dukungan untuk JTAG. Tetapi tidak berhasil untuk mendapatkan antarmuka debug
Pembaruan 25 Okt 2015 : Masalah diperbaiki. Lihat jawaban.