RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ MCS-51 ailesinin mikrodenetleyicileri için programlarda ek bellek bölümlerinin başlatılması. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler Modern mikro denetleyiciler, bazen cihaz çalışmaya başlamadan önce girilmesi gereken bilgilerin yerleşik, kalıcı veri belleğine (EEPROM) sahiptir. Program geliştirilirken bu belleğin görüntüsü (ürün yazılımı) oluşturulmalıdır. Bu, örneğin PICmicro ve AVR ailelerinin mikro denetleyicilerinin montajcıları tarafından yapılabilir. Programcıya ek bir bellek bölümü düzenleme ve EEPROM'a yazmak için ilk verileri buraya ayarlama fırsatı verir. MSC-51 çekirdekli mikrodenetleyiciler için birleştiriciler ayrıca belleğin birkaç parçaya bölünmesine de izin verir, ancak bunlardan yalnızca birinde - çalıştırılabilir kod bölümünde - başlatma mümkündür. Diğerlerinin hepsinde, yalnızca programın yürütülmesi sırasında bellek hücrelerini rezerve etmek ve bunlara veri yazmak mümkündür. Bu durumdan bir çıkış yolu aşağıda açıklanan teknik olabilir. Özü, koşullu derlemenin kullanılmasıdır, bunun sonucunda kod bölümünün başlatılması, çeviri koşullarına bağlı olarak farklı şekilde gerçekleşir. Ortaya çıkan HEX dosyaları yalnızca mikro denetleyicinin dahili EEPROM'unu değil aynı zamanda harici bellek yongalarını da programlamak için kullanılabilir. Yapay olarak oluşturulan ek bölümler (herhangi bir sayıda kabul edilebilir) program metnine gerçek kod bölümünün önüne yerleştirilir. Bunlardan birinde tanımlanan etiketler, gerçek kod bölümü de dahil olmak üzere sonraki tüm etiketlerde bilinecektir. Ancak ters yöndeki bağlantılara izin verilmez. Ek belleğin türü ve fiziksel konumu konusunda herhangi bir kısıtlama yoktur. Geleneksel olarak EEPROM ve FLASH olarak adlandırılan iki ek başlatılmış bölüme sahip bir programın örneği Tabloda verilmiştir. 1. Bunu example.asm dosyasına kaydettikten sonra, şu adresten ücretsiz olarak "indirilebilen" ASEM-51 derleyiciyi kullanacağız: . Öncelikle derleyiciyi komut satırında çalıştıralım. asem example.asm eeprom.hex/define:EEPROM Program metninin ilk satırlarını işlerken idEeprom, ptrWord ve prtBufE etiketlerini sembol tablosuna, DB ve DW direktifleri tarafından belirtilen verileri ise eeprom.hex çıkış dosyasına yerleştirecektir (Tablo 2). Daha sonra segment uzunluğu kontrol edilecektir. Program sayacı değeri fiziksel olarak mevcut EEPROM kapasitesini (bu durumda 640 hücre) aşarsa bir hata mesajı görüntülenecektir. Segment boyutu bariz bir şekilde küçükse, kontrol atlanabilir. Benzer kontroller diğer segmentlerde de yapılabilir. Daha sonra çevirici IFNDEF EEPROM direktifiyle karşılaşacaktır. Komut satırında bu isimde bir sembol tanımlandığından (parametre /define:EEPROM), programın ENDIF direktifine kadar sonraki tüm satırları yok sayılacak ve çeviri burada bitecektir. Komut satırını kullanarak aynı programı yeniden yayınlamaya başlayalım asem example.asm flash.hex/define:FLASH Öncekinden farklı olarak EEPROM yerine FLASH sembolünün tanımlanmasıyla farklılık göstermektedir. Çevirinin ilk aşaması tam olarak yukarıda anlatıldığı gibi gerçekleşecek ve EEPROM segment verileri çıktı dosyasına yazılacaktır. Ancak IFNDEF EEPROM direktifi bu sefer süreci kesintiye uğratmayacak ve aşağıdaki ORG 0 direktifi program sayacını sıfırlayacaktır. Birleştirici, FLASH segmenti için amaçlanan verileri sıfır adresinden çıkış dosyasına yazmaya başlayacaktır. Yayın IFNDEF FLASH direktifi tarafından kesilecektir. Flash.hex dosyasının son hali tabloda gösterilmektedir. 3. Yürütülebilir kodun gerçek bölümünün çevirisini şu komutla ayarlayacağız: asem örnek.asm Öncelikle ek segmentler tekrar çevrilecek ve içlerinde tanımlanan tüm etiketler assembler sembol tablosuna girilecek, bu da onlara kod segmentinden referans verilmesine olanak sağlayacak. En baştaki ORG 0 direktifi program sayacını bir kez daha sıfırlayacaktır. Daha sonra yayın her zamanki gibi devam edecek. Ortaya çıkan example.hex dosyasında (Tablo 4), çalıştırılabilir program kodu, önceki HEX dosyalarında bulunanlarla aynı satırlardan sonra bulunan dördüncü satırda başlar. Gereksiz bilgilerin varlığı genellikle kodun mikro denetleyicinin uygun bellek alanlarına doğru şekilde yüklenmesini engellemez. Programlamayı kontrol eden programın arabelleğinde, adresler eşleştiğinde doğru veriler önceden girilenlerin "yerini alır". Ve yalnızca yeni segment öncekinden daha kısaysa, "kuyruğu" arabellekte saklanacaktır. Bu nedenle, bir programdaki bölümlerin uzunluklarına göre artan sırada tanımlanması tavsiye edilir. Bazı programcıların bir ara arabelleği yoktur veya giriş verilerini sıkı bir şekilde kontrol ederek adres çakışmasını önler. İlk durumda programlama yanlış olacak, ikincisinde ise “hatalar” giderilene kadar hiç başlamayacaktır. Herhangi bir metin düzenleyiciyi kullanarak HEX dosyasındaki fazla satırları manuel olarak kaldırabilirsiniz. Bunu iki komutu arka arkaya çalıştırarak otomatik olarak yapabilirsiniz: hex2bin örneği.hex bin2hex örneği.bin İlki, example.hex dosyasında bulunan verilerin ikili görüntüsünü oluşturacak ve bunu example.bin dosyasına yerleştirecektir. İkincisi, ters dönüşümü gerçekleştirecek ve herhangi bir gösteriş olmadan yeni bir example.hex dosyası oluşturacaktır. Gerekli programlar şu adresten “indirilebilir”: Ve . Yazar: S. Chekunov, Izhevsk Diğer makalelere bakın bölüm Mikrodenetleyiciler. Oku ve yaz yararlı bu makaleye yapılan yorumlar. En son bilim ve teknoloji haberleri, yeni elektronikler: Sıcak biranın alkol içeriği
07.05.2024 Kumar bağımlılığı için başlıca risk faktörü
07.05.2024 Trafik gürültüsü civcivlerin büyümesini geciktiriyor
06.05.2024
Diğer ilginç haberler: ▪ Şempanzeler üzerinde deneyler yasaktır ▪ Akıllı telefon pilleri hava tahmininde yardımcı olacak ▪ Cree XLamp CXA2 Verimli LED'ler Bilim ve teknolojinin haber akışı, yeni elektronik
Ücretsiz Teknik Kitaplığın ilginç malzemeleri: ▪ site bölümü Muhteşem hileler ve ipuçları. Makale seçimi ▪ makale Dişlerinizi rafa koyun. Popüler ifade ▪ makale Sinema Sanatları ve Bilimleri Akademisi neden Oscar olarak adlandırılıyor? ayrıntılı cevap ▪ Kalepin'in makalesi. Efsaneler, yetiştirme, uygulama yöntemleri ▪ Makale Soğuk hava. Odak Sırrı
Bu makaleye yorumunuzu bırakın: Bu sayfanın tüm dilleri Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri www.diagram.com.ua |