Çıplak metal çok çekirdekli bir örnek yazdım.
Kod, devre şeması burada - https://github.com/jeffreyantony/multipi/tree/master/Example_01
Örneğimde, ahududu Pi'nin GPIO pinlerine bağlı 3 LED var. Raspberry Pi 2'de toplam 4 çekirdek vardır. Her çekirdek ilgili LED'ini yanıp sönmeye atanmıştır.
Her bir çekirdek tarafından yürütülecek kodun adresini aşağıdaki adreslerde yazdım: çekirdek 1 için 0x4000009C çekirdek 2 için 0x400000AC çekirdek 3 için 0x400000BC
Kodu derledikten sonra, yalnızca çekirdek 1'e atanan LED yanıp söner (bu örneğe göre sarı LED). Diğerleri değildir.
Bu, Core 2 ve 3 kodunun çalışmadığı anlamına gelir (diğer LED'ler yanıp sönmediğinden). Ayrıca tüm çekirdekleri başlattıktan sonra kodun da core0_submain () yani çalışmıyor olduğunu buldum - bu fonksiyon Raspberry Pi üzerindeki ACT LED'i yanıp sönmelidir
Sorunun ne olduğunu bilen var mı? Çünkü 4 çekirdeğin tümü aynı GPIO kaydına yazmaya çalışıyor ve yazmada sadece Core 1 kazanıyor mu?
" Özellik ((çıplak));" core0_submain () için kullanmanın bir faydası yoktu.
Https://launchpad.net/gcc-arm-embedded adresinden toolchain kullanıyorum
bir kez daha kod - https://github.com/jeffreyantony/multipi/blob/master/Example_01/main.c
makefile - https://github.com/jeffreyantony/multipi/blob/master/Example_01/Makefile
Güncelleme 20 Ekim 2015 : JTAG için destek ekledim. Ancak hata ayıklama arabirimini almak başarılı değil
Güncelleme 25 Ekim 2015 : Sorun düzeltildi. Cevaba bakınız.