Soru:
Kodumu bir mikro denetleyiciye koymak için neye ihtiyacım var?
Adam
2015-06-29 23:10:14 UTC
view on stackexchange narkive permalink

Bir denetleyiciyi kodlamayı öğrendim, ancak kodu hiçbir zaman fiziksel aygıta koymadım. Temel bir gömülü sistem geliştirmeye başlamak için neyi sipariş etmem gerektiğini anlamaya çalışıyorum.

Örneğin, bir PIC18F1330'um varsa, MPLAB IDE ve XC8 derleyicim var. Harika, bu yüzden kodu derledim ve bunu denetleyiciye koymaya hazırım. Bilgisayarımda derlenen kodumu denetleyiciye aktarmak için neye ihtiyacım var?

Devre içi hata ayıklayıcı ve PIC kiti gibi şeyler gördüm. Bu noktada kayboldum.

Yani bir PICkit'e sahip olduğumda, PICkit bilgisayarımı mikrodenetleyiciye fiziksel olarak bağlamama izin veriyor mu?
Evet, devre içi programlama ve hata ayıklama için kartınıza bağladığınız PICKit, ICD vb. Üzerinde bir konektör vardır.
Beş yanıtlar:
Spehro Pefhany
2015-06-29 23:26:21 UTC
view on stackexchange narkive permalink

XC8 C derleyicisiyle MPLAB IDE'yi kullandığınız için, Configure-> Select Device (Cihaz Seç) menüsünden uyumluluğu kontrol edebilirsiniz (yeşil gösterge, tamamen desteklenir, sarı kısmi ve kırmızı, desteklenmiyor).

Şu anda, en iyi seçenekler Pickit 3, ICD3 veya RealICE olacaktır (artan fiyat sırasına göre)

Uyumlu programcılar, hata ayıklayıcılar:

Programlama desteğinin yanı sıra hata ayıklama desteğine gerçekten sahip olmak istiyorsunuz.

enter image description here

Aygıt sürücüleri yüklendikten sonra onu seçip bağlanabilirsiniz (belirli bir aygıt belirli bir zamanda yalnızca hata ayıklayıcı veya programlayıcı olarak yüklenebilir):

enter image description here

Ardından program derlendiğinde (hata ayıklama veya yayınlama biçiminde) mikro denetleyiciyi aşağıda gösterilen düğmelerle programlayabilirsiniz:

enter image description here

Fiziksel olarak, PICkit veya diğer hata ayıklama / programlayıcı biriminde, sisteminize bağladığınız bir bağlayıcı vardır. Güç ve toprak dahil olmak üzere 5 adet kullanılan 6 adet pin bulunmaktadır.

enter image description here

sweber
2015-06-29 23:42:20 UTC
view on stackexchange narkive permalink

Kodunuzu bir mikrodenetleyiciye göndermenin birkaç yolu vardır.

Web'de, kendi kendine yeten çok sayıda programcı bulacaksınız, ancak genellikle kendi kendilerine yazılımları da vardır ve bunlar (iyi) MPLAB IDE'ye entegre edilmiştir.

Microchip'in en ucuz çözümü, USB üzerinden PC'ye bağlanan ~ 40 € 'luk bir PicKit'tir. PicKit'in bazı hata ayıklama seçenekleri olmasına rağmen, ~ 180 € 'ya daha güçlü' Devre Hata Ayıklayıcı 'ICD'si de var, bu daha fazla hata ayıklama özelliğine sahip, ancak elbette çipleri de yakabilir.

Her zaman hissettim PicKit benim için yeterli.

Mikroçip, PicKit için donanım yazılımı ve şemalar yayınladığından, üçüncü taraf sürümleri var, ancak bunları satın alırsanız, aldığınız şeyi gerçekten aldığınızdan emin olun . Bir keresinde PicKit 3 için bir teklif görmüştüm, ancak bunun bir PicKit 2 olup olmadığından emin değildim.


Yorum olarak: Kendi kendine yanıp sönebilen Microchip MCU'lar var. Örneğin, dahili USB ile PIC18F2450 / 2550/4450/4550 ailesini kullandık ve üzerine bir önyükleyici koyduk. Bir atlama teli kapatıldığında, MCU başlangıçta önyükleme yükleyici moduna girer ve MCU'nuzu kodunuzla yanıp sönebilirsiniz. Bunların hepsi Microchip'te mevcuttur.

Bunu kullanmak için kodunuzda birkaç değişiklik yapmanız gerekir. Ve tabii ki, başlangıçta MCU'daki önyükleyiciyi flaşlamak için düzenli bir programlayıcıya ihtiyacınız var. Bu nedenle, bir programcınız varsa bu özellik bir anlam ifade etmiyor. Ancak müşterilerinize ürün yazılımı güncellemeleri almak istemeniz güzel.

Oleg Mazurov
2015-06-29 23:54:27 UTC
view on stackexchange narkive permalink

Yazma sırasında, bir mikrodenetleyiciye bir ikili yazmanın 3 ana yolu vardır. Belirli bir mikroya bağlı olarak 3 tanesi mevcut olabilir. En eski yöntem, cihaza özgü programcı / hata ayıklayıcıdır. Mikroçip parçaları için güncel olanlar Pickit3 / ICD3'tür, mevcut tüm PIC mikroları ve daha eski olanlarla uyumludurlar. Diğer üreticiler tarafından üretilen parçaları programlamak için bunları kullanamazsınız.

İkinci yönteme önyükleyici denir. Siz parçaya sahip olmadan önce mikroya yazılan küçük bir programdır. Önyükleyici, mikro'nun standart arabirimleri (UART, SPI, Ethernet, vb.) Aracılığıyla programlamaya izin verir. ARM yongaları genellikle önceden yüklenmiş bir önyükleyici ve AVR ile birlikte gelir. Bir önyükleyici varsa özel programlama ekipmanına ihtiyacınız yoktur, ancak tek adımlı hata ayıklamayı kolayca yapamazsınız.

Üçüncüsü JTAG olarak adlandırılır. Yarı jenerik bir arayüzdür, onunla birçok farklı parçayı programlayabilir ve ayrıca hata ayıklayabilirsiniz. JTAG dongle adlı bir donanıma ihtiyacınız olacak. Bazı PIC parçalarında JTAG bulunur. ARM yongalarında genellikle JTAG bulunur ve çoğunun başka hata ayıklama arabirimi yoktur.

chamod
2015-06-29 23:25:00 UTC
view on stackexchange narkive permalink

İhtiyacınız olan şey bir mikrodenetleyici programlama cihazıdır. Bu, programı çipe yüklemek için gerekli işlevleri yerine getirmek üzere PC'nize ve mikrodenetleyiciye bağlanan bir donanım parçasıdır. Devre içi hata ayıklayıcı, bir programcıdan daha fazla işlevselliğe sahip bir cihazdır, örneğin çip üzerinde çalışırken kodunuzda hata ayıklamak gibi. UC'yi programlamak için ICD'yi veya PIC Kitini kullanabilirsiniz. Ya da isterseniz, JDM programcısı gibi çok basit bir devre de kullanabilirsiniz.

MPLAB IDE'nin PIC Kit ve ICD'yi desteklediğini unutmayın. Ancak bir JDM programcısı kullanıyorsanız, derlenmiş çipinizi yüklemek için PICPgm gibi başka bir yazılım kullanmanız gerekecektir.

Mister Mystère
2015-06-29 23:35:23 UTC
view on stackexchange narkive permalink

Genel tarif:

  1. Kodunuzu, seçtiğiniz dili kullanarak bir metin düzenleyiciye yazın
  2. Bir derleyici kullanarak bu dili makine koduna çevirin. Makine kodu, onaltılık sayıların bir listesidir: bazıları bir talimatı temsil eder, geri kalanı bu talimatlar için argümanlar / parametrelerdir. Genellikle "HEX dosyası" olarak adlandırılır. Herhangi bir program parçası, bu temel talimatlar + parametreler dizisine indirgenir.
  3. Bu makine kodunu cihazınızın program belleğine aktarın. Bu, bir programcı kullanılarak yapılır. Programcı, programcıyı kontrol eden bir yazılım parçası olan bir sürücü ile birlikte gönderilir: ona bir HEX dosyası verin, gerisini o halleder. Programcı, HEX dosyanızı okuyacak ve program belleğini gerçekten yazmak için kodlanmış bir şekilde cihazın programlama satırlarını (bir tür mors kodu gibi) hareket ettirecektir. Program yüklendiğinde, cihaz yeniden başlatılır ve ardından cihaz, program belleğinin en başında otomatik olarak kodu yürütmeye başlar. Bu senin kodun. Bu kabaca söyleniyor, ancak şimdilik bilmeniz gereken şey bu.

Neredeyse oradasınız . 1 ve 2'yi çok kullanıcı dostu bir şekilde yapan entegre geliştirme ortamına sahipsiniz. HEX dosyasının ne olduğu konusunda endişelenmenize gerek kalmaması için programcılara arayüzleri bile vardır ("oynat" ı tıklayın ve bitirdiniz).

Bununla birlikte, cihazınızı PC ile arayüzlemek için fiziksel programlayıcıya ihtiyacınız var - PIC'ler için orada bir numara var. Pickit onlardan biri. Gömülü programlama konusunda ciddileşmeyi düşünüyorsanız, muhtemelen bir In Circuit Debugger'a (ICD) yatırım yapmalısınız. Bu bir programcıdır ve ayrıca mikrodaki değişkenlere ve kayıtlara göz atmanıza veya bunları kurcalamanıza ve hatta istediğiniz zaman bir programı adım atıp durdurmanıza izin veren bir şey.



Bu Soru-Cevap, otomatik olarak İngilizce dilinden çevrilmiştir.Orijinal içerik, dağıtıldığı cc by-sa 3.0 lisansı için teşekkür ettiğimiz stackexchange'ta mevcuttur.
Loading...