Pada post sebelumnya saya mencatat perihal uji coba pertama dari salah satu dari seri Launchpad yang dikeluarkan oleh Texas Instruments, yaitu papan EK-TM4C123GXL . Mikrokontroler pada papan itu berbasis pada arsitektur ARM Cortex-M4.
Untuk catatan otak atik singkat kali ini akan berisi tentang papan yang lain dari Launchpad, yaitu MSP-EXP430G2. Dalam paket terdapat dua buah mikrokontroler, yaitu MSP430G2553 dan yang lebih kecil; MSP430G2452. Uji coba dilakukan dengan IC yang telah terpasang default pada paket kiriman; MSP430G2553. Berbeda dengan mikrokontroler TM4C123GH6PM yang merupakan anggota keluarga Tiva C yang berbasis pada ARM Cortex-M4, keluarga MSP430 (termasuk MSP430G2553) adalah μC yang menggunakan arsitektur asli dari TI, bukan dari ARM. Ini mirip dengan keluarga MCS51 (AT89S5*) dengan keluarga AVR, pada perusahaan Atmel (sebelum Atmel dibeli Microchip).
Sama seperti varian Launchpad dari keluarga Tiva C, EK-TM4C123GXL sistem MSP430 ini dapat diprogram dengan beberapa cara. Salah satu dan yang termudah adalah dengan menggunakan Energia. Pada kali ini untuk sekedar mencoba melakukan uji led berkedip, maka saya menggunakan Energia di sistem GNU/Linux
Catatan sistem GNU/Linux:
$ uname -a
Linux xxx 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Sebagian dari $ lsusb
Bus 003 Device 005: ID 0451:f432 Texas Instruments, Inc. eZ430 Development Tool
Sebagian dari $ dmesg
[ 5406.733241] usb 3-1: new full-speed USB device number 7 using xhci_hcd
[ 5406.940568] usb 3-1: New USB device found, idVendor=0451, idProduct=f432
[ 5406.940578] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5406.940582] usb 3-1: Product: Texas Instruments MSP-FET430UIF
[ 5406.940586] usb 3-1: Manufacturer: Texas Instruments
[ 5406.940589] usb 3-1: SerialNumber: 5BFF4D53F4193B46
[ 5406.940880] usb 3-1: ep 0x82 – rounding interval to 1024 microframes, ep desc says 2040 microframes
[ 5406.947129] cdc_acm 3-1:1.0: This device cannot do calls on its own. It is not a modem.
[ 5406.947141] cdc_acm 3-1:1.0: No union descriptor, testing for castrated device
[ 5406.947175] cdc_acm 3-1:1.0: ttyACM0: USB ACM device
Potensi masalah (tantangan):
Akan mungkin aplikasi Energia akan menampilkan pesan kesalahan saat akan melakukan pengiriman hasil kompilasi kode program ke papan Launchpad. Misalnya sebagai berikut:
[intense_emphasis tag=”span”]
Trying to open interface 1 on 033
rf2500: warning: can’t detach kernel driver: Operation not permitted
rf2500: can’t claim interface: Operation not permitted
rf2500: failed to open RF2500 device
Sebagaimana yang sangat sering saya ungkapkan, selama berkenaan dengan sains dan terutama teknologi (juga kerekayasaan / engineering), banyak permasalahan yang “baru” kita temukan sudah pernah ditemukan oleh orang lain di negara-negara yang lebih maju. Perangkat keras (hardware) maupun perangkat lunak (software) yang kita pergunakan mayoritas adalah produk impor dari negara-negara tersebut. Jadi wajar jika mereka terlebih dahulu menemukan permasalahan yang baru kita temui. Sebagian permasalahan itu pun telah mereka temukan solusinya. Sedikit perkecualian, barangkali adalah yang berkenaan dengan penerapan teknologi secara lokal. Itu pun dasar solusinya bisa jadi telah tersedia. Misalnya dataran rendah maupun dataran tinggi kita memang unik, tetapi sejauh berkenaan dengan hal teknis (seperti kelembapan, suhu, tekanan udara) tidaklah begitu unik. Kita bisa belajar dari pengalaman orang lain di tempat lain yang hampir serupa.
Karenanya untuk mengatasi masalah pesan kesalahan tadi kita bisa menemukan solusinya dengan membaca dan mencoba solusi yang diajukan di sumber-sumber berikut:
- How-to: Launchpad programming with Linux
- Setup Energia on Linux
- Launchpad MSP430G2
- Easy way with Energia (Ubuntu 64bit version) [draft]
- Common error messages
- Programming the MSP430 Launchpad on Ubuntu
- MSP-EXP430G2
- Programming MSP-EXP430G2 Launchpad using Energia on Linux OS
- Issues with MSP430G2 HW UART on Ubuntu 14.04
- MSP430 LaunchPad Energia development on Linux
Serupa dengan permasalahan dengan Tiva C, pada intinya permasalahan terjadi karena ada masalah akses ke jalur komunikasi. Indikasinya adalah jika saya menggunakan privilege sebagai root dengan menggunakan perintah sudo untuk menjalankan Energia, permasalahan akses tersebut tadi tidak lagi terjadi.
Di sistem GNU/Linux, terdapat apa yang dinamakan sebagai udev. Pada dasarnya udev adalah sebuah device manager pada sistem GNU/Linux yang baru. Dengan adanya udev pengguna sistem GNU/Linux (seperti Ubuntu atau Mint) dapat mempergunakan peralatan dengan menghubungkannya (mencolokkan ) dengan komputer seperti notebook atau desktop PC walaupun sistem komputer tersebut sudah boot up. Ini sangat memudahkan karena penggguna tidak pelu melakukan restart setiap kali ingin mempergunakan peralatan yang belum terhubung pada saat boot.
Untuk dapat berfungsi baik, maka kita perlu memberikan informasi kepada udev berupa isian dalam file rules. Pengaturan rules pada udev perlu dilakukan sesuai contoh. Misalnya seperti yang dicontohkan pada page di situs Energia.nu.
- Download the udev rules: TI udev rules
- Open a terminal and execute the following command: sudo mv /71-ti-permissions.rules /etc/udev/rules.d/
- If your Linux distribution supports the service command you can active the new rules with sudo service udev restart. If your Linux distribution does not support this command or if you are not able to upload to the LaunchPad with Energia, then restart your computer to activate the rules.
- If your board is pulled in, unplug it and plug it back in. Not needed if you rebooted your computer.
Pengaturan user juga perlu dilakukan agar termasuk dalam group yang berhak untuk mengakses jalur komunikasi data. Pada percobaan yang saya lakukan, perintah sudo restart udev tidak membawa pengaruh. Setelah konfigurasi pada file di /etc/udev/rules.d/, saya masih perlu melakukan restart pada sistem GNU/Linux saya. Demikianlah catatan tinkering kali ini. Di lain kesempatan saya upayakan catatan untuk compiler, juga IDE lain. Juga uji coba pada sistem Microsoft Windows.