mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Neuer Prozessor = neue Software?


Autor: Martin80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, habe mal eine generelle Frage.

Wir nutzen in der Firma ein Gerät mit einem Mikrocontroller. Jetzt will 
der Herstelelr des Gerätes einen neuen Prozessor einsetzen und  hat uns 
gesagt Sie müssten daher die Software des Gerätes neu entwickeln ?? Kann 
das sein, normalerweise bindet man solche Funktionen doch ein und es 
sollte Prozessor unabhänig sien oder ??

Mfg

Maddin

Autor: Klaus R. (klaus2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...wenn der alte Abgekündigt ist, kann sich eine ganze Menge ändern. 
Zumindest einige abstrahierende header-files und noch ein bißchen mehr 
drum herum müssten neu geschrieben, bzw. auf den neuen prozessor 
angepasst werden. das "eigentliche programm" bleibt gleich, aber dessen 
"schnittstellen zum prozessor" ändern sich. und wenn es gar eine andere 
prozessorfamilie oder hersteller ist, dann gute nacht.

Klaus.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, wenn der Prozessor nicht Software-kompatibel ist zum bestehenden, 
dann muß das neu entwickelt werden.

Selbst wenn das ursprüngliche Programm in Hochsprache vorliegt, gibt es 
dennoch einigen Anpassaufwand, und wenn es nur Timings von irgendwelchen 
zeitabhängigen Routinen, weil der neue Prozessor andere Taktzyklen und 
andere Taktfrequenz hat.

Die "Chance", daß da jedoch wenig oder doch eher viel Assembler 
verwendet wurde, stehen ganz gut. In dem Fall ist richtig viel Aufwand 
notwendig, da in  die neue Zilesprache (wieder Assembler oder eine 
Hochsprache) zu portieren

> normalerweise bindet man solche Funktionen

welches sind "solche Funktionen" ?

Autor: Martin80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man die Funktionen eines neuen Prozessors nicht euinfach einbinden 
und der Compiler macht den rest ??? Habe das irgendwie aus meiner ARM 7 
Zeit so in Erinnerung

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nochmal: Welche Funktionen meinst du?

Das ein prozessor Register, Zähler, Interupts, Flgs etc hat, ist dir 
aber auch "aus deiner ARM7 Zeit" bekannt ???? Und daß ein anderer 
prozessor andere Befehle und andere Funktionalität abbildet, könntest du 
dir auch mit dem ARM7 Hintergrund vorstellen?

Was willst du denn da wie einbinden, bzw. was hast du denn da beim ARM7 
eingebunden?

Autor: Klaus R. (klaus2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ganz einfach: Hast du alle Register etc. global in einer speziellen .h 
definiert, musst du nur diese ändern. Hast du das aber alles in deiner 
"main" gemacht, wird ne Menge arbeit nötig.

Wenn du in C geschrieben hast, versteht das nat auch ein C Compiler für 
den neuen uC. Assembler versteht aber nur der spezielle Compiler für DEN 
Assembler-Wortschatz des Ziel-uCs.

Klaus.

Autor: Martin80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin der meinung das ich damals miit der Entwicklungsumgebung IAR 
gearbeitet habe, programmiert wurde in C. und ich konnte in C direkt auf 
einzelne Register zzugreifen. Damit das gelingt , mußte glaube ich eine 
externe Bibliothek eingebunden werden ??

Autor: Martin80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, das wollte ich wissen, wuill mich nicht über die Ohren 
hauen lassen,

Danke

Autor: Klaus R. (klaus2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn DIE den Prozessor wechseln, musst DU das dann bezahlen? Oder 
wieso fragst du?

Klaus.

PS: "...mußte glaube ich eine externe Bibliothek eingebunden werden ??" 
-> Und genau das ist es, die kann recht komplex sein, wenn sie den 
eigentlichen C-Code zu 100% von der Plattform (=uC) abstrahieren soll. 
Zudem ist bei grundlegenden Änderungen des Prozessors oft auch eine 
"elektrische Anpassung" der Schaltung und/oder der Signale notwendig.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage ist, ist der neue Prozessor aus der gleichen Familie, nur 
schneller und mehr Flash/SRAM?

In diesem Fall muß die Software nicht komplett neu geschrieben werden.

Daher werden ja auch neue 8051-er entwickelt, damit man die ganze 
8051-SW weiter benutzen kann und nur die neuen Funktionen hinzufügen 
muß.
Insbesondere dessen Bitbefehle sind sehr schön bequem für Steuerungen.

Das könnte sich mit dem neuen ARM Cortex M3 ändern, da der wieder diese 
schönen Bitbefehle hat.
Und damit das von hinten durch die Brust ins Auge, Knoten in die Finger 
machende, umständliche Set- und Clear-Register Rumgemäre der ARM7 
endlich entfällt.


Peter

Autor: Martin80 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in diesem Fall ja,
ich will mich aber nicht an der Nase herum führen lassen! Wir sind auf 
das Gerät angewiesen, sehen aber keinen Grund im Prozessorwechsel ( den 
alten gibt es noch) und für 1,5 Jahr angebliche Entwicklung zu zahlen , 
das sieht man natür lich auch nicht ein, wenn man keinen Nutzen daraus 
ziehen kann

Autor: Klaus R. (klaus2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, wenn die sich DAS leisten können, Hut ab. Revers engineere das Teil 
doch und bau es selber nach?! :)

Klaus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.