Programmeren configuratiegeheugen

Discussies over FPGA-module en experimenteerbord

Postby nicodv » Thu May 31, 2007 12:00 am

Geplaatst door:nutson op 29-5-2006 18:19:28
Werkt, bedankt! Mijn FPGA module start nu stand-alone met ex-9. Na power-on alleen nog S1 indrukken om de 8052 processor te resetten. Hoe hebben we kunnen twijfelen. Ik wil de Elektuur redactie een compliment maken voor deze zeer interessante bouw set en serie artikelen. Fascinerende techniek met heel veel mogelijkheden.

Nico Hattink



Het is me ondertussen ook al gelukt om de PROM te programmeren, maar hoe kan de software (hex file) van de 8052 ook permanent in de chip krijgen?
nicodv
 
Posts: 7
Joined: Thu Jan 02, 2014 3:43 pm

Postby Guest » Fri Jul 06, 2007 12:00 am

Hallo,

Mooi om te horen dat het is gelukt. De voorbeelden in de cursus geven aan hoe dat moet. Als je in Quartus aangeeft dat een stuk geheugen gevuld meot worden met data, dan zal deze data ook automatisch in het programmeerbestand terecht komen.

Kijk maar eens naar onze voorbeelden met 8051-processor erin. Als je van deze voorbeelden een programmeerbestand maakt en het configuratiegeheugen programmeert, dan zal ook je firmware hierin staan.

Mocht het allemaal niet lukken, laat het dan even horen.

Groeten,
Paul
Guest
 

Postby nicodv » Fri Sep 05, 2008 12:00 am

paulgoossens1Hoe dit precies moet, staat hier te lezen : http://www.elektuur.nl/Default.aspx?tabid=145


Bovenstaande link werkt niet meer.
Kan iemand mij uitleggen hoe het werkt om de firmware "stand alone" in het geheugen te laden?
nicodv
 
Posts: 7
Joined: Thu Jan 02, 2014 3:43 pm

Postby Guest » Tue Sep 09, 2008 12:00 am

Hallo,

Waar de pagina is gebleven is mij ook nog niet duidelijk. Vandaar een beknopte uitleg hieronder.

Ik ga ervan uit dat je een programmeer bestand hebt met de naam "test.sof". Dit is gewoon je programmeer bestand waarmee je via JTAG je FPGA direkt kan configureren (programmeren).

Converteren

In Quartus kies je het menu "File" en daarna "Convert Programming Files". Nu opent een nieuw venster, waarin we e.e.a. moeten instellen.
Allereerst moeten we de Configuration Device instellen. In de FPGA-unit hebben we een EPCS4-chip als configuration device. In het veld "Configuration Device" kiezen we daarom voor "EPCS4".

De grote truuk die we gaan toepassen is dat we de FPGA zelf gaan gebruiken als programmeerapparaat voor het configuratie-ROM. Daarom moeten we in het veld "Programming file type" kiezen voor "JTAG Indirect Programming File (.jic)".

Onder het kopje "Input Files to Convert" selecteren we "Flash loader". Klik daarna op "Add Device" en selecteer de juiste FPGA (EP1C12).

Onder hetzelfde kopje ("Input Files to Convert") selecteren we "SOF Data" en klikken vervolgens op "Add File". In het nieuwe venster selecteren we het bestand "test.sof".

Als laatste stap in dit venster klikken we op "Generate". Het bestand "output_file.jic" wordt nu aangemaakt.

Het programmeren :


Ga naar de programmer en verwijder alle bestanden die hij eventueel al heeft geopend om te programmeren. Klik nu op "Add File" en selecteer het zojuist gemaakte "output_file.jic".

In tegenstelling tot de normale situatie, hebben we nu 2 regels onder elkaar in het schem staan. De onderste regel bepaalt wat we moeten doen met het configuratie-rom. Allereerst moeten we het rom wissen. Selecteer daarom het vakje "Erase" op de regel die begint met "EPCS4". Druk hierna op start. Nadat de programmer klaar is, zal het configuratie-rom leeg zijn.

Nu komen we toe aan datgene wat we uiteindelijk van plan zijn : Het programmeren van het configuratie-rom. Selecteer in de regel die begint met "EPCS4" het vakje "Program/Configure". Druk nogmaals op "Start", en de programmer zal via de JTAG-interface en de FPGA, het configuratie-rom programmeren.

Hoop dat deze short-handleiding je verder helpt!

Groeten,
Paul
Guest
 

Postby nicodv » Wed Sep 17, 2008 12:00 am

Dit is al 1 stap, nu is de hardware al geconfigureerd bij opstart, maar wat met de software? Bijv. ex9 (4 kanaals multimeter), hoe kan je de software (firmware.hex) ook onthouden in de chip zodat die bij opstart beschikbaar is en start?
nicodv
 
Posts: 7
Joined: Thu Jan 02, 2014 3:43 pm

Postby Guest » Fri Sep 19, 2008 12:00 am

Hallo,

Het is goed om te horen dat het programmeren is gelukt.
De volgende stap (firmware in geheugen laden) is eigenlijk heel erg simpel.
In je ontwerp heb je hoogstwaarschijnlijk gebruik gemaakt van de "MegaWizard-Plugin Manager". Dit is in het geval van de voorbeelden van de FPGA-cursus de manier waarop we het geheugen definieren.

In deze wizard kan je aangeven welke .HEX-file in het geheugen moet worden geplaats. Na compilatie zit de inhoud van deze hex-file al in het programmeerbestand. Dit is eenvoudig te controleren door de FPGA te configureren via JTAG. Indien je programma automatisch start, dan betekent dit dat het programma ook al in het interne geheugen is geladen.

Als je dit programmeerbestand op de normale manier (zie vorige bericht) converteert naar een programmeerbestand voor het configuratie-rom, dan is de volgende keer dat je de FPGA-unit opstart de FPGA geconfigureerd, inclusief de juiste inhoud voor het interne geheugen.

Kijk bijvoorbeeld maar eens naar het voorbeeld "ex24" van de FPGA-cursus. In hierarchische lijst zoek je naar een component met de naam "T8052", onder deze component vindt je het geheugen met de naam "rom_cyclone 14k" . Dubbelklik hierop, en je ziet de MegaWizard Plug-in Manager verschijnen. Klik nu vier maal op de knop NEXT. In dit venster kan je de initieele inhoud van het geheugen specificeren. (Zie bijlage) Als je het vinkje "Yes, use this file for the memory content data" en daaronder de locatie en naam van de hex-file invult, dan zal de compiler ervoor zorgen dat bij de volgende configuratie de inhoud van deze hex-file in het interne geheugen wordt geplaats. Vergeet niet om op het knopje "FINISH" te klikken, anders veranderd er niks!

Veel succes,
Paul

P.S. In de meeste voorbeelden is de inhoud van het geheugen al gespecificeerd, dus zou er geen wijziging nodig moeten zijn om het geheugen automatisch te vullen. Wel is het zo dat bij sommige ontwerpen het nodig is om met de hand een reset te geven voordat het controller tot leven wordt gewekt. Probeer dus eerst maar eens gewoon de reset-toets!.
Attachments
Naamloos.gif
Guest
 

Postby nicodv » Mon Sep 22, 2008 12:00 am

Dit werkt heel goed, bedankt!
Is het ook mogelijk om achteraf de software permanent up te daten zonder opnieuw het VHDL gedeelte te laden?
Ik heb al gevonden hoe je de software kan wijzigen, met de "In system memory content" editor en het "PROG" geheugen maar dit blijkt te verdwijnen na power off.
nicodv
 
Posts: 7
Joined: Thu Jan 02, 2014 3:43 pm

Previous

Return to 2006-03 FPGA-module

Who is online

Users browsing this forum: No registered users and 1 guest