Innehållsförteckning:

Z80-MBC2 Programmering av Atmega32a: 6 steg
Z80-MBC2 Programmering av Atmega32a: 6 steg

Video: Z80-MBC2 Programmering av Atmega32a: 6 steg

Video: Z80-MBC2 Programmering av Atmega32a: 6 steg
Video: Z80-MBC2: Z80 homebrew computer playing Startrek with CP/M 2024, Juli
Anonim
Z80-MBC2 Programmering av Atmega32a
Z80-MBC2 Programmering av Atmega32a

Innan du kan använda z80-MBC2, efter att du har byggt den, måste du programmera Atmeg32. Denna instruktion visar dig hur du använder en billig arduino mini som programmerare för att ladda upp koden.

Tillbehör:

Din z80-MBC2-skiva snygg och nybyggd redo för atmega32a

En arduino mini (eller någon version du har kvar)

Programvaran för atmega32 från

Lägg till stöd för Atmega32 -chipet från

Steg 1: Programmeraren

Programmeraren
Programmeraren
Programmeraren
Programmeraren

Jag använde en dedikerad Arduino miniklon. Jag byggde in det i en ICSP -programmerare för länge sedan och använder det för alla slags. Laddar mestadels startlastare (som vi kommer nu)

Du kan skapa din egen version antingen dedikerad eller tillfällig med valfritt Arduino -kort (328A eller högre). Du programmerar din tavla med Arduino-IDE. Programvaran för ICSP -programmeraren finns under filen, exempelmenyn, leta efter ArduinoISP. Öppna exemplet och ladda upp programmet till din tavla.

Därefter måste du ansluta följande stift till ICSP -huvudet på MBC2. Använd 6 hona-till-hane eller hona-till-hona, beroende på vilken arduino du använder, kontaktledningar, anslutna så här (se även pinout ovan).

För vissa Arduino -brädor kan stiften variera, läs anteckningarna högst upp på skissen du just laddade upp eller se https://www.arduino.cc/en/Tutorial/BuiltInExample… det finns många fler sidor för att hjälpa dig att identifiera rätt stift.

Arduino Namn ICSP

10 Återställ 5 11 MOSI 4 12 MISO 1 13 SCK 3 GND Gnd 6 +5v Vcc 2

Steg 2: Anslutning till Z80-mbc2

Ansluter till Z80-mbc2
Ansluter till Z80-mbc2

Titta noga på MBC2 -kortet för att identifiera stift 1 (MISO) på ICSP. Anslut dina ledningar från den programmerade Arduino Mini till varje stift på MBC2 -rubriken.

VIKTIGT: Ta bort SD-CARD- och REAL TIME CLOCK-modulerna innan du sätter igång kortet. Koppla också bort eventuella USB -seriella anslutningar du kan ha. De enda anslutningarna till MBC2 är till ICSP -huvudet.

Steg 3: Lägg till support för Atmega32 Chip

Det är nu dags att ladda ner supportpaketet för atmega32, du kan använda styrhanteraren enligt beskrivningen på utvecklarens github-webbplats

Så här:

  • Öppna Arduino IDE
  • Öppna menyalternativet Arkiv> Inställningar Ange följande URL i Extra Boards Manager
  • Webbadresser:
  • Öppna menyalternativet Tools> Board> Boards Manager….
  • Vänta på att plattformsindexen har laddats ner.
  • Bläddra ner eller använd sökalternativet för att hitta MightyCore tills du ser MightyCore -posten och klicka på den.
  • Klicka på Installera.
  • När installationen är klar stänger du Boards Manager -fönstret.

Steg 4: Bränn Boot Loader

Bränn Boot Loader
Bränn Boot Loader
Bränn Boot Loader
Bränn Boot Loader

Innan du väljer Atmega32, se till att du har valt programmeraren att använda,

Verktygsmeny, Programmerare, välj arduino som ISP

Du kan nu använda Arduino-IDE för att välja Atmega32-chipet redo att ladda upp startladdaren.

På menyn Verktyg väljer du Board, MightyCore och sedan Atmega32

Nu ska du kunna ladda upp startladdaren,

Välj Verktyg, Burn Bootloader

När den är klar ska den gröna lysdioden göra en dubbelblixt, detta indikerar att startladdaren väntar på att få veta vad den ska starta. Du kan behöva trycka på reset för att få detta.

Du är redo att ladda upp den faktiska skissen som används i MBC2 -kortet, nu är bootloader installerad, du kan ladda upp MBC2 -programvaran direkt till den, nu har du en bootloader, du kan också ladda upp eventuella framtida uppgraderingar med hjälp av stegen nedan.

Stäng av (koppla bort programmeraren) återanslut din USB-seriekabel. Du behöver inte använda ISP -programmeraren för att slutföra uppladdningen från och med nu.

Steg 5: Programmera MBC2 -programvaran

Programmera MBC2 -programvaran
Programmera MBC2 -programvaran
Programmera MBC2 -programvaran
Programmera MBC2 -programvaran
Programmera MBC2 -programvaran
Programmera MBC2 -programvaran

Hämta den senaste versionen av programvaran från

Det kommer att heta något liknande, S220718-R240620_IOS-Z80-MBC2.zip. Det finns två versioner, den här och den som kallas 'lite', den lite stöder inte uppstart från SD-kortet.

När du packar upp den, se till att allt finns i en mapp med samma namn som zip -filen, detta är standard för de flesta uppackningsprogram.

Öppna ino -filen i Arduino IDE

Se till att du har rätt tavla valt i menyn Verktyg, ombord. Atmega32. Kontrollera också att USB -porten är vald och att de korrekta standardinställningarna är som bilden ovan.

Du kan nu klicka -> (kompilera och ladda upp) för att programmera Atmega32a.

Klart

Steg 6: Felsökning och kommentarer

Än så länge, Jag har använt tre olika varianter och lyckats få den här tekniken att fungera alla, men en del krävde extra arbete:

Mini klon:

Fungerar som det är eller i alla fall min!

Mikroklon:

Inte säker på att detta är en officiell styrelse. det är i princip en mini men utan inbyggd USB -adapter. Detta verkar ha återställningsproblemet. Du kan lämna DTR -kabeln från USB/TTL -adaptern frånkopplad och förhindra återställning.

arduino duemilanove:

Återigen har detta kort återställningsfrågan, och som många andra redan har sagt måste du lägga till en 10-25uf kondensator mellan återställningsstiftet på kortet och marken.

Strömfråga:

Vissa kloner verkar inte ge tillräckligt med ström på 5v-strömförsörjningen för att driva Z80-mbc2 och sig själva vilket resulterar i slumpmässiga fel. Det är den huvudsakliga självstudien det föreslås att du inte ansluter usb/ttl -enheten under programmeringen (huvud -ttl -kontakten är inte den på programmeraren). Men för att hjälpa till med ström kan du ansluta detta, men bara +5v och 0v stiften, sedan anslut båda usb -kontakterna till värddatorn. Detta kan hjälpa till med slumpmässiga fel.

Rekommenderad: