ARM Cortex M3 islemcilerde DWT donanimini kullanmak

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
6,137
Esasen basliktaki gibi M3 diye belirtmeye gerek yok. Fakat ben CM3 daha dogrusu STM32F103C8 fanatigi oldugum icin aciklamalarimi bu islemcinin registerlerine gore yapacagim. Muhtemelen CM4 de de aynidir. Hatta ve hatta bu modul tum firmalarin islemcilerinde de ayni registerlerde ve ayni adrestelerdir. Neyse dedigim gibi ben STM32F103C8 ciyim.

Gecmiste bu donanimi sadece bir rutinin ne kadar cycle da tamamlandigini ogrenmek icin kullanmistim. Bu amacla counter vs kurmaya gerek yoktu cunku DWT donaniminin kendi sayaci var.

Bir ara memorynin bir bolgesi okundugunda interrupt uretilsin gibi bir tuzak rutine ihtiyac duymustum. DWT bu istegimi gerceklestirebilir diye kafamda bir seyler olusmustu. Fakat uzerinde durmamistim.

Neyse su an itibariyle benim de DWT konusunda derinlemesine bir billgim yok.

Akilli bidikla sohbet ederek bu modulun incigini cincigini ogrenmek istiyorum. Bu amacla bir takim notlar tutmam gerekecek. Aklima notlari forumda tutmak fikri geldi. Hem de foruma katkisi olsun.

Sizler de mesajlara katkida bulunabilir soru sorabilirsiniz. Sadece notlarin siralamasinda karmasaya mahal vermemek ve kolayca secebilmek adina mavi text rengini bana birakmanizi istiyorum.
 
Burada araya girerek şunu söylemek istiyorum akıllı bıdıka projelendirme geldi. Yani belirli konu üzerinde yaptığınız sohbetleri, o proje içerisinde yeni bir sohbet dahi açsanız hafızasında tutuyor.
 

1. DWT Nedir ve Sistem İçindeki Yeri Nasıldır?


DWT, ARM Cortex-M serisi işlemcilerde bir hata ayıklama ve izleme modülüdür. İşlemcinin
CoreSight mimarisinin bir parçasıdır ve aşağıdaki alt bileşenlerle etkileşimli çalışır:

  • ITM (Instrumentation Trace Macrocell): Debug veya profil bilgilerini host bilgisayara göndermek için.
  • ETM (Embedded Trace Macrocell): Daha detaylı izleme için.
  • TPIU (Trace Port Interface Unit): İzleme verilerinin dışarı aktarılmasını sağlar.
DWT doğrudan APB Debug Port üzerinden erişilebilir, ancak çoğu uygulamada debugger veya kendi kodunla doğrudan yapılandırılır.

CoreSight, ARM tarafından tasarlanmış bir debug ve trace mimarisidir.

ITM aynen printf fonksiyonu gibi davranir. Kodlarin arasinda kullanildiginda PC tarafindaki debuggera iletilmek istenen mesaj SWD pini uzerinden iletilir.


ETM ve TPIU simdilik konumuzin disinda kalacagini dusunuyorum. (?)
 

Forum istatistikleri

Konular
7,110
Mesajlar
121,084
Üyeler
2,881
Son üye
adanali0001

Son kaynaklar

Son profil mesajları

az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Back
Top