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
...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.
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" ?
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
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?
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.
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 ??
Vielen Dank, das wollte ich wissen, wuill mich nicht über die Ohren hauen lassen, Danke
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.
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
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
Na, wenn die sich DAS leisten können, Hut ab. Revers engineere das Teil doch und bau es selber nach?! :) Klaus.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.