- Memilih Alat Pengembangan Perangkat Keras dan Perangkat Lunak
- Pengembangan STM8S103F3P6
- STM8S103F3P6 Programmer
- STM8S103F3P6 IDE dan Compiler
- STM8S dengan Arduino menggunakan Sduino
- Mengunduh Perangkat Lunak yang Diperlukan
- Menyiapkan STVD dan Cosmic C Compiler
- Library Periferal Standar untuk STM8S103F3P6
- Menyusun Program Pertama
- Mengunggah Kode dari STVD ke papan Pengembangan STM8S menggunakan ST-Link V2
The STM8 adalah serangkaian 8-bit Microcontrollers dari STMicroelectronics yang telah menjadi pilihan umum Microcontroller untuk pengembangan produk biaya-sensitif. Saya sebelumnya telah bekerja dengan AVR, PIC, dan beberapa Mikrokontroler ARM Cortex lainnya, tetapi tentunya dalam beberapa aplikasi, mereka menjadi berlebihan dan meningkatkan biaya BOM secara signifikan. Baru-baru ini, setelah membongkar beberapa produk China yang murah, saya menemukan bahwa kebanyakan dari mereka memiliki mikrokontroler STM8 di dalamnya. IC ini tidak hanya murah tetapi juga dikemas dengan banyak fitur dan pilihan sehingga cocok digunakan di berbagai aplikasi. Misalnya, STM8S rangkaian pengontrol (yang akan kita pelajari dalam rangkaian tutorial ini) adalah pengontrol untuk keperluan umum tetapi ada rangkaian lain seperti STM8A untuk Desain Otomotif dan STM8L untuk desain bertenaga baterai Daya Rendah yang memperluas penerapan pengontrol ini.
Dalam rangkaian tutorial ini, kita akan mempelajari cara memprogram mikrokontroler STM8S, lebih khusus lagi STM8S103F3P6. Alasan untuk memulai dengan nomor bagian khusus ini hanya karena faktor harga dan kinerja. Suka!! lihat saja hanya untuk $ 0,25 (sekitar 20 Rupee) kami mendapatkan mikrokontroler 8-bit dengan Osilator Internal 16Mhz, Flash 8kB, ADC 10-bit, UART, SPI, dan I2C. Siapa yang tidak tertarik? Selain itu, STM8S103F3P6 sangat populer, dan karenanya sebagai pemula, Anda akan menemukan dukungan yang cukup jika Anda membutuhkan bantuan di luar tutorial. Mulai dari ini, kita akan memiliki urutan tutorial, mirip dengan Tutorial Pemrograman PIC di mana kita akan belajar bagaimana memprogram pengontrol ini dari kedipan dasar ke berbagai tampilan dan antarmuka sensor. Anda juga dapat melihat Tutorial dan proyek STM32F103C8 jika Anda tertarik dengan Mikrokontroler STM 32-bit.
Memilih Alat Pengembangan Perangkat Keras dan Perangkat Lunak
Sekarang kita telah menghilangkan mikrokontroler, kita harus memilih alat pengembangan perangkat keras dan perangkat lunak untuk memulai proses pembelajaran kita. Ada banyak pilihan, di sini saya telah memilih salah satu yang gratis untuk digunakan dan tersedia dengan mudah untuk semua orang.
Pengembangan STM8S103F3P6
Papan pengembangan resmi untuk Mikrokontroler 8-bit ST disebut kit Penemuan STM8, tetapi kami akan menggunakan papan pengembangan berbiaya rendah lainnya yang dapat Anda temukan dengan mudah dengan pemasok lokal atau di toko online. Gambar papan Pengembangan STM8S103F3P6 yang akan kita gunakan dalam tutorial ini ditunjukkan di bawah ini.
Papan hanya terdiri dari komponen minimal yang diperlukan untuk memulai pengembangan. Ini ramah papan tempat memotong roti dan cocok untuk aplikasi kompak. Diagram sirkuit internal untuk papan pengembangan ditunjukkan di bawah ini.
Melihat lebih dekat, Anda akan melihat, selain pengontrol STM8S103F3p6, kami memiliki tombol reset untuk mengatur ulang pengontrol. Sebuah power led dan test led terhubung ke PB5 (Port B pin 5) dan regulator Tegangan AMS1117 yang mengubah 5V dari port USB menjadi 3.3V untuk pengontrol. Pengontrol juga dapat dibuat untuk beroperasi pada 5V jika diperlukan. Bagian-bagian berbeda pada pengontrol ditandai di bawah ini. Kami juga memiliki 4 pin programmer yaitu 3.3V, GND, SWIM, dan NRST yang dapat digunakan untuk dengan mudah memprogram dan men-debug mikrokontroler kami.
STM8S103F3P6 Programmer
Untuk memprogram pengontrol kami, kami akan menggunakan ST-LINK v2 yang murah dan mudah tersedia secara online. Ada banyak varian (logam, plastik, emas, merah muda, papan telanjang) dari papan ST-LINK v2 ini dan semuanya memiliki tujuan yang sama. Milik saya ditunjukkan di bawah ini tetapi Anda dapat menggunakan semua jenis pemrogram ST-LINK, pinout akan berbeda, jadi pastikan Anda membaca pinout pada casing dengan benar. Ada juga ST-LINK V3 dari ST-Microelectronics yang dapat digunakan untuk debugging yang serius. Kami tidak akan menggunakan itu untuk saat ini karena agak mahal, kami akan menyimpannya untuk masa depan.
STM8S103F3P6 IDE dan Compiler
Memilih IDE dan Compiler yang tepat untuk STM8S103F3P6 membingungkan, hanya karena ada banyak opsi untuk dipilih. Alat resmi yang tersedia untuk Mikrokontroler STM8 ditunjukkan pada gambar di bawah ini.
Di sisi Konfigurasi, kami memiliki STM8CubeMx, saya mencoba perangkat lunak dan itu benar-benar mengecewakan bagi saya. Tidak seperti STM32Cube, STM8Cube tidak dapat membuat kode secara otomatis. Itu hanya dapat menghasilkan pemetaan pin untuk tujuan visualisasi dan mungkin berguna jika Anda memindahkan kode Anda dari satu pengontrol ke pengontrol lainnya. Selain itu, saya tidak akan menggunakannya. Jadi dalam seri tutorial ini, kami tidak akan menggunakan ini.
Untuk IDE dan Compiler, kami memiliki banyak opsi untuk dipilih. Dua opsi teratas untuk IDE adalah IAR workbench dan ST Visual Develop (STVD), kedua perangkat lunak tersebut terasa seperti berasal dari tahun 90-an tetapi setelah beberapa waktu bermain dengannya, saya menemukan STVD adalah pilihan yang baik hanya karena benar-benar gratis. Demikian pula, untuk Compiler, kami akan menggunakan Compiler Cosmic C, sekali lagi hanya karena ini benar-benar gratis. Alasan lain untuk memilih IDE dan Compiler ini adalah, setelah kita terbiasa dengan lingkungannya, akan mudah untuk menggunakan Mikrokontroler 8-bit lain dari ST tanpa banyak usaha. Kami akan membahas cara menginstal dan mengatur STVD dengan kompiler Cosmic C nanti di artikel ini.
Untuk Flashing kita akan menggunakan ST Visual Programmer (STVP), tool ini otomatis terinstal ketika kita menginstal STVD. Ini akan terintegrasi dalam IDE itu sendiri, membantu kami memprogram dan men-debug dengan cepat. Perangkat lunak terakhir adalah STMStudio yang merupakan perangkat lunak Pemantauan STM8. Perangkat lunak ini dapat membantu debugging STM8 secara real-time dan memiliki beberapa fitur keren seperti memantau nilai variabel, merencanakan grafik, dll. Saya belum cukup bereksperimen dengan perangkat lunak ini. Dan, setidaknya untuk beberapa tutorial pertama, kami tidak akan menggunakan perangkat lunak ini karena kami tidak memerlukan persyaratan debugging yang besar.
STM8S Standard Peripheral Library: ST Microelectronics menyediakan satu set library untuk memudahkan pengembangan kode bagi Mikrokontroler STM8S, library ini disebut " Standard Peripheral Library " atau singkatnya SPL. Pustaka itu keren kecuali untuk itu ditulis dengan mengingat semua pengontrol yang mungkin dalam keluarga STM8S / A 8-bit dan bukan hanya pengontrol STM8S103F3P6 yang akan kita gunakan. Oleh karena itu, kami harus melakukan beberapa penyesuaian di sana-sini untuk membuatnya berfungsi (yang akan saya bagikan nanti). Tapi tetap, saya percaya itu layak untuk dicoba karena bisa membuat pengembangan sangat cepat, dan karenanya, kami akan menggunakannya dalam tutorial kami.
Jika Anda tidak ingin menggunakan perpustakaan, Anda harus mengakses langsung Register pengontrol atau melakukan pemrograman perakitan logam kosong. Keduanya menyenangkan, asalkan Anda punya waktu untuk mempelajari dan menggunakannya. Ide saya adalah menggunakan perpustakaan SPL dimanapun itu bekerja dengan baik dan kemudian juga bekerja pada tingkat register dan perakitan jika diperlukan. Mari kita coba untuk tidak menemukan kembali roda!
STM8S dengan Arduino menggunakan Sduino
Membahas opsi perangkat lunak tidak akan pernah lengkap jika saya tidak menyebutkan dukungan Arduino IDE STM8S. Ya, papan STM8S103F3P6 yang sama dapat diprogram langsung dari Arduino IDE menggunakan Sduino, terima kasih kepada Michael Mayer. Namun, proyek ini masih dalam tahap pengembangan dan kemungkinan akan membutuhkan waktu dan dukungan komunitas agar Sduino dapat memberikan dukungan platform yang lengkap. Namun, hanya dalam beberapa menit bermain dengan Sduino, saya mulai menyukainya dan karenanya memutuskan untuk juga membuat artikel terpisah tentang cara memprogram Mikrokontroler STM8S dengan Arduino. Saya akan menautkan artikel di sini jika sudah siap. Artikel tersebut akan membahas mengapa dan mengapa Anda tidak harus menggunakan Arduino IDE untuk memprogram Mikrokontroler STM8S Anda.
Jadi, ini adalah pilihan saya untuk Perangkat Lunak dan Perangkat Keras, beri tahu saya di bagian komentar jika menurut Anda beberapa perangkat lunak lain akan menjadi pilihan yang lebih baik dan mengapa. Saya juga ingin mencari opsi lain.
Mengunduh Perangkat Lunak yang Diperlukan
Sekarang kita telah memutuskan perangkat lunak yang akan kita gunakan untuk tutorial ini, mari kita lanjutkan dan unduh menggunakan tautan berikut. Semua perangkat lunak ini gratis untuk diunduh dan digunakan, Anda hanya perlu mendaftarkan akun gratis di ST dan Cosmic jika Anda belum melakukannya.
- Pengembangan Visual ST (STVD)
- Penyusun Cosmic C
- Perpustakaan Periferal Standar
- STM8Cube Mx (Opsional)
- STMStudio untuk STM8 (Opsional)
Menyiapkan STVD dan Cosmic C Compiler
Setelah Anda mengunduh kedua perangkat lunak, cukup ikuti petunjuk di layar untuk menginstalnya. Saya akan merekomendasikan untuk membiarkannya di direktori default untuk menghindari kebingungan di kemudian hari. STVD IDE akan diinstal tanpa usaha apapun. Untuk kompiler Cosmic C, Anda harus mendapatkan kunci lisensi gratis selama proses instalasi. Anda hanya perlu memberikan informasi perusahaan dengan E-mail ID, jika Anda seorang pelajar, sebutkan saja. Proses mendapatkan kunci lisensi bersifat instan dan otomatis, meskipun instruksi pengaturan mengatakan bahwa mungkin perlu satu atau dua hari, saya menerima kunci lisensi secara otomatis pada ID E-Mail saya segera setelah saya mengirimkannya, pastikan Anda periksa SPAM. E-Mail Konfirmasi saya ditampilkan di bawah ini.
Sesuai instruksi E-mail, cukup salin file license.lic dan paste di sub-folder “license” di folder instalasi Anda. Bagi saya jalurnya adalah "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8 \ License" . Cukup tempel file di lokasi seperti yang ditunjukkan di bawah ini.
Library Periferal Standar untuk STM8S103F3P6
Seperti yang diceritakan sebelumnya, ST Microelectronics menyediakan Library yang disebut SPL yang dapat digunakan untuk semua Mikrokontroler STM8S / A 8-bit. Anda dapat mengunduh SPL asli dari ST Microelectronics dan membuat perubahan yang diperlukan atau mengunduh pustaka SPL STM8S103F3P6 saya dan menggunakannya sebagaimana mestinya. Saya akan merekomendasikan nanti.
SPL asli dari ST Microelectronics
STM8S103F3P6 SPL
Saat Anda berada di sana, pastikan juga untuk mengunduh Panduan Pengguna SPL, yang akan sangat berguna saat memprogram pengontrol.
Menyusun Program Pertama
Sekarang semuanya sudah siap, mari coba kompilasi program pertama kita untuk memeriksa apakah IDE, Compiler, dan Library semuanya berfungsi sebagaimana mestinya. Anda juga dapat memeriksa video di bagian bawah halaman untuk instruksi mendetail.
Mulailah dengan membuka STVD dan pilih File -> WorkSpace, di pop-up, pilih "New Workspace" dan masukkan nama Proyek dan jalur di mana program harus disimpan. Saya menamai program saya BareMinimum dan menyimpannya dalam folder di desktop. Klik OK dan Anda akan mendapatkan kotak dialog New Project seperti yang ditunjukkan di bawah ini.
Saya menamai proyek sebagai bareminimum lagi dan di bawah toolchain kita harus menentukan root toolchain ke jalur di mana kompiler STM8 Cosmic diinstal. Alamat jalur default adalah "C: \ Program Files (x86) COSMIC \ FSE_Compilers \ CXSTM8" . Setelah itu klik OK untuk mendapatkan jendela "MCU Selection".
Cari STM8S103F3P dan pilih dan klik OK. Ini akan membuka proyek baru untuk STM8S103F3P di STVD, jendela akan terlihat seperti ini setelah selesai.
Klik kanan pada "file sumber" dan pilih "Tambahkan file ke folder" untuk memasukkan semua file c dari perpustakaan SPL kami, demikian juga klik kanan pada Sertakan file untuk menyertakan semua file header. Jika Anda memiliki pertanyaan, Anda dapat merujuk ke video di bawah ini. Setelah semua file ditambahkan, klik Build -> rebuil d all dan kemudian Compile untuk memeriksa apakah compiler dan SPL berfungsi seperti yang diharapkan. Jika semuanya berjalan dengan baik, Anda akan melihat layar berikut dengan kesalahan hasil build 0 dan peringatan 0.
Setelah ini selesai, sekarang kami dapat memastikan semua perpustakaan SPL kami bekerja dengan kompiler Cosmic dan STVD. Ini adalah prosedur standar yang akan kami ikuti untuk setiap proyek baru. Anda juga dapat menyertakan file sumber dan header yang diperlukan saja untuk proyek guna mengurangi waktu pembuatan jika diperlukan.
Mengunggah Kode dari STVD ke papan Pengembangan STM8S menggunakan ST-Link V2
Hubungkan ST-Link V2 dengan papan pengembangan seperti yang ditunjukkan di bawah ini.
Sambungannya cukup mudah dan bagian terbaiknya adalah Anda tidak memerlukan komponen eksternal. Pengaturan perangkat keras saya untuk pemrograman ditunjukkan di bawah ini, saya baru saja menggunakan kabel header wanita untuk membuat koneksi saya. Namun, perhatikan bahwa pinout ST-Link Anda mungkin berbeda dengan pinout saya, pastikan untuk mengikuti pinout pada perangkat sebelum membuat koneksi.
Buat koneksi dan hubungkan perangkat ke komputer Anda, penginstalan driver akan dimulai secara otomatis. Anda dapat menggunakan pengelola perangkat untuk memastikan apakah komputer Anda telah menemukan ST-LINK V2 dengan benar. Anda juga akan melihat LED tes di papan berkedip jika ini adalah pertama kalinya menyalakan papan. Segera setelah kami berhasil mengkompilasi kode pada STVD, kami akan mendapatkan file Ekstensi “S19” di bawah direktori debug dari folder proyek. File S19 saya ditampilkan di bawah ini.
S19 ini seperti file Hex yang harus diunggah ke pengontrol. Untuk mengupload program, buka ST Visual Programmer (STVP) yang seharusnya sudah diinstal bersama dengan STVD. Kemudian di jendela konfigurasi, pilih seperti yang ditunjukkan pada gambar di bawah ini dan klik OK.
Kemudian klik File-> Buka dan arahkan ke file S19 yang kami tunjukkan sebelumnya. Kemudian untuk mem-flash perangkat, ikuti Program -> Tab Saat Ini . Jika flashing berhasil, Anda akan melihat output berikut.
Secara default, saat Anda membeli STM8S, program ini akan memiliki program blin yang mengedipkan LED tes. Sekarang setelah mengunggah kode kosong ini, LED tidak akan berkedip lagi.
Penting: Saya menemukan bahwa ST-Link saya tidak mengatur ulang papan secara otomatis setelah pemrograman. Saya harus memutuskan dan menghubungkannya kembali untuk memeriksa output dari program saya. Saya tidak yakin apakah ini masalah bagi semua orang, beri tahu saya di bagian komentar. Juga, lihat video di bagian bawah yang menjelaskan solusi untuk ini.
Dengan ini, mari kita akhiri tutorial ini, kita telah mempelajari dasar-dasar perangkat keras, telah menyiapkan lingkungan pengembangan, dan mempelajari cara mengompilasi dan mengunggah kode. Kami sekarang siap untuk maju dan kami akan menggunakan ini di semua tutorial kami yang akan datang. Jika Anda memiliki pertanyaan, silakan posting di forum kami dan nantikan lebih lanjut !!