Menu English Ukrainian Russia Laman Utama

Perpustakaan teknikal percuma untuk penggemar dan profesional Perpustakaan teknikal percuma


ENSIKLOPEDIA ELEKTRONIK RADIO DAN KEJURUTERAAN ELEKTRIK
Perpustakaan percuma / Skim peranti radio-elektronik dan elektrik

Menyahpepijat mikropengawal menggunakan emulator ROM. Ensiklopedia elektronik radio dan kejuruteraan elektrik

Perpustakaan teknikal percuma

Ensiklopedia elektronik radio dan kejuruteraan elektrik / Pengawal mikro

Komen artikel Komen artikel

Kerumitan membangunkan dan menyahpepijat program kerja peranti elektronik yang mengandungi mikropemproses sering menentukan kos pembangunannya secara keseluruhan. Dalam mikropengawal (MCU) yang mengintegrasikan memori dan beberapa peranti persisian, ini amat ketara. Salah satu alat yang sangat memudahkan penyahpepijatan ialah emulator ROM yang diterangkan dalam [1]. Artikel ini menerangkan teknologi untuk bekerja dengannya. Keupayaan nyahpepijat tidak terhad kepada teknik yang diterangkan. Proses ini, seperti reka bentuk secara umum, pada tahap tertentu adalah seni: setiap orang mencipta "muzik mereka sendiri" untuk instrumen yang sama. Kami akan berterima kasih kepada pembaca yang berkongsi alatan dan kaedah asal mereka untuk menyahpepijat program MK.

Kerumitan dan keamatan buruh proses penyahpepijatan perisian MK ditentukan oleh faktor berikut [2]:

  • hubungan kukuh antara bahagian perisian dan perkakasan sistem;
  • kekurangan akses terus kepada sumber dalaman dan titik kawalan MK;
  • sifat isyarat berbilang bit, diedarkan secara kompleks dalam masa;
  • kadar pengulangan tidak berkala atau sangat rendah bagi isyarat dalam sistem;
  • pelbagai jenis peranti luaran dan protokol untuk bertukar maklumat dengan mereka.

Peralatan ujian tradisional (contohnya, osiloskop) hanya boleh digunakan pada tahap yang terhad untuk menyahpepijat MCU.

Kaedah penyahpepijatan yang paling mudah (dan pada masa yang sama paling tidak berkesan) ialah "kaedah percubaan dan ralat": memuatkan atur cara ke dalam peranti ingatan baca sahaja (RPM) boleh diprogram semula, cuba melaksanakannya, mengesan dan membetulkan ralat dalam atur cara dan perkakasan, memadamkan ROM, memuatkan semula atur cara, dsb. d. Proses memadam dan menulis data ke cip EEPROM mengambil banyak masa, dan selepas beberapa kitaran pengaturcaraan semula ia gagal sepenuhnya. Pemasangan berulang dan penyingkiran litar mikro mengurangkan kebolehpercayaan sesentuh elektrik dalam soket ROM. Hampir tiada kemungkinan untuk mendapatkan maklumat penyahpepijatan tentang sistem.

Pada masa ini, mikropengawal paling kerap dinyahpepijat menggunakan alat silang berdasarkan komputer peribadi. Ini membolehkan gangguan minimum sumber MK. Peranti yang sedang dinyahpepijat, seperti yang ditunjukkan dalam rajah, disambungkan ke komputer melalui beberapa alat, contohnya, emulator ROM. Kompleks sedemikian membolehkan anda memuat turun dan mengedit program, memasukkan modul ujian ke dalamnya, mendapatkan maklumat tertentu tentang sistem, dan banyak lagi, yang akan kami bincangkan di bawah.

Walaupun emulator ROM bukan satu-satunya alat penyahpepijatan atau paling berkuasa, ia masih popular. "Ketahanan" mereka dijelaskan oleh kebebasan mereka daripada jenis MK (hanya keupayaan untuk bekerja dengan memori program luaran diperlukan), operasi masa nyata, harga rendah dan kebolehcapaian kepada pelbagai pembangun peralatan dan amatur radio. Mari kita pertimbangkan teknologi penyahpepijatan program menggunakan emulator ROM menggunakan contoh mikropengawal keluarga MCS-51 (8031, 8051, 80C31, 80C51. KR1816BE31, KR1816BE51, KR1830BE31, KR1830BE51, dsb.).

Apabila memulakan penyahpepijatan, adalah perlu untuk menyemak kefungsian perkakasan sistem dan MK itu sendiri. Untuk melakukan ini, anda boleh menggunakan ujian "akaun percuma" [3]. yang terdiri daripada mencari melalui semua kemungkinan kombinasi kod pada baris port MK. Semasa ujian, talian port akan ditetapkan kepada keadaan output, jadi pertama sekali, semak dari rajah litar peranti yang dinyahpepijat bahawa ia tidak dimuatkan pada output elemen lain. Putuskan sambungan beban tersebut buat sementara waktu, jika ada.

Muatkan emulator ROM dengan kod arahan "tiada operasi" (NOP) dalam keseluruhan ruang alamat program MK. Untuk MCS-51 ini adalah kod 00Н. Apabila melaksanakan "program" sedemikian, mikropengawal secara berurutan mencari melalui semua alamat memori program. Periksa isyarat ALE, PME dan port P0, P2 dengan osiloskop. Osilogram pada talian port mesti sepadan dengan gambar rajah pemasaan pembilang binari, dengan mengambil kira pemultipleksan bait rendah alamat dan data pada P0.

Seterusnya, semak port P1 dan R1 dengan memuatkan atur cara ujian yang diberikan dalam Jadual 00 ke dalam emulator ROM. 0. Ia mengeluarkan jujukan kod dari XNUMXH hingga XNUMXFFH pada baris port yang ditentukan, mensimulasikan pembilang binari lapan bit. Jika osilogram sepadan dengan yang diperlukan, pulihkan beban yang terputus dari port dan teruskan untuk menyahpepijat program kerja MK. Ingat bahawa anda sedang menyahpepijat bahagian perisian dan perkakasan sistem pada masa yang sama, dan jangan lupa untuk memantau isyarat secara berkala pada titik kawalan dengan osiloskop. Percanggahan antara jenis isyarat dan idea anda tentangnya adalah sebab untuk refleksi serius dan pemeriksaan tambahan.

Menyahpepijat mikropengawal menggunakan emulator ROM

Untuk memudahkan pembangunan dan penyahpepijatan, anda harus mematuhi prinsip pengaturcaraan modular, iaitu membahagikan program MK kepada bahagian mengikut fungsi. Ini akan memudahkan untuk memindahkan modul individu, dan, jika perlu, gunakannya dalam projek lain. Modul yang mana kawalan dipindahkan selepas menghidupkan kuasa atau menetapkan semula MK dipanggil yang utama atau utama. Anda harus memindahkan kawalan ke titik masuk program menggunakan arahan lompat dan bukannya panggilan subrutin, supaya tidak mengacaukan timbunan dengan alamat pemulangan.

Untuk mengelakkan hasil program yang tidak dijangka, pastikan anda memberikan nilai awal kepada setiap pembolehubah sebelum menggunakannya buat kali pertama. Dalam sesetengah kes, mungkin perlu untuk memulakan peralatan persisian. Blok permulaan diletakkan pada permulaan modul program utama.

Pandangan anggaran modul perisian utama pada permulaan penyahpepijatan ditunjukkan dalam Jadual. 2. Ia mengandungi hanya titik masuk ke program dan pengendali keluar. Walaupun output sedemikian jarang digunakan dalam sistem mikropengawal, ia mesti disediakan untuk menyelesaikan situasi kecemasan yang betul. Dalam contoh yang sedang dipertimbangkan, selepas selesai kerja, program "gelung". Ia hanya akan dibawa keluar dari keadaan ini dengan memulakan semula sistem dengan isyarat tetapan semula perkakasan.

Menyahpepijat mikropengawal menggunakan emulator ROM

Semasa nyahpepijat, modul perisian lain ditambahkan pada modul utama kerana ia sudah sedia. Urutan di mana ia disambungkan dan nyahpepijat memainkan peranan penting. Anda harus bermula dengan pemacu peranti output maklumat (paparan, penukar digital-ke-analog, dll.), meletakkan panggilan mereka dalam modul utama. Kemudian pemacu peranti persisian yang tinggal dan rutin pemprosesan data dinyahpepijat, dan hanya selepas itu operasi bersama semua modul perisian diperiksa. Jika terdapat paparan abjad angka, pemacunya dinyahpepijat terlebih dahulu dan digunakan pada masa hadapan untuk memaparkan maklumat penyahpepijatan, sebagai contoh, kandungan memori data dalaman MK. Jika emulator ROM digunakan supaya maklumat yang terkandung di dalamnya boleh ditulis dan dibaca oleh kedua-dua komputer kawalan dan peranti yang sedang dinyahpepijat, MK boleh meletakkan data penyahpepijatan dalam kawasan memori bebas emulator ROM, dan kawalan komputer membacanya dan memaparkannya pada paparannya.

Sebagai contoh, untuk mengeluarkan kandungan RAM data dalaman MK, sambungkan output isyarat tulisnya ke memori data luaran (WR) dengan input isyarat tulis emulator ROM dan gunakan subrutin yang diberikan dalam Jadual. 3. Diandaikan bahawa saiz memori program peranti yang sedang dinyahpepijat tidak melebihi 32 KB, oleh itu maklumat penyahpepijatan yang diletakkan dalam memori emulator bermula pada alamat 8000H. Kandungan daftar R0 dan R1 dihantar secara berasingan, kerana ia kemudiannya digunakan dalam subrutin untuk mengatur gelung. Selepas maklumat penyahpepijatan dikeluarkan, program MK digantung, kandungan sel memori emulator ROM 8000H-807FH dibaca oleh komputer kawalan, dipaparkan dan dianalisis. Dengan cara yang sama, kandungan semua daftar MK yang boleh diakses secara pengaturcaraan boleh dipaparkan.

Menyahpepijat mikropengawal menggunakan emulator ROM

Apabila mula menyahpepijat pemacu peranti persisian, putuskan sementara isyarat kawalan yang dijana oleh mikropengawal daripadanya untuk mengelakkan kemungkinan kegagalan peranti akibat ralat dalam program. Jika proses itu bersifat sekali sahaja, "gelung" dan atur cara isyarat penyegerakan osiloskop jika perlu. Nyahpepijat pemacu dengan memantau isyarat yang dijana oleh MC dengan osiloskop. Selepas memastikan bahawa rajah pemasaan isyarat kawalan sepadan dengan yang diperlukan, sambungkan peranti persisian dan teruskan menyahpepijat pemacu pada perkakasan sebenar. Akhir sekali, alih keluar elemen penyahpepijatan daripada modul perisian dan semak operasinya dalam bentuk terakhirnya.

Penggunaan sumber MK yang dikongsi oleh modul yang berbeza selalunya membawa kepada fakta bahawa program nyahpepijat berhenti berfungsi apabila subrutin lain ditambahkan. Oleh itu, selepas menyahpepijat modul seterusnya, pastikan semua pemacu dan subrutin yang dinyahpepijat sebelum ini terus berfungsi dengan betul. Jika program anda menggunakan sampukan, jangan lumpuhkannya melainkan perlu. Modul yang dinyahpepijat tidak boleh dialih keluar daripada program, walaupun ia tidak diperlukan pada masa ini.

Apabila MK membeku, kaedah penyetempatan ralat berikut berguna: masukkan titik kawalan ke dalam program yang memaparkan nombor yang meningkat secara berturut-turut pada paparan. Selepas pembekuan, paparan akan menunjukkan nombor yang sepadan dengan pusat pemeriksaan terakhir yang berjaya dilalui. Jika beberapa mata ini ditangkap dalam gelung tak terhingga, nombor pada paparan akan berubah dengan cepat. Untuk menentukan mata yang disertakan dalam gelung, anda perlu memperlahankan perubahan nombor secara buatan dengan menetapkan kelewatan perisian apabila mengeluarkan setiap satu daripadanya, contohnya, dalam bentuk gelung terbiar. Jika sistem yang sedang dinyahpepijat tidak mempunyai paparan terbina dalam, maklumat boleh dipaparkan pada paparan komputer kawalan melalui kawasan memori bebas emulator ROM.

Setelah menyahpepijat semua pemacu peranti, kami mula menyahpepijat rutin lain. Jika mana-mana daripada mereka melaksanakan algoritma kompleks untuk memproses atau menukar data, memaparkan satu atau lebih nilai pembolehubah perantaraan selalunya tidak memberikan maklumat yang mencukupi untuk analisis ralat. Menulis maklumat penyahpepijatan volum yang diperlukan ke dalam kawasan memori bebas ROM emulator akan membantu untuk mengatasi kesukaran di sini.

Setelah mencapai operasi normal semua modul perisian, anda boleh nyahpepijat mereka bersama-sama. Kesukaran yang timbul dalam kes ini dibahagikan kepada dua kumpulan. Yang pertama termasuk masalah berkongsi sumber biasa mikropengawal: unit aritmetik-logik, memori data, port input-output. Yang kedua adalah berkaitan dengan pengendalian peranti mikropengawal dalam masa nyata.

Sistem masa nyata biasanya berbilang benang. Beberapa tugas perisian (benang) berjalan secara selari, berinteraksi antara satu sama lain dan menggunakan sumber yang dikongsi. Tetapi pada setiap saat, MC, kerana strukturnya, menyelesaikan hanya satu daripada mereka, secara bergantian beralih kepada yang lain, dengan mengambil kira keutamaan. Konflik antara tugas timbul kerana kekurangan sumber dan kerana kekurangan masa untuk pemprosesan data. Oleh itu, beri perhatian khusus kepada sumber MC yang digunakan dalam modul perisian, dan sering memantau perubahan dalam keadaan mereka dengan memaparkan maklumat penyahpepijatan. Cuba kurangkan bilangan pembolehubah global, gantikannya dengan pembolehubah tempatan apabila boleh. Pantau keadaan timbunan. Anggarkan masa pelaksanaan bahagian kritikal program, uji sistem untuk pelbagai nilai isyarat input yang mungkin dalam amalan.

Menggunakan emulator ROM, anda juga boleh nyahpepijat program yang direka untuk berfungsi dalam memori dalaman MK, jika anda meletakkannya buat sementara waktu dalam memori program luaran. Oleh kerana dalam kes ini port P0 dan P2 akan sibuk melayan memori luaran, maka jika baki baris I/O percuma MK tidak mencukupi, P0 dan P2 digantikan dengan port I/O yang dialamatkan sebagai sel memori data luaran. Ia disambungkan mengikut litar standard, menggunakan daftar pencetus untuk menambah bilangan baris keluaran, dan elemen dengan tiga keadaan keluaran untuk menambah bilangan talian input.

Setelah menyahpepijat sistem menggunakan emulator, keluarkan elemen penyahpepijatan daripadanya, tulis program ke ROM (atau pada memori program dalaman MK) dan semak operasi peranti dalam bentuk terakhirnya.

Kesusasteraan

  1. Vydolob G., Kudryashov V., Samoilov V. ROM/RAM emulator RE020. - Radio, 1997. No 11, ms 30-32.
  2. Zelenko G.V., Ivannikov A.D., Sypchuk P.P. Reka bentuk dan penyahpepijatan sistem mikropemproses. - M. Kejuruteraan Mekanikal. 1982.
  3. Williams G.B. Menyahpepijat sistem mikropemproses: Trans. dari bahasa Inggeris - M Energoatomizdat. 1988

Pengarang: G. Vydolob, V. Samoilov, Moscow (Zelenograd)

Lihat artikel lain bahagian Pengawal mikro.

Baca dan tulis berguna komen pada artikel ini.

<< Belakang

Berita terkini sains dan teknologi, elektronik baharu:

Cara Baharu untuk Mengawal dan Memanipulasi Isyarat Optik 05.05.2024

Dunia sains dan teknologi moden berkembang pesat, dan setiap hari kaedah dan teknologi baharu muncul yang membuka prospek baharu untuk kita dalam pelbagai bidang. Satu inovasi sedemikian ialah pembangunan oleh saintis Jerman tentang cara baharu untuk mengawal isyarat optik, yang boleh membawa kepada kemajuan ketara dalam bidang fotonik. Penyelidikan baru-baru ini telah membolehkan saintis Jerman mencipta plat gelombang yang boleh disesuaikan di dalam pandu gelombang silika bersatu. Kaedah ini, berdasarkan penggunaan lapisan kristal cecair, membolehkan seseorang menukar polarisasi cahaya yang melalui pandu gelombang dengan berkesan. Kejayaan teknologi ini membuka prospek baharu untuk pembangunan peranti fotonik yang padat dan cekap yang mampu memproses jumlah data yang besar. Kawalan elektro-optik polarisasi yang disediakan oleh kaedah baharu boleh menyediakan asas untuk kelas baharu peranti fotonik bersepadu. Ini membuka peluang besar untuk ...>>

Papan kekunci Seneca Prime 05.05.2024

Papan kekunci adalah bahagian penting dalam kerja komputer harian kami. Walau bagaimanapun, salah satu masalah utama yang dihadapi pengguna ialah bunyi bising, terutamanya dalam kes model premium. Tetapi dengan papan kekunci Seneca baharu daripada Norbauer & Co, itu mungkin berubah. Seneca bukan sekadar papan kekunci, ia adalah hasil kerja pembangunan selama lima tahun untuk mencipta peranti yang ideal. Setiap aspek papan kekunci ini, daripada sifat akustik kepada ciri mekanikal, telah dipertimbangkan dengan teliti dan seimbang. Salah satu ciri utama Seneca ialah penstabil senyapnya, yang menyelesaikan masalah hingar yang biasa berlaku pada banyak papan kekunci. Di samping itu, papan kekunci menyokong pelbagai lebar kunci, menjadikannya mudah untuk mana-mana pengguna. Walaupun Seneca belum tersedia untuk pembelian, ia dijadualkan untuk dikeluarkan pada akhir musim panas. Seneca Norbauer & Co mewakili piawaian baharu dalam reka bentuk papan kekunci. dia ...>>

Balai cerap astronomi tertinggi di dunia dibuka 04.05.2024

Meneroka angkasa dan misterinya adalah tugas yang menarik perhatian ahli astronomi dari seluruh dunia. Dalam udara segar di pergunungan tinggi, jauh dari pencemaran cahaya bandar, bintang dan planet mendedahkan rahsia mereka dengan lebih jelas. Satu halaman baharu dibuka dalam sejarah astronomi dengan pembukaan balai cerap astronomi tertinggi di dunia - Balai Cerap Atacama Universiti Tokyo. Balai Cerap Atacama, yang terletak pada ketinggian 5640 meter di atas paras laut, membuka peluang baharu kepada ahli astronomi dalam kajian angkasa lepas. Tapak ini telah menjadi lokasi tertinggi untuk teleskop berasaskan darat, menyediakan penyelidik dengan alat unik untuk mengkaji gelombang inframerah di Alam Semesta. Walaupun lokasi altitud tinggi memberikan langit yang lebih jelas dan kurang gangguan dari atmosfera, membina sebuah balai cerap di atas gunung yang tinggi memberikan kesukaran dan cabaran yang besar. Walau bagaimanapun, walaupun menghadapi kesukaran, balai cerap baharu itu membuka prospek yang luas kepada ahli astronomi untuk penyelidikan. ...>>

Berita rawak daripada Arkib

tingkap bertenaga 06.04.2011

Syarikat Norway Ensol telah mempatenkan sel suria filem nipis, yang terdiri daripada zarah nano logam yang didepositkan pada kaca dalam ruang vakum.

Kerja-kerja itu dijalankan dengan kerjasama Fakulti Fizik Universiti Leicester (England). Menjelang 2016, firma itu berharap untuk mencapai kecekapan 20 peratus dalam baterinya. Cermin mata dengan bateri solar boleh digunakan untuk mengilap tingkap - ia akan menjadi sedikit gelap, tetapi untuk kawasan selatan yang cerah ini hanya tambahan.

Berita menarik lain:

▪ Coupe-crossover Lynk&Co 05+

▪ Objek paling jauh dalam sistem suria

▪ berlian nitrogen

▪ Pemanasan global akan melanda AS terutamanya

▪ ingatan yang terlalu baik

Suapan berita sains dan teknologi, elektronik baharu

 

Bahan-bahan menarik Perpustakaan Teknikal Percuma:

▪ bahagian tapak Makmal Sains Kanak-kanak. Pemilihan artikel

▪ artikel Laluan bersejarah bukan kaki lima Nevsky Prospekt. Ungkapan popular

▪ artikel Bagaimana awan berjaya kekal di langit? Jawapan terperinci

▪ artikel Bekerja dengan win manual dan angkat manual. Arahan standard mengenai perlindungan buruh

▪ artikel Litar bip mudah. Ensiklopedia elektronik radio dan kejuruteraan elektrik

▪ artikel Kehilangan minuman itu. Fokus rahsia

Tinggalkan komen anda pada artikel ini:

Имя:


E-mel (pilihan):


Komen:





Semua bahasa halaman ini

Laman utama | Perpustakaan | artikel | Peta Laman | Ulasan laman web

www.diagram.com.ua

www.diagram.com.ua
2000-2024