Diagram alir untuk aplikasi tertanam

8

Saya telah menyematkan aplikasi yang menggunakan interupsi dan dma. Loop utama hanya mengirim data ke PC.

Bagaimana cara merancang diagram alir program? Bagaimana cara menunjukkan interupsi dan dma bekerja pada diagram alir?

Saya telah menemukan beberapa topik di google tentang diagram uml tertanam, dan beberapa pertanyaan di sana: Merancang perangkat lunak tertanam , tetapi belum menemukan contoh diagram seperti itu.

krzych
sumber
Apakah Anda ingin perangkat lunak membuat diagram atau teori dan teknik tentang cara membuatnya?
1
Teori, teknik, dan contoh akan menjadi yang terbaik. Saya menggunakan Visio atau Visual Paradigm untuk mendesain diagram seperti itu, tetapi jika Anda memiliki sesuatu untuk merekomendasikan itu akan juga bagus.
krzych
Lihatlah berbagai diagram UML .
Nick Alexeev
@NickAlexeev sayangnya belum menemukan cara menunjukkan interupsi dan pekerjaan yang dilakukan oleh dma dalam referensi Anda.
krzych
2
@krzych Sequence diagram dapat digunakan untuk menunjukkan interaksi antara interupsi dan loop utama. Ini tidak sedetail bagan alur, tetapi dapat menunjukkan dimensi interupsi.
Nick Alexeev

Jawaban:

4

Tampilkan diagram alur kerja secara independen, satu untuk loop utama, satu untuk DMA dan yang lainnya untuk interupsi.

Karena interupsi dipicu oleh peristiwa eksternal (seperti siap ADC, timer, interupsi eksternal) itu tidak dapat di loop utama.

Tepat di awal alur kerja, letakkan judulnya di lingkaran, misalnya: "Utama", "EXT_INT", "DMA", dll.

Semoga berhasil!

Chirry
sumber
0

Maaf, tetapi Anda tidak dapat menampilkan beberapa alur kerja terpisah pada satu diagram alur yang terhubung. Jarang ada tempat umum dari mana kontrol mainloop terganggu oleh peristiwa eksternal (interrupt) -> sehingga titik koneksi antara aliran utama dan interrupt handler tidak dapat dijelaskan pada diagram alir.

Satu-satunya cara adalah menggambar beberapa diagram yang menunjukkan alur kerja urutan yang dapat berjalan "secara paralel" (proses RTOS) atau memblokir satu sama lain (Interrupts). Urutan-urutan itu akan memiliki posisi awal mereka ditandai oleh RESET, EXT_DATA_READY_EVENT atau nama bermakna lainnya yang menggambarkan awal dari alur eksekusi untuk bagan ini. Setiap urutan akan memiliki ujungnya sendiri atau bahkan tidak memiliki penanda ujung.

Diagram alir ini dapat berbagi flag / variabel yang sama untuk menunjukkan saling ketergantungan.

Sequence diagram mungkin juga berguna untuk Anda, tetapi saya kira - itu bukan yang Anda inginkan terutama.

x4mer
sumber