Sebagai seorang programmer pemula, saya hanya bekerja dengan pemrograman aplikasi berbasis komputer, tetapi sebuah pertanyaan telah muncul di kepala saya sangat sering sejak saya mulai pemrograman dan saya tidak bisa mendapatkannya dijawab dengan benar.
Mesin tidak bertindak sendiri, itu tugas programmer, ia mengatakan apa yang harus dilakukan dan kapan melakukannya, tetapi keingintahuan saya terletak di bawah komputer. Saya akan mengambil contoh-contoh perangkat lunak ATM pada posting ini tetapi perlu diingat ada banyak lainnya seperti layar mesin cuci, atau TV, ponsel, apa saja.
Bagaimana tepatnya perangkat lunak untuk mesin jenis ini dibangun? Saya membayangkan itu tidak bisa identik dengan pemrograman berbasis komputer. Bahasa apa yang mereka gunakan untuk membuat hal-hal seperti itu bekerja dan bagaimana seseorang menyelesaikan pekerjaannya? Apakah ada programmer yang mengkhususkan diri pada pemrograman semacam ini? Bagaimana proses pembuatan mesin ini menjadi hidup?
sumber
Jawaban:
Ini dikenal sebagai Sistem Tertanam atau Pengembangan Perangkat Lunak Tertanam. Saya akan merekomendasikan buku ini jika Anda ingin tahu lebih banyak tentang proses umum tanpa terlalu banyak ke arah arsitektur apa pun. Itu bahkan memberi Anda sistem operasi waktu nyata untuk bermain.
Pemrograman Tertanam sangat bergantung pada arsitektur. Anda biasanya bekerja di bawah respons serius, ukuran program, pemulihan kesalahan, dan kendala biaya. Misalnya Anda mungkin memiliki z80 (prosesor 8 bit, mereka ada di mana-mana) dan mungkin beberapa kilobyte memori untuk dimainkan. Anda mungkin hanya memiliki ROM untuk memberi tahu sistem apa yang harus dilakukan dan cara mengatur program. Mungkin juga hanya beberapa kilobyte. Mengapa begitu sedikit ingatan? Nah jika Anda memproduksi 15 juta pengisap kecil; setiap sen menjadi $ 150.000.
Saya akan menyarankan mengutak-atik sesuatu seperti Arduino atau Scribbler Robots jika Anda ingin belajar lebih banyak dengan melakukan. Sejauh Bahasa pergi, C, C ++ dan Majelis adalah himpunan khas meskipun Java dapat digunakan (dan sebenarnya awalnya dirancang untuk domain ini jika Anda dapat menerima pemikiran itu). Orang lain pasti bisa digunakan juga, saya sudah tahu Lisp dan ML keduanya dikerahkan.
Pelajari sebanyak mungkin tentang arsitektur karena seperti yang saya katakan, alokasi memori dan operasi bitwise mulai menjadi sangat penting.
sumber
Jelas ada sudut yang tertanam di sini. Namun belakangan ini Anda melihat semakin banyak platform canggih tentang apa yang secara tradisional disebut perangkat tertanam. Misalnya, TV LG dan Samsung keduanya sekarang memiliki API dan toko aplikasi. TV Sony akan menjalankan Android.
sumber
Saya telah melihat dua ATM dibuka di Denver, Colorado. Keduanya (saat itu) adalah Kompas Bank ATM, dan keduanya adalah Windows XP di bawah kasing. Saya sempat bertanya kepada tech apa, khususnya, salah satu dari mereka berlari, dan dia mengatakan sesuatu seperti "XP Embedded".
Jadi, saya bertaruh pemrograman ATM kurang seperti pemrograman tertanam hari ini, dan lebih seperti pengembangan Windows standar.
sumber
Jenis perangkat ini diprogram menggunakan pemrograman tertanam . Ini adalah jenis pemrograman tingkat sangat rendah yang banyak berurusan dengan logika dan gerbang.
Jika Anda tertarik untuk belajar pemrograman langsung, saya akan merekomendasikan melihat arduino .
sumber