Texas AM67 Cortex-R5, C7x (DSP)
mcu
projesinde iki R5F gerçek zamanlı
çekirdek ve iki C7x DSP çekirdeğinde çalışan örnek projeler bulunmaktadır. Bunlara benzer örnekler
build/ti/ti-processor-sdk-rtos-j722s-evm-10_01_00_04/mcu_plus_sdk_j722s_10_01_00_22/examples
dizininde yer
almaktadır. Amacınıza uygun bir örnek proje bulup mcu
proje dizinine kopyalamanız ve onun üzerinde geliştirme yapmanız
tavsiye edilir.
Her bir örnek projenin altında farklı çekirdekler için alt dizinler bulunmaktadır.
Örneğin hello_world
projesinde aşağıdaki dizinler mevcuttur.
c75ss0-0_freertos
c75ss1-0_freertos
main-r5fss0-0_freertos
mcu-r5fss0-0_freertos
.env
dosyasında MCU_TARGETS
değişkeni olarak tanımlanmıştır. Derlemek istediğiniz
projenin makefile
dizininin mutlak veya göreli yolunu MCU_TARGETS
değişkenine ekleyin. Aşağıda hello_world
projesinin mcu-r5fss0-0_freertos
çekirdeği için örnek gösterilmiştir.
.syscfg
dosyasında
tanımlanmıştır.
Yeni çevre birimler eklemek veya mevcut olanların Pin Mux ayarlarını değiştirmek için SysConfig GUI aracı kullanılır.
Bir MCU projesinde SysConfig’i başlatmak için:
SYSCONFIG_TARGET
değişkenini istenen proje olarak değiştirin.
.env
dosyası içinde düzenleyebilir veyatask
programına ortam değişkeni olarak iletebilirsiniz.Ctrl + S
kısayol tuşuyla kaydettikten sonra SysConfig arayüzünü kapatabilirsiniz.
.out
dosyasının remoteproc ile yüklenebilmesi için SysConfig arayüzünden bazı ayarların
yapılmış olması gerekmektedir. Yeni bir proje kopyalandıktan sonra aşağıdaki adımlar izlenmelidir.TI DRIVERS
altında yer alan IPC
sekmesi açılır.ADD
butonuna tıklanır.Linux A53 IPC RP Message
ayarının aktif olduğuna emin olunur.Ctrl + S
kısayol tuşuyla .syscfg
dosyası kaydedilip çıkılır..out
dosyaları /lib/firmware
dizini altına önceden tanımlı isimlerde
kopyalanmalıdır. Her bir çekirdek için firmware ismi aşağıdaki tabloda verilmiştir.
Core | Firmware |
---|---|
mcu-r5fss0-0 | j722s-mcu-r5f0_0-fw |
main-r5fss0-0 | j722s-main-r5f0_0-fw |
c7xss0-0 | j722s-c71_0-fw |
c7xss1-0 | j722s-c71_1-fw |
head /sys/class/remoteproc/remoteproc*/firmware
komutu ile erişilebilir. Her boot sonrasında çekirdekler
farklı remoteproc cihazlarına karşılık gelebildiği için kontrol edilmesi gerekmektedir.
/lib/firmware
dizinine yerleştirin.Todo: U-Boot TTL
init
programını çalıştırır.
init
programını başlatamaz.
Öncelikle disk şifresinin initramfs tarafından çözülmesi gerekir./
dizinine bağlar.
Ardından kernel, rootfs’te /init
, /sbin/init
ya da benzeri bir dizinde bulunan init
programını çalıştırır.
Bu program, bazı donanımların sürücülerini yükler (kernel modüllerini), sistem servislerini
(ağ bağlantısı, saat senkronizasyonu, paket güncelleme ve bluetooth gibi servisleri) ve masaüstü ortamını
başlatır (gnome, kde, xfce, …).