Obsah:

The KIM Uno - emulátor mikroprocesorové soupravy 5 €: 13 kroků (s obrázky)
The KIM Uno - emulátor mikroprocesorové soupravy 5 €: 13 kroků (s obrázky)

Video: The KIM Uno - emulátor mikroprocesorové soupravy 5 €: 13 kroků (s obrázky)

Video: The KIM Uno - emulátor mikroprocesorové soupravy 5 €: 13 kroků (s obrázky)
Video: planeTALK | Michael KOLODZIEJ, ATC FRA "We need to look into the future" (С субтитрами) 2024, Červen
Anonim
Image
Image
KIM Uno - emulátor mikroprocesorové vývojové sady 5 €
KIM Uno - emulátor mikroprocesorové vývojové sady 5 €
KIM Uno - emulátor mikroprocesorové vývojové sady 5 €
KIM Uno - emulátor mikroprocesorové vývojové sady 5 €

KIM Uno je přenosná softwarově definovaná sada pro (retro) mikroprocesory. Dovolte mi však představit myšlenku toho, že se vrátím v čase:

Koncem roku 2018 mě napadlo, že jsem chtěl postavit malou přenosnou mikroprocesorovou vývojovou sadu, stejně jako slavný KIM-1 od MOS Technology, Inc. a kterou navrhl Chuck Peddle, který se také podílel na vytváření CPU 6502.

Vybudovat vývojářskou soupravu „s holými kostmi“s diskrétními logickými komponentami však nebylo možné, protože to vyžadovalo velké napájení (protože tato starodávná zařízení mají tendenci odebírat vážný proud) a také vývoj by byl velmi časově náročný. A já to chci hned!

Proto jsem KIM Uno navrhl jako přenosné zařízení, které padne do jedné ruky a je napájeno dvěma bateriemi CR2032. K emulaci (nebo simulaci) požadovaného procesoru využívá mikrokontrolér ATMega328p („Arduino“) běžící na frekvenci 8 MHz. Tato architektura také zajišťuje, že emulované CPU jsou zaměnitelné za cokoli, co se vejde do flash paměti mikrokontroléru. Jedná se tedy o víceúčelové zařízení.

Shodou okolností jsem později sledoval opravdu dobrý rozhovor - nazvaný The Ultimate Apollo Guidance Computer Talk (34C3) - na YouTube, kde jsou zmíněny „One Instruction Set Computers“neboli OISC. Nevěděl jsem o nich a našel jsem to jako ideálního kandidáta na jeho implementaci.

KIM Uno emuluje CPU s jedinou instrukcí: subleq - odečíst a rozvětvit, pokud je menší nebo roven nule.

Pokud se mnou budete postupovat prostřednictvím tohoto Instructable, můžete si během chvilky postavit vlastní KIM Uno. A nejlepší na tom je - kromě toho, že si jej můžete upravit podle svého vkusu -, že jeho výroba stojí pouze 4, 75 EUR (ke konci roku 2018).

Jedna rada: existuje úložiště Git, které obsahuje všechny soubory poskytnuté různými kroky tohoto instruktu. V případě, že chcete upravit některé zdroje a sdílet je s námi, můžete si vytvořit PR. Můžete si tam ale také stáhnout všechny soubory najednou. Jednoduše na https://github.com/maxstrauch/kim-uno. Dík!

Existuje ještě jeden docela zajímavý projekt, nazvaný stejný (KIM Uno), který dělá skutečnou repliku 6502 KIM Uno. Podívejte se na to zde. Tvůrce stavebnici dokonce prodává. Pokud vás tedy 6502 zajímá a líbí se vám tento projekt, měli byste se tam podívat!

Krok 1: Získání PCB

Získávání PCB
Získávání PCB
Získávání PCB
Získávání PCB

Jak vidíte, využil jsem příležitosti navrhnout DPS a nechat jej profesionálně vyrobit. Vzhledem k tomu, že jeho externí výroba a doručení vám zabere spoustu času (v závislosti na tom, kde se na světě nacházíte;-)), je jeho objednání prvním krokem. Poté můžeme pokračovat v dalších krocích, zatímco je deska plošných spojů vyrobena a odeslána k vám.

Objednal jsem si své PCB v Číně na PCBWay za pouhých 5 $. Nemám žádný prospěch z představení PCBWay jako mého výrobce pro PCB, je to jen to, že to fungovalo dobře pro mě a může také fungovat dobře pro vás. Můžete si je ale objednat na jakémkoli jiném místě, jako je JLCPCB, OSH Park nebo jakákoli místní společnost s plošnými spoji.

Pokud jste si je ale ochotni objednat na PCBWay, můžete si stáhnout přiložený ZIP soubor „kim-uno-rev1_2018-12-12_gerbers.zip“a nahrát jej přímo do PCBWay beze změny. Toto je původní soubor, který jsem použil k objednání desek plošných spojů, které můžete vidět na obrázcích.

Pokud je objednáváte od jiného výrobce, možná je budete muset znovu exportovat z původních zdrojů KiCad, protože jsem je vygeneroval se specifikacemi z PCBWay, které najdete zde. Pro původní zdroje KiCad si stáhněte „kim-uno-kicad-sources.zip“a rozbalte jej.

Existuje ale i druhý způsob: pokud si PCB nechcete objednat, můžete si postavit vlastní verzi pomocí perfboardu nebo dokonce breadboardu.

Každopádně: protože PCB jsou nyní na cestě, můžeme se soustředit na ostatní části! Pojď, následuj mě.

Krok 2: Získávání komponent

Získávání komponent
Získávání komponent
Získávání komponent
Získávání komponent
Získávání komponent
Získávání komponent

Nyní musíte získat součásti. K tomu najdete souhrnný obrázek všech komponent a množství, který potřebujete, připojený k tomuto kroku a kusovník (kusovník).

Kusovník obsahuje odkazy na eBay. Ačkoli tyto nabídky mohou být uzavřeny, když si to přečtete, můžete to použít jako výchozí bod. Použité komponenty jsou celkem standardní.

V následujícím textu vám vysvětlím všechny potřebné součásti:

  • 7x 1 kΩ odpory pro sedm segmentových displejů. Hodnotu (např. Na 470 Ω) můžete snížit, aby svítily jasněji, ale nesnižujte ji příliš, jinak LED diody vybijí nebo se baterie rychle vybije. Zjistil jsem, že tato hodnota pro mě funguje
  • 1x 10 kΩ jako pull-up rezistor pro linku RESET mikrokontroléru
  • 1x 100nF kondenzátor pro vyhlazení případných špiček napětí (což by se nemělo stát, protože používáme baterie, správně, ale pro dobrou míru …)
  • 1x ATMega328P v balíčku DIP-28 (obvykle s názvem ATMega328P-PU)
  • 1x hlavní DPS - viz předchozí krok; buď objednáno, nebo postaveno vlastními silami
  • 2x držáky baterie CR2032
  • 1x přepínač SPDT (jednopólový, dvojitý vrh), který má v zásadě tři kontakty a v každém ze dvou stavů (buď zapnuto nebo vypnuto) spojuje dva kontakty
  • 20x hmatová tlačítka na klávesnici. Chcete -li použít zadní stranu desky plošných spojů, použil jsem hmatová tlačítka SMD (standardní tlačítka 6x6x6 mm) - lze je snadno pájet, jak uvidíte
  • VOLITELNÉ: 1 x 6 pinový konektor pro připojení programátoru, ale to je volitelné, jak uvidíte později
  • 1x sedmisegmentový displej se 4 číslicemi a 1x sedmisegmentový displej se 2 číslicemi - deska bude mít pouze prvky 0,36 palce (9, 14 mm) se společným anodovým zapojením. Oba požadavky jsou důležité pro získání pracovní jednotky. Ale také tento typ sedmisegmentového displeje je velmi běžný

K tomuto kroku je připojen soubor „component-datasheets.zip“, který obsahuje přesnější informace o rozměrech a typech použitých komponent. Většina součástí je však velmi standardní a lze je snadno získat za málo peněz.

Nyní musíte počkat, až budete mít všechny součásti připravené pokračovat v pájení. Během této doby už můžete přeskočit na konec a přečíst si něco o používání KIM Uno, pokud chcete.

Krok 3: Přehled pájecího nástroje

Přehled pájecího nástroje
Přehled pájecího nástroje
Přehled pájecího nástroje
Přehled pájecího nástroje

Pro pájení a stavbu KIM Uno potřebujete nástroje zobrazené na obrázcích:

  • Řezačka drátu (k ořezání konce vodičů součásti)
  • Ploché kleště
  • Dvojice pinzety
  • (slušná) Pájka, která není příliš silná - používám pájku 0,56 mm
  • Páječka - nepotřebujete špičkovou páječku (protože zde také neděláme raketovou vědu) - Ersa FineTip 260 používám již delší dobu a je opravdu dobrá
  • Tavné pero: přidání tavidla do součástí a podložek usnadňuje jejich pájení, protože pájka pak „teče“sama na správné místo*
  • Volitelně: houba (z metalwoolu) pro vaši páječku

K pozdějšímu naprogramování KIM Uno budete také potřebovat:

  • počítač s řetězcem nástrojů AVR-GCC a ochotný nahrát firmware
  • ISP (programátor) - jak vidíte na obrázku, používám svůj Arduino Uno jako ISP se speciálním náčrtem - takže není třeba kupovat žádný efektní hardware

* je potřeba nějaké vedení od lidí;-)

Jsi připraven? V dalším kroku se pustíme do montáže KIM Uno.

Krok 4: Pájení č. 1: Přidání rezistorů a kondenzátorů

Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů
Pájení č. 1: Přidání rezistorů a kondenzátorů

Vždy byste měli pracovat nejprve od nejmenších (pokud jde o výšku součásti) komponent až po nejvyšší komponenty jako poslední. Proto začneme přidáním odporů a ohnutím přes nohy vzadu, aby se odpory snadno pájily a zůstaly na svém místě. Poté dlouhé dráty přestřihněte.

Také není na obrázcích zobrazeno, přidejte malý kondenzátor 100 nF stejným způsobem.

Jedna rada: držte ty drátěné nohy v malém kontejneru, někdy přijdou vhod.

Krok 5: Pájení č. 2: Sestavení klávesnice

Pájení č. 2: Sestavení klávesnice
Pájení č. 2: Sestavení klávesnice
Pájení č. 2: Sestavení klávesnice
Pájení č. 2: Sestavení klávesnice
Pájení č. 2: Sestavení klávesnice
Pájení č. 2: Sestavení klávesnice

Dalším krokem je pájení 20 hmatových spínačů SMD. Protože je tato práce trochu hloupá, děláme ji nyní, když PCB leží na pracovním stole.

Budeme pracovat shora dolů (nebo zleva doprava, pokud je deska plošných spojů orientována tak, jak je znázorněno na fotografiích) a začneme první řadou: pro každý spínač vyberte jednu ze čtyř podložek a namočte ji tavným perem.

Poté pomocí pinzety uchopte vypínač a opatrně jej umístěte na čtyři podložky. Poté připájejte pouze nohu spínače, která je na podložce, kterou jste vybrali a připravili tavidlem. Za tímto účelem byste měli před začátkem „uchopit“žehličku. Pomocí této metody dokončete celou řadu přepínačů a připájejte pouze jednu nohu.

Obrázek se šipkami ukazuje zvětšení, jak bylo pájení provedeno přesně.

Poté, co jste pájili celý řádek (pouze jeden pin), můžete provést malé úpravy zahřátím kolíku zpět a přemístěním přepínače. Ujistěte se, že jsou přepínače zarovnány co nejlépe.

Pokud jste se zarovnáním spokojeni, můžete všechny ostatní kolíky navlhčit tavným perem a poté je pájet tak, že se ho dotknete páječkou a přidáte trochu pájky také dotykem. Uvidíte, že pájka je nasávána přímo na podložku.

Po pájení řady nebo tak nějak si všimnete, že vám to dojde a není to tak těžké, ale opakující se. Udělejte tedy zbytek a během chvilky skončíte s hotovou klávesnicí.

Krok 6: Pájení #3: Sedmi segmentový displej, přepínač a záhlaví kolíku

Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku
Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku
Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku
Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku
Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku
Pájení č. 3: Sedmisegmentový displej, přepínač a záhlaví kolíku

Nyní můžete přidat přepínač a záhlaví kolíku (volitelně) tak, že ho přidržíte prstem a pájíte jeden kolík, abyste jej přidrželi na desce plošných spojů, abyste mohli pájet ostatní piny a nakonec opravit počáteční přidržovací kolík.

Dávejte si pozor, abyste se nespálili horkou páječkou. Pokud vám to není příjemné, můžete použít trochu pásky (např. Malířské pásky) k přidržení součásti. Tímto způsobem máte obě ruce volné k pohybu.

Sedm segmentových displejů je připájeno stejným způsobem (viz obrázek): vložíte jej, přidržíte rukou nebo páskou a pájíte dva protilehlé piny, aby držel na místě, zatímco ostatní piny můžete pájet.

Buďte ale opatrní a sedmisegmentový displej umístěte správným směrem (s desetinnými tečkami směřujícími na klávesnici). Jinak máte potíže…

Krok 7: Pájení #4: Pájení mikrokontroléru

Pájení č. 4: Pájení mikrokontroléru
Pájení č. 4: Pájení mikrokontroléru

Nyní, když máte spoustu praxe, můžete pokračovat a nasadit mikrokontrolér zářezem nahoře (nebo prvním kolíku) směrem k přepínači. Pomocí plochých kleští můžete opatrně trochu ohnout nohy mikrokontroléru tak, aby odpovídaly otvorům na desce plošných spojů.

Jelikož pevně sedí, potřebujete k vložení mikrokontroléru určitou kontrolovanou sílu. Výhodou je, že nevypadne. To znamená, že si můžete udělat čas a připájet ho zezadu.

Krok 8: Pájení #5: Přidejte držáky baterie (poslední krok)

Pájení č. 5: Přidejte držáky baterie (poslední krok)
Pájení č. 5: Přidejte držáky baterie (poslední krok)
Pájení č. 5: Přidejte držáky baterie (poslední krok)
Pájení č. 5: Přidejte držáky baterie (poslední krok)
Pájení č. 5: Přidejte držáky baterie (poslední krok)
Pájení č. 5: Přidejte držáky baterie (poslední krok)

Nakonec je třeba na zadní stranu přidat držáky baterie. K tomu jednoduše použijete tavné pero, namočíte všechny čtyři podložky a poté na svou žehličku nanesete pájku. Opatrně zarovnejte držák baterie na obou podložkách. Na obou koncích kontaktů by mělo být viditelné stejné množství desky plošných spojů. Dotkněte se žehlicí podložkou PCB a nohou držáku baterie. Pájka bude proudit pod podložku a přes ni a zajistí ji na místě, jak je znázorněno na obrázku. Pokud s tím máte problémy, můžete přidat další tok perem.

Krok 9: Blikající emulátor

Bliká emulátor
Bliká emulátor
Bliká emulátor
Bliká emulátor
Bliká emulátor
Bliká emulátor

V přiloženém zip archivu „kim-uno-firmware.zip“najdete zdrojový kód emulátoru spolu s již zkompilovaným „main.hex“, který můžete přímo nahrát do mikrokontroléru.

Než ji budete moci skutečně použít, musíte nastavit pojistkové bity mikrokontroléru tak, aby používaly vnitřní hodiny 8 MHz, aniž by je dělily na polovinu. Úlohu můžete dokončit pomocí následujícího příkazu:

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

Pokud neznáte avrdude: je to program pro nahrávání programů do mikrokontroléru. Více se o tom můžete dozvědět zde. V zásadě jej nainstalujete a poté je připraven k použití. Pro nastavení budete možná muset změnit argument „-P“na jiný sériový port. Zkontrolujte na počítači, který sériový port je použit (např. Uvnitř Arduino IDE).

Poté můžete firmware nahrát na mikrokontrolér pomocí tohoto příkazu:

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

Opět: pro „-P“platí totéž, co výše.

Jelikož nevlastním „profesionálního“ISP (In-System Programmer), vždy používám Arduino UNO (viz obrázek) a náčrt, který jsem připojil („arduino-isp.ino“, od Randall Bohn). Vím, že existuje novější verze, ale s touto verzí jsem měl za posledních pět let nulové potíže, takže si ji nechávám. Prostě to funguje. Pomocí komentáře v záhlaví skici získáte pinout na Arduino UNO a pomocí schématu KIM Uno (viz příloha) můžete získat pinout záhlaví ISP 1x6 na KIM Uno. Čtvercový kolík v blízkosti sedmisegmentového displeje je pin 1 (GND). Následující piny jsou (ve správném pořadí): RESET, MOSI, MISO, SCK, VCC. VCC můžete připojit buď na 3V3, nebo na 5V.

Pokud jste nepřidali záhlaví 1 × 6 pinů, můžete použít žiletkové dráty a zasunout je do spojovacích otvorů a natočit je prstem - stejně jako na obrázku. Tím je zajištěn dostatečný kontakt pro aktualizaci firmwaru a nastavení pojistek. Pokud však máte rádi trvalejší nastavení, určitě byste měli přidat záhlaví 1 × 6 pinů.

Mám dvě zařízení: produkční verzi bez záhlaví pinů a vývojovou verzi s hlavičkami pinů, které nechávám připojené a používám je během vývoje znovu a znovu. To je mnohem pohodlnější.

Krok 10: Hotovo

Hotovo
Hotovo
Hotovo
Hotovo

Nyní jste hotovi a můžete začít psát své vlastní programy subleq na papír, sestavovat je a poté zadávat do paměti.

KIM Uno je dodáván s předprogramovaným Fibonacciho výpočtem začínajícím na paměťovém místě 0x0a. Ve výchozím nastavení je nastaveno na n = 6, takže výsledkem by měla být hodnota 8. Výpočet zahájíte stisknutím „Přejít“.

Krok 11: Analýza návrhu PCB

Analýza návrhu DPS
Analýza návrhu DPS
Analýza návrhu DPS
Analýza návrhu DPS

Po dokončení tohoto projektu jsem našel několik bodů, které stojí za zmínku a měly by být řešeny v nové revizi desky:

  • hedvábná obrazovka ATMega328p nemá obvyklý zářez, kde je umístěn první kolík. Stopa DIP-28 nemá ani čtvercovou podložku, kde je umístěn první kolík. To by rozhodně mělo být vylepšeno podrobnějším sítotiskem, aby nedošlo k záměně
  • hlavička ISP nemá na sítotisku žádné popisky připojení. To ztěžuje rozpoznání, jak jej připojit k ISP
  • hlavička ISP by mohla být změněna na hlavičku 2x6 pinů se standardním rozložením pinů, aby se předešlo nejasnostem

Kromě těchto bodů jsem docela rád, jak to dopadlo a fungovalo na první pokus.

Krok 12: Jak naprogramovat SUBLEQ?

Image
Image
Jak programovat SUBLEQ?
Jak programovat SUBLEQ?
Jak programovat SUBLEQ?
Jak programovat SUBLEQ?

Jak již bylo zmíněno na začátku, aktuální firmware KIM Uno emuluje One Instruction Set Computer (OISC) a poskytuje instrukci subleq k provedení výpočtu.

Instrukce subleq znamená odčítání a větvení, pokud je menší nebo rovna nule. V pseudokódu to vypadá následovně:

subleq A B C mem [B] = mem [B] - mem [A]; if (mem [B] <= 0) přejděte na C;

Protože KIM Uno emuluje 8bitový stroj, všechny argumenty A, B a C jsou 8bitové hodnoty, a proto může adresovat celkovou hlavní paměť 256 bajtů. Očividně to lze rozšířit vytvořením vícebajtových hodnot A, B a C. Ale teď to pojďme zjednodušit.

KIM Uno má také „periferie“: displej a klávesnici. K propojení těchto periferií používá architekturu mapovanou v paměti, ačkoli mapa paměti je velmi jednoduchá:

  • 0x00 = registr Z (nula) a měl by být zachován nula.
  • 0x01 - 0x06 = šest bajtů, které představují hodnotu každého ze segmentů zobrazení (zprava doleva). Hodnota 0xf - další podrobnosti viz zdrojový kód (main.c).
  • 0x07, 0x08, 0x09 = tři bajty, kde každý bajt představuje dva sedm segmentových displejů (zprava doleva). Tato paměťová místa umožňují jednoduše zobrazit výsledek bez rozdělení výsledku na dvě kousky a umístit jej do jednociferných paměťových míst 0x01 - 0x06.
  • 0x0a+ = Program začíná na 0x0a. V současné době je klíč „Go“spuštěn od 0x0a opraven.

S těmito informacemi lze nyní napsat program v assembleru, zadat instrukce do paměti a poté je spustit. Protože existuje pouze jedna instrukce, zadávají se pouze argumenty (A, B a C). Takže po třech paměťových místech začínají další argumenty instrukce a tak dále.

V příloze k tomuto kroku najdete soubor „fibonacci.s“a také obrázek ručně psaného programu, který je příkladem implementace Fibonacci. Ale počkejte: jsou použity tři instrukce - konkrétně ADD, MOV a HLT - které nejsou dostačující. „O co jde? Neříkal jsi, že existuje pouze jeden pokyn, subleq?“ptáš se? Je to velmi snadné: pomocí subleq lze tyto pokyny velmi snadno napodobit:

MOV a, b - data kopírování v místě a až b mohou být složena z:

  1. subleq b, b, 2 (další instrukce)
  2. subleq a, Z, 3 (další instrukce)
  3. subleq Z, b, 4 (další instrukce)
  4. subleq Z, Z, např. 5 (další instrukce)

Pomocí funkce odčítání subleq, která dělá mem - mem [a] a přepíše mem s výsledkem, je hodnota zkopírována pomocí nulového registru. A „subleq Z, Z, …“jednoduše resetuje nulový registr na 0, bez ohledu na hodnotu Z.

PŘIDAT a, b - sečte hodnoty a + b a uloží součet do b může být složen z:

  1. subleq a, Z, 2 (další instrukce)
  2. subleq Z, b, 3 (další instrukce)
  3. subleq Z, Z, např. 4 (další instrukce)

Tato instrukce jednoduše vypočítá mem - (- mem [a]), což je mem + mem [a], také pomocí funkce odčítání.

HLT - zastaví CPU a ukončí provádění:

Podle definice emulátor ví, že CPU chce ukončit, pokud skočí na 0xff (nebo -1, pokud je zazpíván). Takže jednoduché

subleq Z, Z, -1

odvede práci a indikuje emulátoru, že by měl emulaci ukončit.

Pomocí těchto tří jednoduchých pokynů lze implementovat Fibonacciho algoritmus a funguje dobře. To proto, že OISC dokáže vypočítat vše, co „skutečný“počítač dokáže vypočítat, pouze s instrukcí subleq. Ale samozřejmě existuje mnoho kompromisů, jako je délka a rychlost kódu. Ale přesto je to skvělý způsob, jak se učit a experimentovat se softwarovým programováním na nízké úrovni a počítači.

K tomuto kroku můžete připojit také zip archiv „kim_uno_tools.zip“. Obsahuje základní assembler a simulátor pro KIM Uno. Jsou napsány v NodeJS - ujistěte se, že jste jej nainstalovali.

Sestavování programů

Když se podíváte na „fibonacci/fibonacci.s“, zjistíte, že se jedná o zdrojový kód diskutované implementace fibonacci. Chcete -li jej sestavit a vytvořit z něj program, který může spustit KIM Uno, zadejte následující příkaz (do kořenového adresáře extrahovaného archivu „kim_uno_tools.zip“):

uzel sestavit.js fibonacci/fibonacci.s

a buď vytiskne chybu, pokud jste udělali chybu, nebo vysype výsledný program. Chcete -li jej uložit, můžete zkopírovat výstup a uložit jej do souboru nebo jednoduše spustit tento příkaz:

uzel sestavit.js fibonacci/fibonacci.s> váš soubor.h

Výstup je naformátován tak, že jej lze přímo zahrnout do firmwaru KIM Uno jako soubor záhlaví C, ale simulátor jej může použít také k simulaci. Jednoduše zadejte:

uzel sim.js yourfile.h

A na displeji se vám zobrazí výsledek simulace a výstup očekávaný od KIM Uno.

Toto byl velmi stručný úvod do těchto nástrojů; Doporučuji vám si s nimi pohrát a podívat se, jak fungují. Tímto způsobem získáte hluboké znalosti a naučíte se principy fungování CPU, instrukcí, assemblerů a emulátorů;-)

Krok 13: Výhled

Výhled
Výhled
Výhled
Výhled
Výhled
Výhled

Gratulujeme

Pokud jste si to přečetli, pravděpodobně jste prošli celým tímto návodem a postavili jste si vlastní KIM Uno. To je opravdu pěkné.

Tím ale cesta nekončí - existuje nekonečné množství možností, jak byste mohli KIM Uno upravit a přizpůsobit ho svým potřebám a vkusu.

Například KIM Uno mohl být vybaven „skutečným“retro emulátorem CPU, který by mohl emulovat slavný MOS 6502 nebo Intel 8085, 8086 nebo 8088. Pak by to šlo cestou k mé počáteční vizi, než jsem se dozvěděl o OISC.

Existují však i jiná použití, protože design hardwaru je dosti obecný. KIM Uno lze použít jako …

  • … Dálkový ovladač, např. pro CNC nebo jiná zařízení. Možná kabelové nebo vybavené infračervenou diodou nebo jiným bezdrátovým vysílačem
  • … Kapesní kalkulačka (hexadecimální). Firmware lze velmi snadno přizpůsobit a design desky není třeba příliš měnit. Možná lze sítotisk přizpůsobit matematickými operacemi a mezeru mezi segmenty lze odstranit. Kromě toho je již připraven na tuto transformaci

Doufám, že jste se při sledování a budování KIM Uno bavili stejně jako já při jeho navrhování a plánování. A pokud ji rozšíříte nebo upravíte - dejte mi prosím vědět. Na zdraví!

Soutěž o PCB
Soutěž o PCB
Soutěž o PCB
Soutěž o PCB

Runner Up v PCB Contest

Doporučuje: