Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: ayhan_eee - 04 Şubat 2013, 22:35:38

Başlık: ARM Cortex-M3
Gönderen: ayhan_eee - 04 Şubat 2013, 22:35:38
Öncelikle Merhaba,
Buralardan çok yararlandık zamanında.Belki işine yarar diye kendimce yaptığım çalışmaları eklemek istedim.Daha sonra da devamlarını ekleyeceğim.Umarım işine yarayan olur :)


1-ARM MİMARİSİ VE CORTEX-M SERİSİ (http://ayhankorkmaz.wordpress.com/2013/02/02/arm-mimarisi-ve-cortex-m-serisi/)

2-STM32F107 VC Genel Özellikleri ve GPIO Kaydedicileri (http://ayhankorkmaz.wordpress.com/2013/02/02/stm32f107-vc-genel-ozellikleri-ve-gpio-kaydedicileri/)
Başlık: Ynt: ARM Cortex-M3
Gönderen: muhittin_kaplan - 04 Şubat 2013, 22:36:51
page not founda diyor.
teşekkür ederim.
Başlık: Ynt: ARM Cortex-M3
Gönderen: ayhan_eee - 04 Şubat 2013, 22:37:44
Alıntı yapılan: muhittin_kaplan - 04 Şubat 2013, 22:36:51
page not founda diyor.
Bende giriyor düzelttim ama sorunlu mu hala?
Başlık: Ynt: ARM Cortex-M3
Gönderen: ayhan_eee - 05 Şubat 2013, 21:48:29
Bu arada BSRR içinde Reset biti olduğu halde neden ayrıca 16 bitlik br BRR ihtiyaç duyulmuş bilgisi olan varmı?
Başlık: Ynt: ARM Cortex-M3
Gönderen: Erhan YILMAZ - 05 Şubat 2013, 23:57:50
Alıntı yapılan: ayhan_eee - 05 Şubat 2013, 21:48:29
Bu arada BSRR içinde Reset biti olduğu halde neden ayrıca 16 bitlik br BRR ihtiyaç duyulmuş bilgisi olan varmı?
Yazılım tarafında kütüphane yazmayı kolaylaştırır. Örneğin Bit_Set(char Bit_num, port_num) ve Bit_Reset(char Bit_num, port_num) diye iki fonksiyon yazarsanız birinde BRR birinde BSRR'yi kullanırsanız kodunuz daha hızlı çalışır. İlk aklıma gelen bu oldu.
Başlık: Ynt: ARM Cortex-M3
Gönderen: ayhan_eee - 06 Şubat 2013, 00:42:28
Ama Aynı işlemi BSRR ile de yapabiliriz.Değişen ne olur ki.Ayrıca öte yandan BRR varsa BSRR deki reset ne işe yarar.Daha kesin bir işlevi olmalı bence
Başlık: Ynt: ARM Cortex-M3
Gönderen: Erhan YILMAZ - 06 Şubat 2013, 00:56:45
Alıntı yapılan: ayhan_eee - 06 Şubat 2013, 00:42:28
Ama Aynı işlemi BSRR ile de yapabiliriz.Değişen ne olur ki.Ayrıca öte yandan BRR varsa BSRR deki reset ne işe yarar.Daha kesin bir işlevi olmalı bence

BSRR kullanarak örneğin Bit_Reset(char bit_num) fonksiyonunu gerçeklemek için en basitinden 16 kez sola kaydırma yapmak gerekli.

GPIOX_BSRR = (1 << (bit_num+16)); gibi bir işlem örneğin. Bu işlem daha çok zaman alır
GIPOX_BRR =  (1 << bit_num); bu işlemden.  Başka işlevide olabilir tabi.

Bide şöyle bir açıklama var BSRR ile ilgili
Using the GPIOx_BSRR register to change the values of individual bits in GPIOx_ODR is a
"one-shot" effect that does not lock the GPIOx_ODR bits. The GPIOx_ODR bits can always
be accessed directly. The GPIOx_BSRR register provides a way of performing atomic
bitwise handling.

Başlık: Ynt: ARM Cortex-M3
Gönderen: camby - 06 Şubat 2013, 09:33:42
BRR   = 0x 0000 0001      , biti 0 yapar
BSRR = 0x 0000 0001      , biti 1 yapar

kullanım kolaylığı ve performans için gerekli.

Fakat BSRR de 32 bit ile hepsiniz üzerinde barındırdığı için tek başına yeterli.

Erhan hocam da da detaylıca anlatmış zaten.
Başlık: Ynt: ARM Cortex-M3
Gönderen: fractal - 06 Şubat 2013, 10:28:19
selamlar bende stellaris cortex m3 kullanıyorum.ccs ile xds100 v2 var.şu anlık sorunum online değişken izleme yapamıyorum.breakpoint  koyarak değişkeni takip edebiliyorum ama online modda izleyemiyorum.dolasıyla registerlarada pinlerede  bakamıyorum.xds100 v2 den mi kaynaklanıyor bu?
Başlık: Ynt: ARM Cortex-M3
Gönderen: z - 06 Şubat 2013, 10:55:35
Nasıl online izleme yapamıyorsun? Programa yallah dediğinde son surat koşarken registerleri görmeyi mi istiyorsun?
Başlık: Ynt: ARM Cortex-M3
Gönderen: fractal - 06 Şubat 2013, 11:35:20
aynen hocam son surat koşarken görmek istiyorum .aynen plc lerde monitoring yapmak gibi.örnek videolarda yapıorlar.tabi onlar launchpad ve m4 kullanıyorlar.birde bekleme fonksiyonu kullandığımda  koşarken programı durdursam hata veriyor..
Başlık: Ynt: ARM Cortex-M3
Gönderen: z - 06 Şubat 2013, 11:45:37
Bildiğim kadarıyla Run edilmiş CPU nun registerlerine erişemezsin. Çünkü JTAG'ın hızı buna müsade etmez. Kodları adım adım yürüteceksin bu esnada registerleri gözleyeceksin.

CCS de Keil'den farklı olarak tanımladığın sayı kadar kodları adımlatabiliyorsun. Mesela durmuş CPU'ya 100 komut işlet diyorsun.
Böyle yapınca ekranda registerlerin vızır vızır değiştiriğini görüyorsun. Senin izlediğin video da böyle çekilmiştir.

+ Koşan registerleri görecen de ne olacak? Registerleri, hatalı çalışan bir kod parçasında hatayı yakalamak için izleme ihtiyacı duyarsın. Bunun için de köşeye sıkıştırdığın suçlu fonksiyonu adım adım ilerletirken registerlerin o anki asm kodlarla uyumluluğuna bakarsın.

Başlık: Ynt: ARM Cortex-M3
Gönderen: fractal - 06 Şubat 2013, 16:55:31
hocam ne değişti bilmiyorum ama şu an online izleme yapabiliyorum.başım göğemi erdi hayır tabiki.daha kötü neden çalışmadı ve neden çalışltığı tam bir muamma.ayriyeten gözleme yaparken değerleri yenilediğinde programda duraksamalar oluyor.şurdan anlıyorum röle 1sn röle tetikliyorum bazen röle takılı kalıyor biraz..neyse kazmaya devam.daha yolun başındayız.ntc ısı okuma yapacağım..
Başlık: Ynt: ARM Cortex-M3
Gönderen: ayhan_eee - 06 Şubat 2013, 21:09:14
Alıntı yapılan: Erhan YILMAZ - 06 Şubat 2013, 00:56:45
BSRR kullanarak örneğin Bit_Reset(char bit_num) fonksiyonunu gerçeklemek için en basitinden 16 kez sola kaydırma yapmak gerekli.

GPIOX_BSRR = (1 << (bit_num+16)); gibi bir işlem örneğin. Bu işlem daha çok zaman alır
GIPOX_BRR =  (1 << bit_num); bu işlemden.  Başka işlevide olabilir tabi.

Bide şöyle bir açıklama var BSRR ile ilgili
Using the GPIOx_BSRR register to change the values of individual bits in GPIOx_ODR is a
"one-shot" effect that does not lock the GPIOx_ODR bits. The GPIOx_ODR bits can always
be accessed directly. The GPIOx_BSRR register provides a way of performing atomic
bitwise handling.


Yazdığınız çok mantıklı katılıyorum.Ancak benim aklıma takılan BSRR deki Reset kısmına gerek yoktu o zaman.O da Tek kaydedici ile yapmak için denebilir ancak sanki daha farklı bir amaç olmalı gibime geldi. :-\