Forum: FPGA, VHDL & Co. Wie kann man die Software von FÜNF NIOS-Controllern in EIN .jic-File Packen?


von ASott (Gast)


Lesenswert?

Hallo Leute,

ich habe ein Problem beim Erzeugen der „JTAG Indirect Configuration File 
(.jic)“ mit meiner Nios II Hardware und dessen Software.

In meinem Design sind fünf NIOS II Controller eingebettet. Diese sollen 
nun mit einem .jic-File programmiert werden und die Software von den 
fünf  NIOS II Controller enthalten.

Für einen ersten Test habe ich für einen der fünf NIOS ein .jic-Files 
nach der Anleitung (vgl. 
http://www.altera.com/support/kdb/solutions/rd10132010_126.html) 
erzeugt. Die Konvertierung funktioniert soweit, jedoch startet die 
NIOS-Software nicht.

Nun meine Fragen ;-):
---------------------

Kann das nichtstarten der NIOS-Software daran liegen, dass nicht bekannt 
ist zu welchem NIOS die Software gehört? Oder ist die Dazugehörigkeit: 
„Software <-> NIOS“  im .sof- bzw.  .elf-File hinterlegt?

Außerdem würde ich gerne wissen, wie man fünf NIOS-Software in ein 
.jic-File packt. In der Anleitung ist ein solcher Fall nicht aufgezeigt. 
Hat hierzu jemand eine Idee?


Vielen Dank für eure Hilfe!

Viele Grüße,
ASott

von Holger (Gast)


Lesenswert?

Base Full erased ...Base (aufpassen nacher die Hacken non-erase 
machen,sonst ist die Base Kernel mit weg...)
Du must mit "enhanced mode" 'option den Boot-Kernel erst mal da jeweils 
installen.
Dann wird mit dem enh-Boot-Base Kernel nachgeladen. 
also.Kernel-base+.['Modul-Bit-File] .

Das sind also 2 Schritte, bei dem du aufpassen musst, die Base nicht im 
2ten Schritt zu 'erasen.

Ich suche dir ein Video Tut noch raus.

Tip: Blätter da mal die Menues enhanced mode und der enhanced superwiser 
mode sozusagen ist das gestrickt.

Und das mit in der Chain  'a #5 Module -->[][][][][].-->JTAG sei dank.

 Ich suche dir ein Video Tut noch raus. ist aber auf Türkisch, aber die
Bilder sagen ja mehr als tausend Worte.

Gruss Holger.

von Holger (Gast)


Lesenswert?

Solution ID: rd12092009_471
Last Modified: Nov 08, 2010
Product Category: Embedded
Product Area: Hardware Development
Product Sub-area: Configuration/Booting
Title

How do I create a .jic file with my Nios II hardware and software image?

Description

The method used to create a .jic file with a Nios® II hardware and 
software image is as follows.

1.      Create a flash file for the hardware and software image
sof2flash --input=<hwimage>.sof --output=hwimage.flash --epcs --verbose
elf2flash --input=<elf file>.elf --output=swimage.flash --epcs 
--after=hwimage.flash --verbose

Note: When creating the software flash image, there is no need to add a 
boot srec (this is located in the EPCS Controller), the --after option 
ensures the software image starts immediately after the hardware image.

2.      Convert the flash images into Hex files

nios2-elf-objcopy -I srec -O ihex hwimage.flash  hwimage.hex
nios2-elf-objcopy -I srec -O ihex swimage.flash  swimage.hex

3.      When creating your jic file using Quartus® II Convert 
Programming File tool, add the Flash Loader and both hex files with 
absolute addressing option selected.

Note: You do not need to add the .sof file to the jic image.  This is 
because you created a hardware hex image.  Using the hardware hex image 
ensures the software hex image is at the proper offset in the EPCS.
LINK:
http://www.altera.com/support/kdb/solutions/rd12092009_471.html

PS. Google mal nach Cubic Cyclonium, da ist ein Ref-Design.
Aber es ist auch im Netz als andere Variante verfügbar..

Ich habe mit das Teil + die CD dazu gekauft.
Da ist ein alter SOC mit EP1C6F256 drin.
0x8000 ist die Map-Addr ...
----------------------------------------------
Gruss Holger.
Das Video mach ich noch nachher rein.

von MemY (Gast)


Lesenswert?

Hallo Holger,

vielen Dank für deine Infos!

Hört sich alles etwas komplizierter an... und ich weiß im Moment noch 
nicht genau wie ich es nach deinen Infos bewerkstelligen soll. Aber wird 
mir bestimmt mit dem Video-Tutorial klarer...

Aber schonmal vielen Dank für die bisherigen Infos :-)

Gruß MemY

von Holger (Gast)


Lesenswert?

Der Titel: SOPC Builder ile SOC Tasarimi
Drei JTAG modis:
Factory default , Factory default enhanced

Das Video
http://www.youtube.com/watch?feature=player_detailpage&v=XtpjxPTx1YY
Bitte vorspulen auf 01:58 ...
and the JTAG indirect mode at 01:58 in the Video

Operation of a IEEE 1149.1 JTAG (boundary scan) TAP controller. Shows 
how the TAP controller operates within a JTAG network. Step-by-step 
analysis of the TAP state machine and timing diagram


JTAG TAP Controller Primer
http://www.youtube.com/watch?feature=player_detailpage&v=PhaqHKyAvR4

JTAG indirect, JTAG Active Serial Mode. ALTERA FPGA
http://www.youtube.com/watch?feature=player_detailpage&v=Yr-fSX_cJyc
---------------------------------------------------------------------

Gruss Holger.

von Holger (Gast)


Lesenswert?

ASott schrieb:
> http://www.altera.com/support/kdb/solutions/rd10132010_126.html)
> erzeugt. Die Konvertierung funktioniert soweit, jedoch startet die
> NIOS-Software nicht
Frage:
Ist der /Reset evtl. noch aktiv. Hast du den vergessen ?
Geht der Clock ?.
Die Mode Pinne M0..M3 ?
JTAG clock ist Master Clock.. und nicht Ex.Clock

Gruss Holger.

von Ich (Gast)


Lesenswert?

Hallo,
Holger was Du schreibst ist, mit Verlaub, Bullshit. Der erste Prozessor 
kann aus dem EPCS booten (sollte das .jic halt im EPCS landen). Die 
restlichen vier Prozessoren müssen in diesem Fall von einer festen 
Adresse im eigenen Speicherbereich booten. Schau Dir mal unter Advanced 
Features ResetRequest und ResetTaken an. Also musst Du folgendes 
implementieren: Der einzige Prozessor der aus dem EPCS booten kann, 
stoppt alle anderen vier mit einem ResetRequest, schreibt in den 
Speicherraum der vier Prozessoren die Programme und läßt sie mit 
entfernen von ResetRequest loslaufen..

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Ich schrieb:
> im eigenen Speicherbereich booten.
Danke an alle für den Tip.

Ja gut.
Hast du ein minimales Referenz Modell, was du uns posten kannst ?
Damit können die beiden testen, warum der Prozess nicht anlaufen will.
(Stand-Allone geht ja, aber haben die auch das JTAG abgemacht, und
einen POWER on reset gefahren...oder hängt da noch der JTAG-Debugger 
dran,
der den Reset macht, dann ist das nicht Stand-Allone- mit POWER on Reset
Bingo> so sehe ich das leider immer wieder, das evtl. nicht optimal & 
minimal reduziert wird... und schon ist der Tag rum.
Das ist denn auch Bullshit hoch 3.  )


##############################################
Main(#MEM)--main#1() 0xX000:xxxx
            main#2();0xY000:xxxx

##############################################

Ich würde das so minimal runter-reduzieren.
1) Mit den Scope nachmessen, ob das SPI-Boot-Rom geladen wird..

Ich denke da an eine 'Blink-Led pro Prozessor.

später dann noch von ResetRequest loslaufen..lassen, usw.

Damit kann man das erst mal step by step einkreisen.

Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Dann ist mir mal ein Ding passiert, mit meinem Lattice MachXo Board.
Da habe ich den externen Oszilator abgeklemmt, damit konnte ich das
Mach Xo laden, und das Ding ging wie ich wollte.
Machte ich das aber nicht, konnte ich nur gut starten, wenn ich
vorher den Chip mit full erase behandelt hatte. Und danach den Code in
den Chip via JATAG geflasht hatte.
Fazit: Da waren also noch alte rest-bits drin.
Die haben mir das Design verhagelt, und der Jtag hat kein error 
gemeldet,
da der ja nur TDI mit TDO vergleicht.

[TDI*rising edge][TDO falling Edge] -- compare.

Und im SRAM sind rest-bits drin... [x][][]
Kaum glaubhaft aber Praxis...Vesuch macht kluch

Das war mir eine Lehre. Und ich habe das auch da noch so weit
runter reduzieren müssen.

Das zum SRAM basierenden FPGA..


Gruss Holger.
Kann auch sein, das der SPI/EN Pin  von disem FTDI billig JTAG nicht
beschaltet ist.
Dann brasseln die bits via laufendem Oszillator da rein. ???

: Bearbeitet durch User
von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

Holger Harten schrieb:
> Kann auch sein, das der SPI/EN Pin  von disem FTDI billig JTAG nicht
> beschaltet ist.
> Dann brasseln die bits via laufendem Oszillator da rein. ???
Das ist nur ein Beispiel, was alles schief gehen kann.
Tip:
Morgen zur Embedded World, und da mal fragen. 25-27 Feb.
Der Fehler steckt im Detail...

Gruss Holger.

von ASott (Gast)


Lesenswert?

Hallo Holger,


Holger schrieb:
> Frage:
> Ist der /Reset evtl. noch aktiv. Hast du den vergessen ?
Den habe ich auf VCC gelegt. Müsste also passen, oder?

> Geht der Clock ?.
Ja, das nehme ich an. Habe ja noch in Hardware ne Blinkende LED 
realisiert, die auch blinkt.

> Die Mode Pinne M0..M3 ?
Welche Pins sind die? Wo kann ich diese Konfigurieren?

> JTAG clock ist Master Clock.. und nicht Ex.Clock
Im QSYS habe ich für die "JTAG-UART" >Clock Input< mit dem >Clock 
Output< von meiner "Clock Source" verbunden? Ist das dann falsch?


Gruß

von ASott (Gast)


Lesenswert?

ASott schrieb:
>> Die Mode Pinne M0..M3 ?
> Welche Pins sind die? Wo kann ich diese Konfigurieren

Sry, die Konfiguration lautet wie folgt:

-MSEL0: 0
-MSEL1: 1
-MSEL2: 0
-MSEL3: 0

=> Standard 3,3V

Aber an dieser Konfiguration sollte es eig. nicht liegen, oder? Da meine 
sonstige Hardware (in VHDL) anläuft?

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

ASott schrieb:
> JTAG clock ist Master Clock.. und nicht Ex.Clock
> Im QSYS habe ich für die "JTAG-UART" >Clock Input< mit dem >Clock
> Output< von meiner "Clock Source" verbunden? Ist das dann falsch?
Du erzeugst gen-code der nicht STAND-Allone gehen kann.
Weil:
Damit ist das doch noch an dein Host-System gekoppelt, via Console.
(nicht abgenabelt vom Host-Mutter-System)
Und wird somit nicht als Stand-Allone laufen...
weil es sich mit einem Host-Sychen will, der nicht dran angeschlossen 
ist.


Frage:
      Hast du die Platine selbst gebaut ?.

Versuch mal da auf ein DE2 Board zu porieren.

#######################################################################
Zu den M0 M1 M2 M3 Pinnen, die sind für jeden Typ bzw. Low Power Typen
auch immer anders, also genau im Daten-blatt für jeden Typen nachlesen,
bzw. bei Low-Power vom gleichen Derivat Fuss-Note lesen.

-----------------------------------------------------------------------

Gruss Holger.

Fazit: Das ist debugger Code oder debug-able Code in einem Stand-Allone
System.

: Bearbeitet durch User
von Ich (Gast)


Lesenswert?

Wow, was fürn Faden. Was willst eigentlich? Einen Nios booten oder fünf 
gleichzeitig?

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Hallo
@ICH
Ich glaube das hat er hier gemeint.
Hat aber im elf-code den Consolen mode drin, wie bei dem Hitex Stick 
STR9112CS [der geht nur mit dem Host-PC], ist der
Debugger fest darin, (der steuert via FTDI JTAG bzw. JTAG-UART das 
System,/Reset usw..via der IDE )
Jetz hat er den Code in dem ASIM drin, und der TO wundert sich, das der 
nicht bootet. (Weil das System halt ohne den Host-PC nicht geht)

Für doppel Prozessor [][][][][]----->[]

Philosopher Thinker System-- round robbin.
0x8A00
0X8900
0x8800
DUART MEMORY (Bridge) AT. 0450:xxxx (SYSTEM_0:4)(>-->) System_2[0:0]


Ich poste noch ein Bild.
Link:
http://www.altera.com/literature/tt/tt_nios2_multiprocessor_tutorial.pdf

Ich schrieb:
> Wow, was fürn Faden. Was willst eigentlich? Einen Nios booten oder fünf
> gleichzeitig?

Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

Holger Harten schrieb:

> DUART MEMORY (Bridge) AT. 0450:xxxx (SYSTEM_0:4)(>-->) System_2[0:0]

von Ich (Gast)


Lesenswert?

Nimmst Du Drogen?

von Ich (Gast)


Lesenswert?

Lese doch bitte meinen ersten Post. Ohne eigenen Bootloader wird es 
nicht funktionieren. Ausserdem hat das alles nix mit den MSEL Pins zu 
tun. Lasst die doch bitte bei AS wenn Active Serial gebootet werden 
soll.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Um meine selbsgebaute FPGA Hardware zu testen,
Mode Pinne: [0][1][0][0] Vector: LSB to MSB [0:3]
             M0 M1 M2 M3
Fazit:
       M1 ist der einzige Pin mit High-Potential
Folglich Active Serial Configuration.
------------------------------------------------------
Active Serial Configuration
Link:
http://www.altera.com/literature/hb/cfg/cfg_cf51001.pdf
You can perform an active serial (AS) configuration using EPCS devices. 
During AS
configuration, the FPGA device is the master and the EPCS device is the 
slave.
Configuration data is transferred one bit per clock cycle.
------------------------------------------------------------------------ 
----------
Mit JTAG indirect lade ich das SPI Rom indirect durch-reicher[indirect] 
via FPGA.

(JIC) "JTAG indirect Config"
######################################################################## 
##########
Zum Testen nehme ich ein VHD geschriebenes Blink-Programm .
(Da brauche ich noch nicht einmal einen Takt ..)
Oder noch einfacher 2 Eingänge 2 Ausgänge, mit inverser Logic.
Sind die LED's via Ausgang an .?..
------------------------------------------------------------------------ 
----------
So einfach habe ich angefangen, bis ich da mit dem 72 MHz Ext.Oszillator
Probleme hatte.

Gruss Holger.

Ich schrieb:
> Nimmst Du Drogen?
Nein
Nur Kaffeeeee

von Ich (Gast)


Lesenswert?


von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Ich schrieb:
> Wow, was fürn Faden. Was willst eigentlich? Einen Nios booten oder fünf
> gleichzeitig?
Ja ein einfaches Block-Schalt-Bild
Der meint sicher ein Altera-Chip z.B EP1C6F256 und 5 Prozesse ..
Variante#1.0:
[Main] Nios-Boot
  (task#1),(task#2),()()(task_#n);

Variante#2.0:

 Nios-Boot   Nios-Boot   Nios-Boot    ....       .....
[EP1C6F256] [EP1C6F256] [EP1C6F256] [EP1C6F256] [EP1C6F256]



Ich schrieb:
> Mir glaubst Du scheinbar nicht;)
> http://www.alteraforum.com/forum/showthread.php?t=19839
Danke erstmal für den Link !

Link: Da ist das gut beschrieben.
http://www.altera.com/literature/tt/tt_nios2_multi...

Gruss Holger.

: Bearbeitet durch User
von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich schrieb:
> Mir glaubst Du scheinbar nicht;)
> http://www.alteraforum.com/forum/showthread.php?t=19839

Also bei diser Konstelation ..siehe Bild.

Doch das war ein ganz heisser Tip mit dem Boot-loader.
Ist ja auch logisch das management sorgt halt dafür, das nicht alle
gleichzeitig auf das SPI-Flash-Rom zugreifen.
Also geht man sozusagen an den jeweiligen Startup (der main() aufruft), 
und macht da eine Zuriffs-Hierarchie ... auf das  SPI-Flash-Rom.

Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

Holger Harten schrieb:
> Also geht man sozusagen an den jeweiligen Startup (der main() aufruft),
> und macht da eine Zuriffs-Hierarchie ... auf das  SPI-Flash-Rom.

Ganz oben sitz der Master(Main)Super-Visor.

Gruss Holger.

von Ich (Gast)


Lesenswert?

Natürlich kannst Du mehrere Prozessoren aus stinknormalen CFI-Flash 
booten. Beim EPCS siehts aber anders aus. Hier lädt der 
QSYS-EPCS-Controller aus dem EPCS-Flash einen kleinen Bootloader in den 
Speicherbereich des Prozessors, den Du vorher über die Resetadresse 
festgelegt hast. Der Bootloader kopiert sodann das Hauptprogramm in den 
Speicher. Sobald der Bootloader fertig ist startet Dein Programm. Das 
funktioniert aber nur mit einem Prozessor. Hast Du Mehrere, muss der 
erste Prozessor aus dem EPCS die einzelnen Programme holen und sie an 
die restlichen Prozessoren verteilen. Sobald er das geschafft hat, 
entfernt der erste Prozessor den Resetrequest und die anderen 
Prozessoren starten.

von Ich (Gast)


Lesenswert?


von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Ich schrieb:
> Das sollte Dir helfen:
> http://www.alterawiki.com/wiki/EPCS_bootloaders

Ja Danke, so kenne ich das von den HITEX Tools auch, damit kann man das
genau auf die Location legen.
------------------------------------------------------------------------ 
--
nios2-elf-objcopy to offset the address to the correct location

######################################################################## 
##

Because the code we will load is not located in the default location in 
the EPCS there is an additional step necissary. elf2flashis used to 
create the flash image

efl2flash --epcs --input=my.elf --output=my.flash

however it is not located at the right offset.  The above line will 
locate it at address/offset 0x0. To remady this we use nios2-elf-objcopy 
to offset the address to the correct location

nios2-elf-objcopy -I srec -O srec test_app.flash 
--change-addresses=0x1c0000

then you can use nios2-flash-programmer to program the EPCS with the 
file.

######################################################################## 
###
Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

ASott schrieb:
> ich habe ein Problem beim Erzeugen der „JTAG Indirect Configuration File
> (.jic)“ mit meiner Nios II Hardware und dessen Software.

It is possible to choose JTAG chain (ISP-Jam) for Altera and Xilinx 
devices ...


http://www.intellitech.com/solutions/multiple_scan_chains.asp
http://www.intellitech.com/pdf/jtag-test-jtag-linker-fpga-serdes-ber-bit-error.pdf

Hier ist eine Firma die dazu eine Eclipse IDE hat.

Aber rechts in der Ecke auf dem Bild, kann man den JTAG Bus auch via 
Muxer
so schalten, da wird ein Device draus, und man muss sich nicht mit der 
JTAG
Kette rumplagen.

Lattice hat das via IspVM Tool gemacht. Das habe ich schon ausprobiert,
ist ein Tabell, darin trägst du den File ein, und damit fährt der JTAG
batch Job via Project ab. Fertig ist die Laube. Bei Altera haben die
das noch nicht so einfach für den USER gemacht.
isPVM ----------- Tabelle---------
      Device Machxo  --- CODE
      Device MachXo2 --- Code
usw...............
######################################################################## 
##
Gruss Holger.

Gruss Holger.

von Student (Gast)


Lesenswert?

Bin ich eigentlich der einzige, der Holgers Beiträge komplett 
undurchsichtig, nicht zusammenhängend und komisch formuliert findet?

von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

Holger Harten schrieb:
> isPVM ----------- Tabelle---------
>       Device Machxo  --- CODE
>       Device MachXo2 --- Code
> usw...............

Oder auch einfach via JTAG-indirect transport durch das MachXo2 mit
hardended SPI Kernel (also nix vorher draufladen) der SPI-Kernel ist
schon im Machxo2 Fabric drin.

Das muss in Alera auch so gehen, nur das man den SPI-Kernel vorher laden
muss, und dann erst das SPI-Config-Flash via JTAG laden kann,
aber darauf achten, das der SPI-Kernel nicht gelöscht wird.

Also die Hacken in deinem USB-Blaster Menue richtig verwalten.

Viel Erfolg.

Gruss Holger.

von Ich (Gast)


Lesenswert?

...deswegen auch meine Frage nach den Drogen.

von Da D. (dieter)


Lesenswert?

Student schrieb:
> Bin ich eigentlich der einzige, der Holgers Beiträge komplett
> undurchsichtig, nicht zusammenhängend und komisch formuliert findet?

Nein, bist du nicht. Alle seine Beiträge sehen so aus. Ich habe ja 
mehrfach versucht, zu verstehen, was Holger schreibt. Aber keine Chance. 
Ich fürchte der kann nicht anders. Tja, sowas solls geben.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Kurzer Nachtrag...
Hier in dem MachXo2 ist der Code schon in dem FPGA drin, das SPI ist nur
eine Erweiterung für Daten, und ist somit eine weitere Option.
Dieses FPGA braucht also kein ext. SPI-Config Speicher.
[@config.-FLASH- im Chip ].
Damit vereinfacht sich das Design ungemein.
------------------------------------------------------------------------ 
-

Ich schrieb:
> ...deswegen auch meine Frage nach den Drogen.

Es soll ja Leute geben die das nehmen, einfach zu besseren Inspiration.
------------------------------------------------------------------------ 
-
Aber ich mache nach möglichkeit alles erst mal modular.
Da habe ich schon Dinger erlebt, war der Watchdog beim Boot-up mit 
aktiv,
und das Teil ging nach dem Boot immer wieder zyklisch in den Reset.
War eine automotive Maske Step-B. Da ist nur ein Pin ext. zu verbinden, 
und das ist ok.
P.S
Danke nochmal für die Hilfe.

Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Angehängte Dateien:

Lesenswert?

@ASott Hier ein Beispiel was ein Altera Hard-ware Design angeht.
R52 Siehe Bild mit 10K an GND.

Das ist der nCE. (Chip-Enable) für den Altera FPGA Chip.
Desweitern sind auf dem Bild noch die "Conf_Done" Pinne usw. zu sehen.
Die sind der Monitor, um zu testen ob das FPGA richtig configuriert 
wurde.
################################
Siehe bitte das Datenblatt dazu.
Somit kannst du die ROM-Version testen.
Z.B eine einfache SPI-Romversion machen, nur in VHDL geschrieben.
Blink-Licht.sof to (Blink-Licht.pof).
Power cycle your board, and check to see if it was programmed 
successfully. via SPI-PROM.

Also erst mal kein Nios II, das machst du erst danach, wenn die 
ROM-Versipn
nach power-off--< then power-on-> geht.

http://www.alterawiki.com/wiki/EPCS_Guide

Power cycle your board, and check to see if it was programmed 
successfully. via SPI-PROM.

ASott schrieb:
> Sry, die Konfiguration lautet wie folgt:
>
> -MSEL0: 0
> -MSEL1: 1
> -MSEL2: 0
> -MSEL3: 0
Auf dem Bild ist ein passive serielle Konfiguration
Aber die du da hast ist active seriell, und das ist ok, denke ich.
Viel Erfolg bei den guten Projekten.

Gruss Holger.

: Bearbeitet durch User
von Duke Scarring (Gast)


Lesenswert?

Student schrieb:
> Bin ich eigentlich der einzige, der Holgers Beiträge komplett
> undurchsichtig, nicht zusammenhängend und komisch formuliert findet?
Nein, aber solange wie der Fragensteller mit den Antworten was anfangen 
kann, soll es mir recht sein :-)

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

Duke Scarring schrieb:
> Nein, aber solange wie der Fragensteller mit den Antworten was anfangen
> kann, soll es mir recht sein :-)
Das ist ja auch nicht trivial, so kann AScot sich da aber informieren.
Danke für die Untersützung.
Ich finde eigene Hardware zu bauen, ist immer nicht einfach gewesen,
und man muss auch die Module einzeln testen können, und dann im Verbund,
auf dem JTAG Bus via JAM Batch Configurieren. Dazu ist ja JTAG erfunden
worden, damit man nur ein Programm hat was die JTAG Kette da laden kann,
und definiert modul# für modul# nach einer Hierarchie anfahren kann.
Das geht ja auch in der Einschaltsequenz für die Core-Spannung, bzw
 I/O Spg. so. Also erst nach dem Power good usw. Takt Freigabe.
Sonst ist mit Multi-FPGA Anwendung noch ein Problem, was man sich 
einhandelt. Und zuerst mag das nicht auffallen, aber ich habe das schon
erlebt. Da macht man dann nochmal den Stecker raus, und wieder rein, und 
das Ding geht wieder. Dafür ist den ein Lattice II Power-Manager Chip 
gut.
------------------------------------------------------------------------ 
-
Hallo!
@AScot
Julius Baxter von der Ini in England hat da ein Video-Tutorial gemacht.
OpenRISC 1000 Demonstration - Chip Hack
Da wird via GTK Wave das SoC mit Altera erklärt, JUMP 0x100 ... JUMP 
0x1000 usw.
also einfache main() mit echter RS232 Uart, und nicht mit "virueller 
JTAG UART" .
Damit kannst du das System vom cStartup call Main ... erst mal testen.

Link:
http://www.youtube.com/watch?list=FL0yrYVaJFUNroFzyTtUO5RA&feature=player_detailpage&v=5pG3FL_k6to
include "uart.h"
           uart_init(0);
            sprintf("Hello World!\n")
http://www.youtube.com/watch?list=FL0yrYVaJFUNroFzyTtUO5RA&feature=player_detailpage&v=5pG3FL_k6to#t=504

Gruss Holger.

von Holger H. (holger-h-hennef) Benutzerseite


Lesenswert?

@AScot Ich habe schon eine Mail geschrieben, aber das hier ist für den
Jam STAPL player, mit Source Code in C.
------------------------------------------------------------------------ 
---
JTAG Configuration  ALTERA FPGA Devices.
Jam STAPL player (PDF)

http://www.altera.com/support/devices/configuration/schemes/jtag/cfg-jtag.html
------------------------------------------------------------------------ 
---
Gruss Holger.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.