Anda mengatakan "mikrokontroler kecil dan tidak memiliki antarmuka, tidak ada komputer, tidak ada debugger, kompiler, atau assembler.". Baik Anda dapat bertahan tanpa komputer, debugger, compiler, atau assembler, tetapi Anda harus memiliki semacam antarmuka untuk terhubung dengan mikrokontroler untuk memuat program.
Pertama-tama, lupakan bahasa tingkat tinggi seperti C. Kemudian cara termudah adalah menulis program Anda dalam bahasa assembly, tetapi jangan gunakan assembler untuk menerjemahkannya ke kode mesin. Alih-alih, lihat masing-masing instruksi perakitan dalam manual pemrograman, temukan kode hex yang setara, dan tulis itu.
Anda harus mengalokasikan variabel Anda sendiri, sehingga Anda dapat mengisi alamat yang sesuai di bagian operan dari instruksi. Juga lupakan tentang menggunakan tumpukan dan tumpukan, terlalu banyak pekerjaan. Setelah selesai, Anda akan memiliki program mesin yang dapat dimuat langsung ke dalam memori flash mikrokontroler - tidak diperlukan penghubung juga.
Karena kurangnya alamat eksternal dan bus data pada hampir semua mikrokontroler (karena mereka akan mengambil terlalu banyak pin yang dibutuhkan oleh port I / O dan periferal), hampir semua mikrokontroler diprogram melalui antarmuka khusus seperti ini:
Biasanya "programmer" di sebelah kiri akan terhubung ke PC, yang akan mengunduh file mesin yang dihasilkan oleh kompiler / linker.
Namun jika programmer memiliki keyboard, seperti yang di bawah ini:
kemudian seseorang dapat memasukkan kode hex untuk program yang dihasilkan secara manual langsung ke programmer, dan memprogram perangkat tanpa memerlukan kompiler, linker, atau PC yang merupakan apa yang Anda tanyakan. (Keyboard juga digunakan untuk mengedit file hex, dan menghasilkan checksum.)
Memang sedikit programmer yang memiliki keyboard seperti ini. Yang ini tidak akan cocok untuk penggemar karena mungkin harganya beberapa ribu dolar.
Programer khusus ini memprogram bagian-bagian sebelum mereka diletakkan di papan; antarmuka dan soket tersedia untuk beberapa PIC dan juga Atmel AVRs antara lain.