pic serisi emulator ve programlıyıcı

Başlatan buiba, 22 Eylül 2010, 23:52:43

buiba

daha rahat program geliştirebilmek için pic serisine ait bir isp emulatore ihtiyacım var.emulatör kullanan arkadaşlar artılarıyla eksileriyle ürün tavsiyelerinde bulunurlarsa degerlendirmek istiyorum.selamlar

t2

#1
Emülatör yerine picin kendini kullansanız daha iyi değil mi? Ben emülatör kullanmadım belki de iyi bir şeydir.

Alıntı YapMPLAB REAL ICE In-Circuit Emulator System is Microchip's next generation high speed emulator for Microchip Flash DSC® and MCU devices
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en028120

zakbay

2 yıl önce microbasic için picflash2 almıştım o zamanlar uğraştım bir sonuca ulaşamadım. Bir derleyicisi kilitleniyor bir icd kilitleniyor. bir pc de biraz çalışıyor diğerinde hiç çalışmıyordu. Yaşadığım problemleri betiye (mikroelectronica Türkiye distribütörü) gönderdim. 2 yıl oldu hala geri dönüş yapacaklar. Cihazı artık sadece programlayıcı olarak kullanıyorum.  Onun için kesinlikle tavsiye etmiyorum.
Tek dostum çalışmak...

buiba

Alıntı yapılan: t2 - 23 Eylül 2010, 06:38:52
Emülatör yerine picin kendini kullansanız daha iyi değil mi? Ben emülatör kullanmadım belki de iyi bir şeydir.

emulator iyi birsey olmaz mi benim de bildigim kadari ile programi yuklemeden islemcinin programi adim adim calistirmasini,break point ozelligiyle;o anda portlarin,registerlerin durumlarini gorebilmemizi sagliyor.ama pic emulatorleri diger bazi islemcilerin emulatorlerine  gore cok pahali kaliyor.bir arkadasim silicon library firmasinin islemcilerini ve emulatorunu kullaniyor.60-70 usd gibi bir rakama, usb programliyici ve emulator olan bir cihaz almis ve bana muthis hizli geldi.

t2

#4
Çalışırken portlarin,registerlerin durumlarini gorebilmemiz için aslında işlemcinin debug özelliğinin olması yeterli.

Mesela cypress usb işlemcileri mi ne var. debuggeri kendinden. Benim emülatörden anladığım işlemcinin kendisini kullanmadan aynı fonksiyonları sağlayan başka bir işlemci veya kutu. Tabi bazı işlemcinin kendinde debug özelliği olmayabilir.  Emülatör ayrıca bunu da eklemiştir. mesela 16f84(salladım) bunda debug olmaz. ama kocaman bir kutu bağlıyoruz adım adım registerleri görüyoruz. bu kutunun içinde aslında 16f84 yok . projeyi böyle geliştirip sonra gerçek işlemcide çalıştırıyoruz.

Ama işlemcimizde debug çıkışı varsa başka bir donanıma gerek olmadan sadece clk ve data uçlarından register ve port içeriğini görebiliriz. Bu işinizi görürse emülatör denen  donanıma gerek olmayabilir.

http://www.p-icd.com/PICD_Overview.htm

The P-ICD does not require any special hardware to host the microcontroller. However, you will need a host board that supports RS232 serial communication.

P-ICD Does not require a specific PIC/Xtal model to make it work, as long as it has a USART and will compile in Proton™ it will work.



Tagli

#5
Bildiğim kadarıyla destekleyen PIC'lerde debug işlemi için programın PIC'e özel konfigürasyon ayarları ile atılması gerekiyor. Bu durumda PIC'in bazı kaynakları kullanılmaz hale geliyor - yanlış hatırlamıyorsam üç adet bacak ve bir kademe hardware stack. Yani PIC devrede çalışırken debugger ile bilgisayara bağlı oluyor. Bu bahsettiklerim PIC için geçerli tabi, diğer işlemcilerde durum farklı olabilir.
Gökçe Tağlıoğlu

buiba

Alıntı yapılan: t2 - 24 Eylül 2010, 23:30:45
Çalışırken portlarin,registerlerin durumlarini gorebilmemiz için aslında işlemcinin debug özelliğinin olması yeterli.

eger bu dediginiz gibi bir sey ise,debugger ozelligi olan bir islemci  ve debug ozellikli bir programci ile programi adim adim calistirabiliyorsa ;tabiki bir emulatore ihtiyacim olmaz ve konuyu buradan yurutebiliriz.

Tagli

Evet sanırım öyle. Ancak bu işin bir de bilgisayar yazılımı yönü var. Muhtemelen en uyumlu yazılım MPLAB olsa gerek; zaten çok fazla seçenek olduğunu sanmıyorum. Bu durumda MPLAB'in tanıdığı Microchip'e ait debugger'lar veya bunların klonları gerekecektir.

Emulator ve Debugger aynı şey değil mi bu arada?
Gökçe Tağlıoğlu

Maxim

#8
Alıntı yapılan: Tagli - 25 Eylül 2010, 02:11:38

Emulator ve Debugger aynı şey değil mi bu arada?

yok kesinlikle aynı değil

debugger , bildiğimiz debug, yani satır satır kodu çalıştırabildiğimiz bir düzenek .
pice bağlanıyoruz bir şekilde ..

ama emulator çok daha üstün bir yapı ,
emülatör varsa zaten pic kullanmıyorsun,
pic yerine emülatörü kullanıyorsun.


edit:
birde pic simulatör var
simulatör yazılımla yapılan bir şey,
örnek:
http://www.oshonsoft.com/pic.html

ama emulatör direk hardware bir yapı ,
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en028120


Maxim


buiba

maxim hocam ozellik tablosunda yer alan breakpoints ve software breakpoint  arasinda ne fark vardir.

Maxim

ben bu "mplab real ice" hakkında şüpheye düştüm (emulator)
yanlış bilgi vermek istemem

breakpointlerden öte, real ice nin pic yerine kullanıldığını biliyordum ama yanılıyormuşum gibi bir düşünceye kapıldım !

dediğim gibi yanlış bilgi vermek istemem
bundan kullanan varsa doğrusunu o açıklasın

Tagli

Aslında doğru, emülatör ile simülatör'ün birbirine yakın anlamda olması lazım. Emülatör, bir donanımı taklit eden yazılımdır bence. Ancak anlaşılan bu yorumumda yanılmışım, çünkü Wikipedia'daki başlık Maxim hocamın dediklerini destekler nitelikte. Ancak konunun altında bir yerde şu yorum yapılmış:
Alıntı yapılan: WikipediaSome recent ICE developments (Microchip MPLAB REAL ICE) utilize resources provided on the manufactured version of the microcontroller  for emulation and debugging features, instead of needing another special emulation-version (that is, bond-out) of the target microcontroller. Even though it is a cost-effective method, since the ICE unit only manages the emulation instead of actually emulating the target microcontroller, trade-offs have to be made in order to keep the prices low at manufacture time, yet provide enough emulation features for the (relatively few) emulation applications.
Yani anlaşılan Microchip bu emülasyon kavramını biraz çarpıtmış. Zaten sitesinde "Development Tools" başlığı altında 3 madde var: Compilers, Emulators, Programmers. Debugger diye bir şey yok.
Gökçe Tağlıoğlu

buiba

bu konu iyice karisti gibi,anladigim su debug ozellikli bir programci ve pic ile ( tum?) registerlerin durumunu gorebiliyoruz.tabii programi islemciye yukledikten sonra,ama yukleme suresi piclerde programa gore cok uzun olabiliyor  bu durum cok kotu,yalniz bu sebebten bile emulator daha kullanisli gibi gorunuyor.

--sorum su debug ozellikli bir programcida tum registerleri gormek nasil oluyor.program atildiktan sonra,mplab islemciyle tekrar komunikasyona mi geciyor?
--tek yukleyiste programa kac breakpoint dizayn edebiliyoruz.istedigimizde ornek 3 breakpoint koymussak program sirayla digerlerine ulasabiliyor mu.yoksa her breakpoint icin tekrar program mi yukluyoruz?

Tagli

Yanlış anlamadıysam PIC için zaten sözlük anlamıyla bir emülatör yok. Programı PIC'e atmak zorundasın. Zaten çok da uzun sürmez. İyi bir programlayıcı ile 10 saniyeden fazla süreceğini sanmıyorum.
Gökçe Tağlıoğlu