8051 MCU hata ayıklama tahtası işlevi


2

Okulda 8051 uyumlu bir CPU için birçok program yazdım. Ama "hata ayıklama" setlerimizin nasıl çalıştığını aslında hiç bilmiyordum. Programlarımızı özel setler halinde test ediyoruz, ki bu aslında programı PC'ye seri port üzerinden CPU'ya yüklemenizi sağlıyor. Ama bence bunu benden daha iyi biliyorsun.

Ama nasıl çalışır? Demek istediğim, PC seri portundan TTL mantığına sinyal seviyesini ayarlayan bir çip olduğunu ve 8051 seri hattına bağlanan bir çip olduğunu biliyorum. Aslında öğretmenim bile okulun hepsini aldığından beri nasıl çalıştığını bilmiyor.

Öyleyse, 8051'de zaten çalışan ve iletişimi yürüten ve programınızı belleğe kaydeden bir program olduğundan şüpheleniyorum, değil mi? Ancak, 8051 işlem talimatlarını ROM'dan farklı bir yerden nasıl yapabilirsiniz? Çünkü haklıysam, herhangi bir talimatla ROM belleğine yazamazsınız, 8051 de sadece ROM'dan talimatları okuyabilir mi?

Yanıtlar:


1

Modern harvard mimarisi MCU, yerleşik yazılımı depolamak için yerleşik flash belleği kullanır, bu nedenle ROM olarak adlandırılsa bile , salt okunur değildir. 8051’in Wikipedia makalesine göre, 8051’li modern mikrodenetleyici çoğu zaman şunları içeriyor:

Brown-out algılama, çip üzerinde osilatörler, kendiliğinden programlanabilen Flash ROM program belleği, ROM'da önyükleyici kodu, EEPROM uçucu olmayan veri depolama, I²C, SPI ve USB ana bilgisayar arabirimleri, CAN veya LIN veri yolu ile yerleşik sıfırlama zamanlayıcıları , PWM jeneratörleri, analog karşılaştırıcılar, A / D ve D / A dönüştürücüler, RTC'ler, ekstra sayıcılar ve zamanlayıcılar, devre içi hata ayıklama olanakları, daha fazla kesme kaynağı ve ekstra güç tasarrufu modları.

8051'de ayrıca seri bağlantı noktasını sağlayan yerleşik bir UART bulunur. Katıştırılmış cihazlarla çalıştığımdan bu yana bir süre geçti, ama hatırladığım şey şu - PIC mikroişlemcilerle çalıştım, bu yüzden 8051'inizin yaptığı gibi olmayabilir:

  • Açılışta, MCU belirli bir ROM konumundan bootloader kodunu yükler.
  • Pek çok yaygın önyükleyici, seri bağlantı noktasını belirli bir sinyal için kontrol ederek birkaç saniye bekler.
    • Hata ayıklama kartını bilgisayarınızın seri bağlantı noktasına bağladıysanız, bu sinyali gönderebilirsiniz (Hyperterm veya Minicom gibi bir terminal programı ile veya özel amaçlı bir ürün yazılımı yükleme programı ile).
    • Bu sinyali aldığınızda, MCU’nun önyükleyici kodu, kartı programlama moduna sokar ve yeni bellenimi gönderebilirsiniz.
  • MCU sinyali alamazsa, normalde program belleğine yüklü olan herhangi bir bellenime yüklenmeye devam eder.

Bazı mikro denetleyicilerde "Programlama modu", EEPROM belleğini programlamak için daha yüksek gerilimlerin kullanılmasını içerir, ancak tüm mikro denetleyiciler bunu gerektirmez.

Özel ayrıntılar için, MCU’nuzun veri sayfasına (genellikle üreticinin web sitesinden ulaşılabilir) bakın. Stack Exchange sitesi ChipHacker , DIY elektronik modüllerine adanmıştır ve daha fazla soru için iyi bir yerdir.


0

Evet, ROM aslında EEPROM veya flaş. Yani okuma-yazma. Ayrıca, demo kartınızda programları depolamak için harici bellek bankaları ve depolanmış programı çalıştırmak ve yeni program yüklemenizi sağlamak için PC iletişimini yürütmek için bir önyükleyici bulunmaktadır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.