Forum: Mikrocontroller und Digitale Elektronik Flash Speicher und TriCore


von Frank M. (frankm)


Lesenswert?

Hallo liebe Kollegen,

ich habe einen schweren Umstieg zu meistern:
DSP 560xx auf TriCore!

Mein Hauptproblem:
Das interne Flash lässt sich nur 1000mal beschreiben!

Wer kann mich über die Performance der heutigen 32bit RISC Prozessoren 
aufklären, wenn diese vom externen Flash arbeiten müssen?

Ist es richtig, dass Code vom internen Flash Zeile für Zeile gelesen und 
dann entsprechend bearbeitet wird, oder legt der Prozessor sich alles 
erst im RAM zurecht?



Danke für die Hilfe!



Gruss,



Frank

von Olaf .. (ope-)


Lesenswert?

> ich habe einen schweren Umstieg zu meistern:
> DSP 560xx auf TriCore!
>
> Mein Hauptproblem:
> Das interne Flash lässt sich nur 1000mal beschreiben!

Wenn ich mich recht entsinne ist beim TriCORE der Flash prinzipiell 
immer extern, Du kannst ihn also ggf. auch austauschen ;-)

> Wer kann mich über die Performance der heutigen 32bit RISC Prozessoren
> aufklären, wenn diese vom externen Flash arbeiten müssen?
>
> Ist es richtig, dass Code vom internen Flash Zeile für Zeile gelesen und
> dann entsprechend bearbeitet wird, oder legt der Prozessor sich alles
> erst im RAM zurecht?

Einfach den Contents vom Flash in den RAM schubsen. Imo gab es dafür 
auch eine App Note von Infineon oder gar Tasking.

Grüße
Olaf

von Rudolph (Gast)


Lesenswert?

>Mein Hauptproblem:
>Das interne Flash lässt sich nur 1000mal beschreiben!

Bist Du sicher?
Welcher Tricore ist das?

Und wie wirkt sich das auf die Anwendung aus?
"Normalerweise" flasht man fertige Geräte ja nicht dauernd um.
Und was nach xxxx Zyklen sinkt ist die Data-Retention-Time, macht es 
wirklich was aus, wenn der Controller das Programm nur noch xx Jahre 
statt 100 Jahre hält?

von Frank M. (frankm)


Lesenswert?

Danke für die schnellen Antworten!

Mein Probelm ist, dass es sich um ein verteiltes System mit mehreren 
Prozessoren handelt, in einem muss man Testen und stellt fest das es vom 
anderen schon falsch kommt -> neu Flashen der Quelle und wieder Testen..

Der Tricore hat wirklich internes Flash und einen EBU für externe 
Anbindung, was sogar vom BSLoader unterstütz wird.
Jetzt blicke ich im Kern noch nicht durch, ob und wie der kleine RAM 
Bereich verwendet wird.. Im Moment schafft es der Debugger zumindest 
alles zu laden. Der Prozessor unterstützt Prefetching am EBU, was die 
Ausführung wieder schneller machen sollte.

Ich würde also in der Entwicklung auch wieder vorziehen, alles aus dem 
RAM auszuführen und spähter (wenn alles passt) ins Flash zu laden.


Was haltet Ihr davon?

von Yupp (Gast)


Lesenswert?

Hallo,

es gibt viele Tricores die sich im Inneren deutlich unterscheiden. Beim 
im anderen Thread angesprochene TC1796 hast Du 2 MB Flash. Auf diesen 
kann durch in der PMI eingebauten Cache zugegriffen werden, was die 
Ausführung beschleuningt und den PLMB-Bus entlastet. Zudem hat die PMI 
48 kB SPRAM. Im Gegensatz zum Cache muss Code manuell dorthin geladen 
werden. Vielleicht kannst Du sich ändernden Code dort lokatieren. Ich 
glaub aber nicht, dass Du das interne Flash kaputt bekommst. Zudem 
bietet dieser Tricore die Möglichkeit der Korrektur einfacher Fehler und 
das Erkennen doppelter Fehler sowie kaputt gehenden Flashes (margin 
check).

Wollt ihr die tollen DSP-Fähigkeiten des Tricores ausreizen? Schreib 
doch später mal bitte Deine Erfahrungen beim Portieren und der 
erreichten Performance. Ich denke, dass man es schlecht im vorher 
abschätzen kann. Welchen Tricore verwendet Ihr?

Gruß, Yupp

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.