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


von Martin80 (Gast)


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

von Klaus R. (klaus2)


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.

von Wegstaben V. (wegstabenverbuchsler)


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" ?

von Martin80 (Gast)


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

von Wegstaben V. (wegstabenverbuchsler)


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?

von Klaus R. (klaus2)


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.

von Martin80 (Gast)


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 ??

von Martin80 (Gast)


Lesenswert?

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

Danke

von Klaus R. (klaus2)


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.

von Peter D. (peda)


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

von Martin80 (Gast)


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

von Klaus R. (klaus2)


Lesenswert?

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
Noch kein Account? Hier anmelden.