by 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
-
