AX8 Softcore Problem.

OP #4259173
Lesenswert?

Hallo zusammen,
   ich wollte mal fragen, ob hier jemand den AX8-Softcore mit GCC am 
laufen hat. Ich möchte per SPI einen Text auf ein OSD (OSD vom 
Mist-Board) ausgeben.
Das SPI Interface und OSD funktionieren soweit. Wenn ich die Daten "per 
Hand", also Byte für Byte, rüberschiebe, dann wird ein Buchstabe 
angezeigt. Möchte ich aber die Zeichendaten aus einem Array oder einem 
Array im Programmspeicher holen, dann wird nur Unsinn angezeigt. Ich hab 
den AX8 mit 4kB ROM und RAM ausgestattet. Das .data-Segment hab ich per 
Hand hinter den Stack gelegt.

Gruß,
  SIGINT
OP #4259179
Lesenswert?

P.S.: Ich hab festgestellt, daß das .data-Segement wohl nicht 
initialisiert wird. Wenn ich einer Variablen im .data -Segment noch mal 
ihren Wert zuweise, dann stimmt die Ausgabe. Warum ich allerdings keine 
Daten aus dem Programmspeicher laden kann ist mir immernoch 
schleierhaft.
OP #4259969
Lesenswert?

Jo, steht alles im Header pgmspace.h .
Man muss die Variable mit PROGMEM in den Flash verbannen und kann dann 
mit
pgm_read_byte auf die Daten zugreifen. Soweit, so gut. Aber ich bekomme 
nur irgendwelche Zufallswerte, die allerdings Konstant sind. Anscheinend 
läuft irgendwas mit LPM schief. Deshalb die Frage, ob den Kern jemand am 
laufen hat und auf initialisierte Daten zugreifen kann ;-) Daten im .bss 
- Segment funktionieren ohne Probleme, wenn ich ihnen später einen Wert 
zuweise.

Gruß,
   SIGINT
#4260522
Lesenswert?

AX8 ist schon benutzbar, aber mal muss man selber was basteln auch, es 
gibt da viele möglichkeiten, aber ganz so lustig ist es nicht. Ich habe 
meistens den PROG memory block RAM dem AX8 zugreifbar gemacht das man es 
ohne LPM lesen schreiben kann, das wird dann aber wider nicht kompatible 
mit GCC

https://hackaday.io/project/6592-dipsy

dieses kleine kerl hat auch AX8 basierten demo drinne, werde ich auch 
weiter entwickeln..
OP #4265164
Lesenswert?

@Antti:
  Eigentlich sollte LPM funktionieren... ich kenn mich leider nicht mit 
Multisim aus und kann nicht nachschauen, wo es hakt.
Das ROM im Speicher einblenden wäre ne möglichkeit... ich möchte aber 
kein Hack. Das gibt nur Probleme

@Lars:
  Leider hab ich das Problem noch nicht gefunden. Mir fehlt aber auch 
die Zeit für eine intensive Fehlersuche.
Den AVR8-Core hab ich schon gesehen... der scheint aber deutlich größer 
zu sein. Ausserdem hab ich ihn noch nicht auf einem Cyclone 
synthetisiert bekommen. Hab es allerdings nur kurz angetestet.
Mir sind die meisten Cores noch zu komplex. Ich fang gerade erst mit 
FPGAs an.

Gruß,
  SIGINT
OP #4266048
Lesenswert?

Es läuft! So halbwegs ;) Ich hatte wohl mehrere Probleme. Ein Problem 
war, daß mein AX8 mehr Speicher hat als der AT90S2313 und GCC deshalb 
mist gebaut hat. Das andere Problem war, daß mein ROM mit höherem Takt 
getaktet wurde als vorgesehen. Hatte am Anfang Probleme und hab das zum 
testen eingebaut.
Allerdings läuft noch was schief, wenn ich Daten im PROGMEM ablege. Dann 
startet mein Programm nicht. Damit kann ich aber erstmal leben.

Das Dipsy kenn ich und finde ich nett. Ist für mich aber zu klein. 
(Resourcen und IO)
Interesannt finde ich aber, daß die den AX8-Core abgespeckt haben :) 
Meiner braucht ~1.6kLE.

P.S.: Hier mal ein Bild von meinem kleinen "Projekt"
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren