Kazalo:

KIM Uno - emulator mikroprocesorskega kompleta za razvoj v vrednosti 5 €: 13 korakov (s slikami)
KIM Uno - emulator mikroprocesorskega kompleta za razvoj v vrednosti 5 €: 13 korakov (s slikami)

Video: KIM Uno - emulator mikroprocesorskega kompleta za razvoj v vrednosti 5 €: 13 korakov (s slikami)

Video: KIM Uno - emulator mikroprocesorskega kompleta za razvoj v vrednosti 5 €: 13 korakov (s slikami)
Video: Изучаем iOS: создайте собственное приложение с помощью Objective-C! от Тянью Лю 2024, Junij
Anonim
Image
Image
KIM Uno - mikroprocesorski razvojni komplet za 5 €
KIM Uno - mikroprocesorski razvojni komplet za 5 €
KIM Uno - mikroprocesorski razvojni komplet za 5 €
KIM Uno - mikroprocesorski razvojni komplet za 5 €

KIM Uno je prenosni, programsko definiran komplet za razvoj (retro) mikroprocesorjev. Naj pa predstavim idejo o tem, če se vrnem v preteklost:

Konec leta 2018 sem se spomnil, da sem hotel zgraditi majhen prenosni komplet za razvoj mikroprocesorja, tako kot slavni KIM-1 iz podjetja MOS Technology, Inc., ki ga je oblikoval Chuck Peddle, ki je sodeloval tudi pri ustvarjanju CPE-ja 6502.

Toda izdelava kompleta za razvijanje "golih kosti" z diskretnimi logičnimi komponentami ni bila možnost, saj je potrebovala veliko napajanje (ker te starodavne naprave običajno vzamejo nekaj resnega toka), poleg tega pa bi bil razvoj zelo dolgotrajen. In zdaj si ga želim!

Zato sem KIM Uno oblikoval kot prenosno napravo, ki leži v eni roki in se napaja iz dveh baterij CR2032. Uporablja mikrokrmilnik ATMega328p ("Arduino"), ki deluje pri 8 MHz, za posnemanje (ali simulacijo) želenega CPE -ja. Ta arhitektura zagotavlja tudi, da so emulirani procesorji zamenljivi z vsem, kar ustreza notranjemu pomnilniku mikrokrmilnika. Gre torej za večnamensko napravo.

Po naključju sem pozneje na YouTubu gledal res dober govor, imenovan The Ultimate Apollo Guidance Computer Talk (34C3), kjer so omenjeni "One Instruction Set Computers" ali OISC. Nisem vedel zanje in se mi je zdel to idealen kandidat za izvajanje.

KIM Uno posnema CPE samo z enim ukazom: subleq - odšteje in razveja, če je manjše ali enako nič.

Če sledite skupaj z mano po tem navodilu, lahko v hipu zgradite svoj KIM Uno. Najboljši del - poleg tega, da ga lahko spremenite po svojem okusu - pa je, da izdelava stane le 4,575 € (konec leta 2018).

En namig: obstaja skladišče Git, ki vsebuje vse datoteke, ki jih ponujajo različni koraki tega navodila. Če želite spremeniti nekaj virov in jih deliti z nami, lahko naredite PR. Tam pa lahko naložite tudi vse datoteke hkrati. Preprosto na https://github.com/maxstrauch/kim-uno. Hvala!

Obstaja še en precej zanimiv projekt, imenovan isti (KIM Uno), ki naredi pravo repliko 6502 KIM Uno. Preverite tukaj. Ustvarjalec celo proda komplet. Torej, če vas zanima 6502 in vam je všeč ta projekt, si oglejte tam!

1. korak: Dobavite PCB

Nabava PCB
Nabava PCB
Nabava PCB
Nabava PCB

Kot vidite, sem priložnost izkoristil za oblikovanje tiskanega vezja in njegovo profesionalno izdelavo. Ker ga izdelujete od zunaj in ga pošljete, vam bo vzelo veliko časa (odvisno od tega, kje ste na svetu;-)), je naročilo prvi korak. Nato lahko nadaljujemo z drugimi koraki, medtem ko je tiskano vezje izdelano in vam dostavljeno.

PCB sem naročil na Kitajskem pri PCBWay za samo 5 USD. Ne predstavljam nobene koristi za predstavitev PCBWay -a kot mojega proizvajalca PCB -jev, samo meni je dobro deloval in bi lahko deloval tudi vam. Lahko pa jih naročite na katerem koli drugem mestu, kot je JLCPCB, OSH Park ali katero koli drugo podjetje za tiskane vezje.

Če pa ste jih pripravljeni naročiti na PCBWay, lahko prenesete priloženo datoteko ZIP »kim-uno-rev1_2018-12-12_gerbers.zip« in jo naložite neposredno na PCBWay brez kakršnih koli sprememb. To je prvotna datoteka, ki sem jo uporabil za naročanje tiskanih vezij, ki jih lahko vidite na slikah.

Če jih naročite pri drugem proizvajalcu, jih boste morda morali ponovno izvoziti iz prvotnih virov KiCad, ker sem jih ustvaril s specifikacijami iz PCBWay, ki jih najdete tukaj. Za prvotne vire KiCad prenesite datoteko "kim-uno-kicad-sources.zip" in jo izvlecite.

Obstaja pa tudi druga pot: če ne želite naročiti tiskanega vezja, lahko zgradite svojo različico z uporabo perfboarda ali celo ploščice.

Kakorkoli že: ker so PCB -ji na poti, se lahko osredotočimo na druge dele! Pridite, sledite mi.

2. korak: Nabavite komponente

Nabava komponent
Nabava komponent
Nabava komponent
Nabava komponent
Nabava komponent
Nabava komponent

Zdaj morate dobiti komponente. Za to boste našli pregledno sliko vseh sestavnih delov in količin, ki jih potrebujete, priloženih temu koraku, ter BOM (gradivo).

BOM vsebuje povezave do eBaya. Čeprav lahko te ponudbe zaprete, ko to preberete, jih lahko uporabite kot izhodišče. Uporabljene komponente so precej standardne.

V nadaljevanju vam bom razložil vse potrebne komponente:

  • 7x 1 kΩ upori za sedem segmentne zaslone. Vrednost lahko zmanjšate (na primer na 470 Ω), da svetijo svetleje, vendar je ne zmanjšajte preveč, sicer bodo LED diode umrle ali pa se bo baterija zelo hitro izpraznila. Ugotovil sem, da mi ta vrednost deluje
  • 1x 10 kΩ kot vlečni upor za linijo RESET mikrokrmilnika
  • 1x 100 nF kondenzator za izravnavo napetostnih sunkov (kar se ne bi smelo zgoditi, ker uporabljamo baterije, kajne, ampak za dobro meritev …)
  • 1x ATMega328P v paketu DIP-28 (običajno imenovan ATMega328P-PU)
  • 1x glavno tiskano vezje - glej prejšnji korak; naročeno ali izdelano sami
  • 2x držala za baterije CR2032
  • 1x stikalo SPDT (enopolno, dvokrako), ki ima v osnovi tri kontakte in v vsakem od dveh stanj (vklopljeno ali izklopljeno) povezuje dva kontakta
  • 20x taktilni gumbi za tipkovnico. Za uporabo hrbtne strani tiskanega vezja sem uporabil taktilne gumbe SMD (standardne velikosti 6x6x6 mm) - precej jih je enostavno spajkati, kot boste videli
  • NEOBVEZNO: 1x 1x6 -polni priključek za priključitev programatorja, vendar je to neobvezno, kot boste videli kasneje
  • 1x sedem segmentni zaslon s 4 številkami in 1x sedem segmentni zaslon z 2 števkama - plošča bo vzela le 0,36 palčne (9, 14 mm) elemente s skupno anodno napeljavo. Obe zahtevi sta pomembni za pridobitev delovne enote. Toda tudi ta vrsta sedem segmentnega zaslona je zelo pogosta

Temu koraku je priložena datoteka "component-datasheets.zip", ki vsebuje natančnejše informacije o dimenzijah in vrstah uporabljenih komponent. Toda večina komponent je zelo standardnih in jih je mogoče zlahka nabaviti za malo denarja.

Zdaj morate počakati, da imate vse komponente pripravljene za nadaljevanje spajkanja. V tem času lahko že skočite do konca in po želji preberete nekaj o uporabi KIM Uno.

3. korak: Pregled orodja za spajkanje

Pregled spajkalnega orodja
Pregled spajkalnega orodja
Pregled spajkalnega orodja
Pregled spajkalnega orodja

Za spajkanje in izdelavo KIM Uno potrebujete orodja, prikazana na slikah:

  • Rezalnik žice (za rezanje konca sestavnih žic)
  • Ravne klešče
  • Par pincete
  • (spodobno) Spajkanje, ki ni preveč debelo - uporabljam spajkanje 0,56 mm
  • Spajkalnik - ne potrebujete vrhunskega spajkalnika (ker tudi tukaj ne delamo raketne znanosti) - Ersa FineTip 260 uporabljam že dolgo in je res dober
  • Peresnik: dodajanje fluksa komponentam in blazinicam olajša njihovo spajkanje, saj spajkalnik nato "sam teče" na pravo mesto*
  • Izbirno: goba (iz kovinske volne) za vaš spajkalnik

Za poznejše programiranje KIM Uno boste potrebovali tudi:

  • računalnik z orodno verigo AVR-GCC in avrdude za nalaganje vdelane programske opreme
  • ponudnik internetnih storitev (programer) - kot vidite na sliki, uporabljam svoj Arduino Uno kot ponudnika internetnih storitev s posebno skico - zato vam ni treba kupovati modne strojne opreme

* potrebna so nekatera navodila ljudi;-)

Si pripravljen? V naslednjem koraku bomo začeli sestavljati KIM Uno.

4. korak: Spajkanje #1: Dodajanje uporov in kondenzatorjev

Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev
Spajkanje #1: Dodajanje uporov in kondenzatorjev

Vedno morate najprej delati od najmanjših (glede na višino sestavnih delov) sestavnih delov do zadnjih najvišjih komponent. Zato začnemo z dodajanjem uporov in upogibanjem nog zadaj, tako da se uporniki zlahka spajkajo in ostanejo na svojem mestu. Nato prerežite dolge žice.

Prav tako, kot ni prikazano na slikah, na enak način dodajte majhen kondenzator 100 nF.

En nasvet: te žične noge hranite v majhni posodi, včasih pridejo prav.

5. korak: Spajkanje #2: Sestavljanje tipkovnice

Spajkanje #2: Sestavljanje tipkovnice
Spajkanje #2: Sestavljanje tipkovnice
Spajkanje #2: Sestavljanje tipkovnice
Spajkanje #2: Sestavljanje tipkovnice
Spajkanje #2: Sestavljanje tipkovnice
Spajkanje #2: Sestavljanje tipkovnice

Naslednji korak je spajkanje 20 taktilnih stikal SMD. Ker je to delo nekoliko zapleteno, ga opravljamo zdaj, ko PCB leži ravno na delovni mizi.

Delali bomo od zgoraj navzdol (ali od leve proti desni, če je tiskano vezje usmerjeno, kot je prikazano na fotografijah) in začeli s prvo vrstico: izberite eno od štirih blazinic za vsako stikalo in jo namočite s peresom.

Nato s pinceto primite stikalo in ga previdno postavite na štiri blazinice. Nato spajkajte samo nogo stikala, ki je na blazinici, ki ste jo izbrali in pripravili s tokom. Za to morate pred začetkom "vzeti" nekaj spajkalnika z likalnikom. S to metodo dokončajte celotno vrsto stikal in spajkajte samo eno nogo.

Slika s puščicami prikazuje povečanje natančnosti spajkanja.

Ko ste spajkali celotno vrstico (samo en zatič), lahko naredite majhne prilagoditve tako, da segrejete zatič nazaj in znova postavite stikalo. Prepričajte se, da so stikala čim bolj poravnana.

Če ste zadovoljni s poravnavo, lahko vse ostale zatiče namočite s peresom in jih nato spajkate tako, da se ga dotaknete s spajkalnikom in dodate tudi nekaj spajkanja, če se ga tudi dotaknete. Videli boste, da je spajka sesana neposredno na blazinico.

Ko spajkate vrsto ali manj, boste opazili, da se tega naučite in ni tako težko, ampak se ponavlja. Torej naredite ostalo in v kratkem boste imeli končano tipkovnico.

Korak 6: Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča

Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča
Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča
Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča
Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča
Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča
Spajkanje #3: Sedem segmentni zaslon, stikalo in glava zatiča

Sedaj lahko dodate stikalo in glavo zatiča (neobvezno), tako da ga držite s prstom in spajkate en zatič, da ga držite na tiskanem vezju, tako da lahko spajkate druge zatiče in se na koncu dotaknete začetnega držala.

Pazite, da se ne opečete z vročim spajkalnikom. Če vam to ne ustreza, lahko za pritrditev komponente uporabite malo traku (npr. Slikarski trak). Na ta način imate proste roke za gibanje.

Sedem segmentnih zaslonov je spajkano na enak način (glej sliko): vstavite ga, ga držite z roko ali trakom in spajate dva nasprotna zatiča, da ga držite na mestu, medtem ko lahko spajkate druge zatiče.

Vendar bodite previdni in postavite sedemsegmentni zaslon v pravo smer (z decimalnimi pikami obrnjenimi proti tipkovnici). Sicer ste v težavah …

Korak 7: Spajkanje #4: Spajkanje mikrokrmilnika

Spajkanje #4: Spajkanje mikrokrmilnika
Spajkanje #4: Spajkanje mikrokrmilnika

Zdaj, ko imate veliko prakse, lahko nadaljujete in vstavite mikrokrmilnik z zarezo na vrhu (ali prvim zatičem), obrnjeno proti stikalu. Z ravnimi kleščami lahko previdno nekoliko upognete noge mikrokrmilnika, tako da se ujemajo z luknjami na tiskanem vezju.

Ker je tesno prilegan, potrebujete nekaj nadzorovane sile, da vstavite mikrokrmilnik. Prednost je, da ne izpade. To pomeni, da si lahko vzamete čas in ga spajkate od zadaj.

8. korak: Spajkanje #5: Dodajte držala za baterije (zadnji korak)

Spajkanje #5: Dodajte držala za baterije (zadnji korak)
Spajkanje #5: Dodajte držala za baterije (zadnji korak)
Spajkanje #5: Dodajte držala za baterije (zadnji korak)
Spajkanje #5: Dodajte držala za baterije (zadnji korak)
Spajkanje #5: Dodajte držala za baterije (zadnji korak)
Spajkanje #5: Dodajte držala za baterije (zadnji korak)

Nazadnje morate na zadnji strani dodati držala za baterije. Za to preprosto uporabite pisalo in namočite vse štiri blazinice, nato pa na likalnik nanesite nekaj spajkanja. Nosilec baterije previdno poravnajte na obeh blazinicah. Na obeh koncih stikov mora biti vidna enaka količina PCB blazinice. Z likalnikom se dotaknite ploščice PCB in nogice nosilca baterije. Spajka bo tekla pod blazinico in čez njo ter jo pritrdila na mestu, kot je prikazano na sliki. Če imate s tem težave, lahko peresniku dodate še več fluksa.

9. korak: utripanje emulatorja

Utripanje emulatorja
Utripanje emulatorja
Utripanje emulatorja
Utripanje emulatorja
Utripanje emulatorja
Utripanje emulatorja

V priloženem zip arhivu "kim-uno-firmware.zip" najdete izvorno kodo emulatorja skupaj z že sestavljenim "main.hex", ki ga lahko neposredno naložite v mikrokrmilnik.

Preden ga lahko dejansko uporabite, morate nastaviti nastavke varovalk mikrokrmilnika, tako da uporablja notranjo 8 MHz uro, ne da bi jo razdelil na pol. Delo lahko opravite z naslednjim ukazom:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U l varovalka: w: 0xe2: m -U hfuse: w: 0xd9: m -U efuse: w: 0xff: m

Če ne poznate avrdude: to je program za nalaganje programov v mikrokrmilnik. Več o tem lahko izveste tukaj. V bistvu ga namestite in potem je pripravljen za uporabo. Za nastavitev boste morda morali spremeniti argument "-P" v druga serijska vrata. V računalniku preverite, katera serijska vrata se uporabljajo (npr. Znotraj Arduino IDE).

Po tem lahko vdelano programsko opremo vstavite v mikrokrmilnik s tem ukazom:

avrdude -c stk500v1 -b 9600 -v -v -P /dev/cu.usbmodem1421 -p m328p -U bliskavica: w: main.hex

Še enkrat: za "-P" velja isto kot zgoraj.

Ker nimam "profesionalnega" ponudnika internetnih storitev (programerja v sistemu), vedno uporabljam svoj Arduino UNO (glej sliko) in skico, ki sem jo priložil ("arduino-isp.ino", od Randalla Bohna). Vem, da obstaja novejša različica, vendar s to različico v zadnjih petih letih nisem imel težav, zato jo obdržim. Samo deluje. S komentarjem v glavi skice dobite pinout na Arduino UNO in s pomočjo sheme KIM Uno (glejte priloženo) lahko dobite pinout glave 1x6 ISP na KIM Uno. Kvadratni pin, blizu sedemsegmentnega zaslona, je pin 1 (GND). Ti zatiči so (v pravem vrstnem redu): RESET, MOSI, MISO, SCK, VCC. VCC lahko priključite na 3V3 ali na 5V.

Če niste dodali glave zatiča 1x6, lahko uporabite žice za mizo in jih vstavite v priključne luknje ter jih s prstom nagnete - tako kot je prikazano na sliki. Tako dobite dovolj stika za bliskovito vdelano programsko opremo in nastavitev varovalk. Če pa imate radi bolj trajno nastavitev, morate vsekakor dodati 1 -polne glave z zatiči.

Imam dve napravi: produkcijsko različico brez zatičev in razvojno različico z zatiči, ki jo pustim priključeno in jo med razvojem uporabljam vedno znova. To je veliko bolj udobno.

10. korak: Končano

Dokončano
Dokončano
Dokončano
Dokončano

Zdaj ste končali in lahko začnete pisati lastne programe podnapisov na papir, jih sestaviti in nato vnesti v pomnilnik.

KIM Uno ima vnaprej programiran Fibonaccijev izračun, ki se začne na pomnilniški lokaciji 0x0a. Privzeto je nastavljen na n = 6, zato bi morala biti vrednost 8. Pritisnite "Pojdi" za začetek izračuna.

Korak 11: Analiza zasnove tiskanega vezja

Analiza načrtovanja PCB
Analiza načrtovanja PCB
Analiza načrtovanja PCB
Analiza načrtovanja PCB

Po zaključku tega projekta sem našel nekaj točk, ki so omembe vredne in bi jih bilo treba obravnavati v novi reviziji odbora:

  • svileni zaslon ATMega328p nima običajne zareze, kjer se nahaja prvi zatič. Odtis DIP-28 sploh nima kvadratne blazinice, kjer se nahaja prvi zatič. To bi vsekakor morali izboljšati s podrobnejšim sitotiskom, da preprečimo zmedo
  • glava ponudnika internetnih storitev nima nalepk za povezavo na sitotisku. Zaradi tega je težko prepoznati, kako ga povezati z ponudnikom internetnih storitev
  • glavo ISP lahko spremenite v glavo 2x6 pinov s standardno postavitvijo nožic, da preprečite zmedo

Razen teh točk sem zelo vesel, kako se je izkazalo in delalo v prvem poskusu.

12. korak: Kako programirati SUBLEQ?

Image
Image
Kako programirati SUBLEQ?
Kako programirati SUBLEQ?
Kako programirati SUBLEQ?
Kako programirati SUBLEQ?

Kot je bilo omenjeno na začetku, trenutna vdelana programska oprema KIM Uno posnema računalnik z enim nizom navodil (OISC) in nudi podnaredbo za izvajanje izračuna.

Ukaz subleq pomeni odštevanje in razvejanje, če je manjši ali enak nič. V psevdo kodi je to videti tako:

podnapis A B C mem [B] = mem [B] - mem [A]; če (mem [B] <= 0) pojdi na C;

Ker KIM Uno posnema 8-bitni stroj, so vsi argumenti A, B in C 8-bitne vrednosti, zato lahko obravnava skupni glavni pomnilnik 256 bajtov. Očitno je to mogoče razširiti z večbajtnimi vrednostmi A, B in C. A zaenkrat naj bo preprosto.

KIM Uno ima tudi "zunanje naprave": zaslon in tipkovnico. Za povezovanje teh zunanjih naprav uporablja pomnilniško preslikano arhitekturo, čeprav je pomnilniški zemljevid zelo preprost:

  • 0x00 = register Z (nič) in ga je treba hraniti nič.
  • 0x01 - 0x06 = šest bajtov, ki predstavljajo vrednost vsakega segmenta zaslona (od desne proti levi). Vrednost 0xf - za več podrobnosti glejte izvorno kodo (main.c).
  • 0x07, 0x08, 0x09 = tri bajte, kjer vsak bajt predstavlja dva sedem segmentnih prikazov (od desne proti levi). Te pomnilniške lokacije omogočajo preprosto prikaz rezultata, ne da bi ga razdelili na dva dela, da bi ga postavili v enomestne pomnilniške lokacije 0x01 - 0x06.
  • 0x0a+ = Program se začne pri 0x0a. Trenutno se ključ »Pojdi« izvaja od fiksnega 0x0a.

S temi informacijami lahko zdaj napišete program v asemblerju in vnesete navodila v pomnilnik ter jih nato izvedete. Ker obstaja samo eno navodilo, se vnesejo samo argumenti (A, B in C). Torej po treh pomnilniških lokacijah se začnejo naslednji argumenti navodil in tako naprej.

V priponki k temu koraku najdete datoteko "fibonacci.s" in tudi sliko rokopisnega programa, ki je primer izvedbe Fibonaccija. Toda počakajte: uporabljajo se tri navodila - natančneje ADD, MOV in HLT - ki niso podnapisi. "V čem je posel? Ali nisi rekel, da obstaja samo eno navodilo, subleq?" sprašuješ? To je zelo enostavno: s subleqom lahko zelo enostavno posnemate ta navodila:

MOV a, b - kopiranje podatkov na lokacijah od a do b je lahko sestavljeno iz:

  1. subleq b, b, 2 (naslednje navodilo)
  2. subleq a, Z, 3 (naslednje navodilo)
  3. subleq Z, b, 4 (naslednje navodilo)
  4. podnapis Z, Z, npr. 5 (naslednje navodilo)

Z odštevanjem funkcije subleq, ki naredi mem - mem [a] in prepiše mem z rezultatom, se vrednost kopira z uporabo ničelnega registra. In "subleq Z, Z, …" preprosto ponastavi ničelni register na 0, ne glede na vrednost Z.

ADD a, b - doda vrednosti a + b in shrani vsoto v b, ki je lahko sestavljena iz:

  1. subleq a, Z, 2 (naslednje navodilo)
  2. subleq Z, b, 3 (naslednje navodilo)
  3. podnapis Z, Z, npr. 4 (naslednje navodilo)

To navodilo preprosto izračuna mem - (- mem [a]), ki je mem + mem [a] tudi z uporabo funkcije odštevanja.

HLT - ustavi procesor in konča izvajanje:

Po definiciji emulator ve, da se CPU želi končati, če skoči na 0xff (ali -1, če je spešen). Tako preprosto

podnapis Z, Z, -1

opravi delo in emulatorju pokaže, da naj konča emulacijo.

S temi tremi preprostimi navodili je mogoče implementirati Fibonaccijev algoritem in dobro deluje. To je zato, ker lahko OISC izračuna vse, kar lahko "pravi" računalnik izračuna samo z ukazom subleq. Seveda pa obstaja veliko kompromisov - na primer dolžina in hitrost kode. Kljub temu je to odličen način za učenje in eksperimentiranje s programsko opremo na nizki ravni in računalniki.

Temu koraku je priložen tudi zip arhiv "kim_uno_tools.zip". Vsebuje nekaj osnovnih asemblerjev in simulatorja za KIM Uno. Zapisani so v NodeJS - preverite, ali ste ga namestili.

Sestavljanje programov

Če pogledate "fibonacci/fibonacci.s", boste ugotovili, da je to izvorna koda za obravnavano implementacijo fibonaccija. Če ga želite sestaviti in iz njega narediti program, ki ga lahko izvaja KIM Uno, vnesite naslednji ukaz (v korenu izvlečenega arhiva "kim_uno_tools.zip"):

vozlišče assemble.js fibonacci/fibonacci.s

in natisnil bo napako, če ste naredili napako, ali razlili nastali program. Če ga želite shraniti, lahko kopirate izhod in ga shranite v datoteko ali preprosto zaženete ta ukaz:

vozlišče assemble.js fibonacci/fibonacci.s> yourfile.h

Izhod je oblikovan tako, da ga je mogoče neposredno vključiti v vdelano programsko opremo KIM Uno kot datoteko glave C, simulator pa ga lahko uporabi tudi za simulacijo. Preprosto vnesite:

vozlišče sim.js yourfile.h

Na zaslonu vam bodo predstavljeni rezultati simulacije in pričakovani izhod iz KIM Uno.

To je bil zelo kratek uvod v to orodje; Priporočam, da se z njimi poigrate in pogledate, kako delujejo. Tako pridobite poglobljeno znanje in se naučite načel delovanja za procesorji, navodili, sestavitelji in emulatorji;-)

13. korak: Outlook

Outlook
Outlook
Outlook
Outlook
Outlook
Outlook

Čestitamo

Če ste to prebrali, ste verjetno šli skozi celotno navodilo in zgradili svoj KIM Uno. To je res lepo.

Toda pot se tu ne konča - obstaja neskončno število možnosti, kako lahko spremenite KIM Uno in ga prilagodite svojim potrebam in željam.

Na primer, lahko bi bil KIM Uno opremljen s "pravim" retro emulatorjem CPU -ja, ki bi lahko posnemal slavni MOS 6502 ali Intel 8085, 8086 ali 8088. Potem bi šel pot do moje začetne vizije, preden sem izvedel za OISC.

Obstajajo pa tudi druge možnosti uporabe, saj je zasnova strojne opreme precej splošna. KIM Uno bi lahko uporabljali kot …

  • … Daljinski upravljalnik, npr. za CNC ali druge naprave. Morda žično ali opremljeno z IR diodo ali katerim koli drugim brezžičnim oddajnikom
  • … (Šestnajstiški) žepni kalkulator. Vdelano programsko opremo je mogoče zelo enostavno prilagoditi, obliko plošče pa ni treba zelo spreminjati. Morda je sitotisk mogoče prilagoditi z matematičnimi operacijami in odpraviti vrzel med odseki. Poleg tega je že pripravljen na to preobrazbo

Upam, da ste bili pri spremljanju in izdelavi KIM Uno tako zabavni, kot sem ga jaz oblikoval in načrtoval. Če ga podaljšate ali spremenite - mi sporočite. Na zdravje!

Natečaj PCB
Natečaj PCB
Natečaj PCB
Natečaj PCB

Drugo mesto na natečaju PCB

Priporočena: