Bisakah Anda memprogram mikrokontroler tanpa komputer?

16

Katakanlah Anda memiliki mikrokontroler yang agak sederhana dan kecil dan tidak memiliki antarmuka, tidak ada komputer, tidak ada debugger, kompiler, atau assembler. Bisakah Anda menulis kode Anda dalam perakitan, mengubahnya (secara manual) ke kode mesin, dan kemudian menerapkan daya ke pin yang sesuai menggunakan sumber tegangan?

Saya mengerti Anda akan membutuhkan I / O dan memori yang tepat untuk benar - benar melakukan apa pun, tetapi jika Anda begitu cenderung dan punya waktu, dapatkah Anda melakukan ini? Saya kira, secara historis, bagaimana hal ini dilakukan ketika tidak ada komputer / kompiler / assembler untuk memulai? Jangan ragu untuk menautkan saya ke sumber daya luar. Terima kasih! :)

idle_engineer
sumber
3
Lihat Altair 1. Sakelar panel depan dan pemrograman mesin manual adalah satu - satunya cara menggunakannya.
pjc50
@ pj50 Dia bertanya tentang mikrokontroler, bukan mikroprosesor. Mikrokontroler menjalankan kode mereka flash kami yang tidak dapat diakses tanpa antarmuka semacam itu.
tcrosley
Berapa banyak unit terprogram yang Anda butuhkan? Banyak pabrikan akan menyediakan mik mereka yang diprogram dengan kode Anda; Namun, ini tidak praktis jika Anda membutuhkan kurang dari gulungan penuh.
Oleg Mazurov
2
Kembali di 70-an Anda akan membangun panel toggle switch dan lampu sehingga Anda bisa masuk ke program. Saya tidak pernah bekerja dengan salah satu mikrokontroler awal, tetapi bekerja dengan beberapa mikroprosesor yang berbeda, dan itulah cara Anda melakukannya, secara default. Dan tidak ada perbedaan mendasar antara mikrokontroler awal dan mikroprosesor selain kemampuan I / O dan beberapa perincian tentang bagaimana memori program dikonfigurasikan.
Hot Licks
Saya akan meninggalkan ini sebagai komentar karena saya tidak dapat menemukan sumber untuk cerita ini. Saya ingat beberapa waktu yang lalu sebuah kisah tentang seorang anak yang mendesain dan membangun komputernya sendiri (hanya CPU saja) dari transistor untuk pameran sains murni berdasarkan pada pemahamannya tentang logika digital. Dia tidak mampu membeli komputer pada saat itu dan memprogram kreasinya melalui toggle switches (saya pikir saya ingat jam untuk hal yang hanya berupa tombol). Salah satu hakim sangat terkesan sehingga dia membelikan anak itu komputer.
slebetman

Jawaban:

37

Bisakah Anda menulis kode Anda dalam perakitan, mengubahnya (secara manual) menjadi kode mesin,

Iya!
Kode dapat ditulis "di luar kepala Anda" dalam biner, jika diinginkan.
Lama (lama sekali) yang lalu ini adalah bagaimana saya mulai menggunakan (kemudian) mikroprosesor.
Saya dan teman-teman akan menulis kode dalam bahasa assembly, kompilasi secara manual ke kode mesin (sesuatu yang dapat Anda lakukan "dengan inspeksi" setelah beberapa latihan) kemudian masukkan ke dalam prosesor dengan berbagai cara. Pada satu sistem yang kami bangun, kami akan mengatur alamat pada sakelar biner (nyala mati) atau menggunakan fitur kenaikan otomatis prosesor, masukkan 8 bit data pada sakelar biner dan kemudian tekan sakelar "jam" untuk memasukkan data ke memori.

Fungsionalitas yang setara dapat dicapai dengan sakelar yang lebih sedikit pada mikrokontroler modern menggunakan pemrograman SPI serial - lihat di bawah.

... dan kemudian menerapkan daya ke pin yang sesuai menggunakan sumber tegangan?

Iya!
Tapi itu akan sangat lambat untuk dilakukan!
Banyak mikrokontroler modern memungkinkan penggunaan antarmuka "SPI" untuk pemrograman.
Ini biasanya terdiri dari jalur input dan output data dan garis "jam", dan biasanya garis reset.

Banyak prosesor yang mengijinkan jam dan data SPI menjadi "statis" yang berarti tidak ada batasan berapa lama Anda dapat mengatur data antar bit. Anda dapat memprogram prosesor seperti itu menggunakan jalur data dan garis jam yang digerakkan oleh sakelar yang dioperasikan secara manual. Garis jam harus "bebas bouncing" - Anda harus dapat mengaturnya tinggi atau rendah dalam satu transisi per operasi - sehingga antarmuka minimum mungkin perlu menyertakan gerbang yang dipicu Schmitt. Anda mungkin "lolos" hanya penundaan RC dan saklar tombol, tetapi input yang dipicu Schmitt lebih aman. Jalur data tidak perlu bebas bouncing karena statusnya hanya dibaca di tepi jam.

Beberapa antarmuka bersifat interaktif - data dikeluarkan oleh prosesor selama pemrograman (mis. Data out = MISO = Master In Serial Out pada prosesor AVR). Untuk membaca ini, Anda perlu menambahkan misalnya LED dan resistor (dan mungkin saja buffer atau transistor jika kemampuan drive BENAR-BENAR rendah).


MC6800:

Dari memori semi-fading (hampir 40 tahun!)

LDI A, $ 7F ...... 86 7F ...... 1000 0110 0111 1111
STA, $ 1234 ...... B7 12 34 ... 1011 0111 0001 0010 0011 0100
LDI X, $ 2734 .. CE 27 34 ... 1100 1110 0010 0111 0011 0100
...

Russell McMahon
sumber
1
+1 untuk menyebutkan desain statis, memungkinkan jam untuk sampai ke DC.
pericynthion
2
Ini membawa kembali kenangan. Saya sebenarnya belajar memasukkan kode Z80 menggunakan tombol di sekolah. Itu sekitar tahun 1990. Guru saya bersikeras bahwa belajar pemrograman dengan cara yang sulit sangat berharga. 25 tahun kemudian saya harus setuju.
Nils Pipenbrinck
@NilsPipenbrinck Saya saat ini sedang menulis kode C dan menerapkan pelajaran yang pertama kali saya pelajari dengan Fortran :-) !!! - dan yang kemudian diasah dengan embedded system & bahasa assembly. Pelajaran ini mengurangi kemungkinan kesalahan dengan menerapkan pengetikan mental ke akses variabel dan port yang sebaliknya dapat melakukan hal-hal yang diizinkan tetapi tidak diinginkan atau bermanfaat. Assembler adalah senjata tajam pamungkas - pedang berujung ganda tanpa penjaga tangan. Setelah itu, bahasa "tingkat yang lebih tinggi" tampak kurang tajam :-). Entri tombol Z80 bertindak serupa pada pengalaman belajar Anda ;-).
Russell McMahon
@Erbureth Terima kasih :-). Ya ffff untuk 1111 jelas memudar otak. ... hanya "Anda mendapatkan ide" tetapi menyelesaikan garis tidak ada salahnya.
Russell McMahon
Ya, saya mendapat ide, tetapi ketika saya melakukannya ... :)
Erbureth mengatakan Reinstate Monica
10

Awalnya, dalam mesin yang dapat diprogram, program tersebut secara manual dilubangi ke pita kertas atau kartu. Kemudian mereka menggunakan semacam mesin tik untuk melakukan pukulan, dan bahkan kemudian masih komputer (seperti yang kemudian dikenal) dapat meninju pita kertas mereka sendiri.

Itu, secara harfiah, duduk di sana dengan kartu dan secara manual membuat lubang di dalamnya.

masukkan deskripsi gambar di sini

Setiap kolom adalah instruksi atau bit data yang ditafsirkan oleh mesin keadaan CPU untuk melakukan tugas.

Sekarang jika tentu saja itu semua memori flash, dan ya, mendapatkan data di sana di tempat pertama biasanya membutuhkan komputer untuk melakukannya. Tapi itu tidak sepenuhnya 100% benar.

Lagi pula, apa yang dilakukan oleh seorang programmer komputer dan perangkat keras selain mengatur keadaan pin IO pada waktu yang tepat? Jadi, jika Anda benar-benar cukup masokis, Anda dapat membangun sistem yang memungkinkan Anda mengirim instruksi yang benar ke pin pemrograman mikrokontroler dengan cara yang benar untuk menginstal beberapa instruksi ke dalam memori flash untuk dieksekusi.

Mungkin sesuatu yang melibatkan banyak sakelar, beberapa register geser, generator jam, dll.

Saya ingat di kampus kami memiliki sistem pemrograman berbasis Z80 baru-ketinggalan jaman - unit ukuran koper dengan Z80, sejumlah kecil RAM, sekelompok layar 7-segmen LED, dan deretan switch. Program dengan secara manual memuat instruksi ke dalam RAM menggunakan sakelar.

Majenko
sumber
Z80 bukan contoh yang valid. Dia bertanya tentang mikrokontroler, bukan mikroprosesor. Mikrokontroler menjalankan kode mereka flash kami yang tidak dapat diakses tanpa antarmuka semacam itu. Setidaknya Anda memang menyebutkan flash dan antarmuka pemrograman di tempat lain dalam jawaban Anda.
tcrosley
@tcrosley Z80 lebih untuk tujuan anekdotal - menggambarkan bagaimana komputer digunakan untuk diprogram sebelum Visual Studio mengambil semua keterampilan.
Majenko
Sementara saya tidak mengetahui adanya mesin yang dibuat untuk melakukannya, tidak akan sulit untuk menambahkan beberapa sirkuit ke pembaca kartu untuk memprogram mikrokontroler dengan kode yang disimpan pada urutan kartu. Pita kertas mungkin lebih praktis.
supercat
2
Saya biasa memotong lubang secara manual di dalamnya. Ini hanya layak dalam keadaan ekstrem (jam 10 malam, makalah akan jatuh tempo besok, satu mainframe berjalan ke kiri, meninju ruang wanita yang tersisa untuk hari itu). Pemrograman mainframe yang sama dari panel depan (beberapa tahun kemudian) sebenarnya lebih cepat.
Oleg Mazurov
1
@Majenko - Saya telah melihat rekonstruksi mesin Babbage, dan itu pasti tidak terbuat dari peralatan telepon. Pasti berisik.
Hot Licks
7

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:

masukkan deskripsi gambar di sini

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:

masukkan deskripsi gambar di sini

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.

tcrosley
sumber
5
Anda telah mengomentari berbagai jawaban lain tentang ketidakabsahannya, tetapi jawaban ini bisa dibilang kurang valid daripada sebagian besar yang Anda komentari. Dia berkata "... tidak ada interfacing, tidak ada komputer, ...". Minimal solusi Anda adalah "komputer". Apa yang dimaksud "tanpa antarmuka" adalah moot. Tapi, gunakan beberapa sakelar debouncing pada antarmuka SPI dan Anda bisa dibilang memiliki solusi.
Russell McMahon
1
@RussellMcMahon Siapa bilang ada komputer di programmer? Banyak dari mereka hanya menggunakan FPGA (yang bisa diganti dengan logika diskrit.) Bagaimana Anda akan memprogram mikrokontroler melalui antarmuka SPI, kecuali ia memiliki bootloader? Jika demikian, bagaimana Anda memprogram bootloader?
tcrosley
3
Pada dasarnya antarmuka pemrograman serial bertegangan rendah bebas bootloader pada banyak (mungkin sebagian besar) mikrokontroler menggunakan beberapa baris pada antarmuka serial yang esensial. MOSI MCLK (Vdd Gnd Reset) menjadi minimum MISO jika ada interaksi. 3 sakelar (hanya satu yang perlu dipantulkan ulang) dan LED untuk MISO dan "Anda mati". Sangat sangat sangat lambat. Jika FPGA diizinkan untuk tidak dihitung sebagai "komputer" maka tidak ada masalah menerapkan banyak sistem berbasis prosesor. Saya curiga "tidak ada logika kombinatorial" akan memenuhi semangat permintaannya.
Russell McMahon
Saya harus mengatakan, kembang api adalah latar belakang yang salah untuk digunakan ketika bekerja dengan peralatan elektronik :)
Penguin Anonim
6

Secara praktis, sesuatu seperti mengganti pin JTAG secara manual akan sangat rawan kesalahan. Untuk memasukkan program dengan ukuran apa pun yang layak akan membutuhkan ribuan matikan. Tapi secara teori, itu mungkin.

Jika Anda diizinkan untuk menyiapkan mikrokontroler terlebih dahulu (atau menulis boot ROM untuk itu), Anda dapat dengan mudah mengimplementasikan sesuatu seperti sakelar sakelar eksternal yang digunakan pada mainframe awal. Jika Anda mengizinkan logika eksternal, Anda bahkan bisa menggunakan keypad hex untuk mempercepatnya.

Akhirnya, meskipun tidak umum hari ini, Anda dapat membeli mikrokontroler berbasis ROM dengan kode khusus di dalamnya. Anda harus menawarkan sejumlah uang di muka dan menjamin volume tertentu, tetapi saya telah melihat pelanggan melakukannya untuk menghemat uang pada produksi volume tinggi. Dalam hal ini, tidak akan ada sinyal eksternal yang diperlukan untuk memprogram mikrokontroler sama sekali. Kode akan dibangun ke dalam tata letak fisik chip.

Tentu saja, Anda juga dapat menggunakan mikrokontroler yang menjalankan kode dari antarmuka memori eksternal, tetapi itu curang. :-)

Adam Haun
sumber
2
Bahkan, saya membuat Imsai 8800 "clone" pada tahun 1976/77 dan secara rutin akan memprogramnya dalam bentuk biner menggunakan toggle switches. Saya memiliki urutan boot-load yang sekitar 40- atau 60-byte byte (ini adalah seumur hidup yang lalu!) Yang akan membaca papertape dari teletype ASR-33 saya dan membawa saya ke monitor keyboard. Sebelum teletype bekerja, saya akan memprogram 8085 (salah satu perbedaan antara "klon" saya dan Imsai,) secara ketat dalam biner. Tapi itu paralel, dengan deretan sakelar. Saya telah menggunakan kunci telegraf untuk melakukan pengkodean serial dan itu BENAR-BENAR rawan kesalahan, seperti yang telah dinyatakan Adam.
user6297
3

Benar. Bahkan, kursus mikroprosesor pertama yang saya ambil (sekitar 87) menggunakan papan Motorola 68000. Kami akan mengerjakan kode dalam assembly, mencari hex untuk assembly, dan mengetik hex ke terminal untuk memprogram board. Jika Anda diedit, Anda harus memastikan kode yang Anda masukkan lebih pendek dari kode yang Anda ganti, dan kemudian buffer sisanya dengan NOP. Jika coDE lebih panjang, Anda harus mengetik ulang semuanya! Kami belajar menambahkan banyak NOP.

Scott Seidman
sumber
68000 bukan mikrokontroler. Dia bertanya tentang mikrokontroler, bukan mikroprosesor. Mikrokontroler menjalankan kode mereka flash kami yang tidak dapat diakses tanpa antarmuka semacam itu.
tcrosley
5
@ tcrosley Itu tidak sepenuhnya benar. Ada mikrokontroler yang memerlukan ROM eksternal karena mereka tidak memiliki ROM atau Flash sendiri. Apa yang membuat mereka mikrokontroler tidak dibangun di RAM atau ROM, tetapi dibangun di periferal (port IO, UART, dll).
Majenko
Sangat sedikit - karena perangkat I / O yang baru saja Anda sebutkan, sangat sedikit yang memiliki alamat eksternal dan bus data karena mereka memerlukan dua pin yang banyak.
tcrosley
2

Benar. Setelah Anda memiliki format biner dari instruksi aktual (mudah dilakukan untuk set instruksi yang ditentukan dengan baik), yang Anda butuhkan hanyalah mengimplementasikan protokol pemrograman.

Misalnya, ambil sesuatu yang kecil seperti AVR Tiny 4 . Bagian 14 merinci antarmuka pemrograman termasuk protokol dan lapisan fisik. Ini relatif sederhana dan Anda hanya perlu beberapa tombol dan resistor pullup / down untuk mengirim / menerima 1 atau 0. Jika Anda merasa ambisius, tambahkan beberapa LED untuk membaca kembali output.

Masalah terakhir yang tersisa adalah jika Anda dapat melakukannya dengan cukup cepat, yang untungnya * untuk AVR Tiny 4 (bagian 16), ia tidak memiliki frekuensi minimum ketika datang ke pemrograman itu.

* note: sejauh datasheet menentukan. Ini mungkin berbeda dalam kenyataannya ... Saya ragu ada yang mencoba pemrograman dengan kecepatan clock mHz.

Jangan ragu untuk mengotomatisasi proses sebanyak yang diinginkan. Ini yang dilakukan sebagian besar perangkat pemrograman: mengotomatiskan proses.

helloworld922
sumber
2

Dengan cara apa pun Anda memasukkan program ke UC, Anda "berinteraksi" dengan itu, karena itulah artinya interfacing. Bahkan banyak sakelar yang Anda putar secara manual adalah "antarmuka".

Jadi saya akan memperlakukan pertanyaan ini sebagai "bagaimana saya antarmuka ke UC dengan perangkat keras yang sebagian besar-mekanik (sebagai lawan elektronik), dan sedingin mungkin?"

Untuk jawaban saya, masukkan program sebagai piano roll. Rol bar pelacak piano dari piano pemain pada dasarnya memberi Anda setidaknya 65 (tergantung format) bit yang dapat Anda nyalakan dan matikan secara independen berdasarkan perforasi di kertas. Sisanya menuntut kerja dengan pisau eksak. Tapi setidaknya program Anda, setelah berjalan, disimpan (agak) secara permanen (tidak seperti pendekatan flip-the-switches-manual).

Atsby
sumber
2

Tidak hanya mungkin untuk memprogram mikrokontroler tanpa komputer, tetapi Anda sebenarnya dapat membeli komputer hari ini yang dirancang khusus untuk diprogram dengan sakelar sakelar perangkat keras. Kit ini disebut Kartu Keanggotaan , dan itu merupakan kreasi ulang komputer COSMAC Elf dari tahun 1970-an. Kit ini dijelaskan dalam artikel terbaru di majalah IEEE Spectrum . Dimungkinkan juga untuk memprogram versi yang lebih baru dari Kartu Keanggotaan dari PC.

Craig Finch
sumber
2

Baik. Bagaimana dengan ini: Anda menulis program dalam assembler dan mencari sendiri opcodes, seperti yang disarankan sebelumnya. Cara mendapatkannya di komputer: ambil pemutar kaset lama, lepaskan kepala pemutaran, tetapi tinggalkan penggulung dan penjepit. Ini akan menjadi transportasi Anda. Jika Anda memiliki pemutar reel-to-reel, Anda dapat membiarkan kepala pemutaran tetap di tempatnya.

Kemudian ambil selembar kertas yang panjang dan sempit, atau pita transparan yang lebih baik. Di sinilah Anda menyandikan program Anda. Anda menggunakan trek sebanyak yang Anda punya pin untuk diprogram. Di satu trek Anda meletakkan titik-titik hitam secara berkala; ini jammu. Di trek lain Anda meletakkan titik atau strip hitam dan biarkan kosong sesuai dengan data dan sinyal. Anda menyinari semuanya dan mendeteksinya dengan fototransistor kecil (atau menyinari satu LED pada pita dan mendeteksi cahaya dengan yang lain, yang serupa) dan menggerakkan jam dan jalur sinyal dengan transistor. Ini membutuhkan sedikit ruang pada pemutar kaset, itulah sebabnya Anda mungkin perlu melepaskan kepala pemutaran.

Tentu saja Anda juga dapat menyandikan sinyal sebagai audio, tetapi sedikit lebih rumit untuk memecahkan kode. Atau Anda dapat mendeteksi pantulan alih-alih cahaya yang ditransmisikan. Atau Anda dapat membuat lubang pada pita hitam, atau pita kertas, alih-alih membuat tanda hitam pada pita transparan. Masa bodo. Pemutar kaset menggerakkan pita dengan kecepatan konstan, sehingga Anda dapat memasukkan sinyal clock tanpa komputer.

Angus McG
sumber
1

Iya. Masalah utama mungkin berinteraksi dengan antarmuka pemrograman. Jika Anda memiliki alamat polos dan bus data, semuanya menjadi sedikit lebih mudah. Pernahkah Anda melihat beberapa komputer yang sangat awal? Program dimasukkan satu instruksi pada satu waktu ke dalam RAM dengan sakelar di bagian depan.

alex.forencich
sumber
Dia bertanya tentang mikrokontroler, bukan mikroprosesor. Mikrokontroler menjalankan kode mereka flash kami yang tidak dapat diakses tanpa antarmuka semacam itu.
tcrosley
4
@ tcrosley - UC awal tidak memiliki flash. Mereka memiliki RAM atau ROM untuk program store.
Hot Licks
@HotLicks Benar. Dan dengan beberapa pengecualian, ini semua adalah mikroprosesor, bukan mikrokontroler. Itulah maksud saya, bukan apakah program store itu flash, atau ROM, atau PROM, atau EPROM, atau EEPROM. Intinya adalah apakah program store menggunakan chip (mikrokontroler) atau tidak (mikroprosesor). Bahkan 8048, mikrokontroler pertama Intel yang diperkenalkan pada tahun 1977, memiliki ROM internal.
tcrosley
3
@ Tecrosley Siapa kamu? Dan apa yang telah Anda lakukan dengan tcrosley yang biasanya membantu dan objektif? :-) | Pengamatan pertamanya adalah bahwa Anda dapat berinteraksi dengan antarmuka pemrograman - yang sering tetapi tidak selalu valid. Bus alamat dan data "JIKA" adalah sebuah JIKA. Ini berlaku untuk beberapa mikrokontroler hibrida besar dan garis batas, tetapi IF aslinya cukup baik (meskipun keras dan lambat).
Russell McMahon
3
Berusaha mempertahankan perbedaan yang sulit antara mikroprosesor dan mikrokontroler lebih bagus daripada berguna, terutama ketika itu dalam komentar untuk setiap balasan.
pjc50
1

Komputer mini PDP-8 Digital Equipment 40+ tahun yang lalu tidak memiliki kemampuan boot otomatis. Program biasanya dimuat dari kaset kertas berlubang tetapi pemuat untuk memuat kaset kertas harus dimasukkan secara manual pada sakelar panel depan.

masukkan deskripsi gambar di sini

Di situs Digital dan PDP-8, pelanggan seperti OEM yang menggunakannya sebagai pengendali tertanam pada hari itu, tidak jarang bagi pengguna untuk menghafal boot loader dan bersaing satu sama lain untuk waktu tercepat yang diambil untuk memasuki boot. loader ke dalam mesin. Mesin-mesin itu menggunakan ingatan inti-magnetik (tangan digantung di bagian-bagian dunia yang jauh, oleh para wanita dengan jari-jari kecil, menggunakan jarum dan kawat halus).

masukkan deskripsi gambar di sini

Karena isi memori magnetik tidak mudah menguap, boot loader dapat hidup tanpa daya dan entri manual hanya diperlukan setelah perakitan awal, loader dihilangkan oleh bug program, atau program yang diperlukan untuk menggunakan ruang loader.

JRobert
sumber
Bertahun-tahun yang lalu ketika kita harus berjalan dengan susah payah ke sekolah tanpa alas kaki di atas salju di kedua sisi, PDP-8 di sekolah menengah kita harus di-boot dengan mengaktifkan bootloader dari panel depan seperti yang Anda gambarkan. Tidak ada guru yang tahu banyak tentang komputer, termasuk yang bertanggung jawab untuk itu. Dia mengira naik adalah 0 dan 1 turun, sehingga tidak pernah bisa beralih di bootloader. Saya akan mengatur agar komputer macet ketika saya berada di kelas bahasa Inggris sehingga saya dipanggil keluar untuk menyalakan kembali komputer. Saya tidak pernah memberi tahu dia tentang kesalahpahaman naik dan turunnya - itu terlalu berguna bagi saya.
Olin Lathrop
Saya menyukai PDP-8. Saya memiliki satu-satunya akses ke komputer selama sekitar tiga tahun - jadi rasanya seperti memiliki komputer pribadi jauh sebelum istilah PC ditemukan. Luar biasa apa yang bisa masuk ke dalam memori 4K. Tentu melewati banyak pita kertas (tidak memiliki DECtape), dan kertas Teletype.
tcrosley
0

Jawabannya adalah ya , Anda dapat memprogram pengontrol mikro tanpa komputer, debugger, dll. Apa yang Anda perlukan adalah menyediakan berbagai tegangan, data, jam, dan urutan pemrograman yang ditentukan oleh pabrikan UC (bukan pekerjaan mudah).

Guill
sumber