Thread Thread zum Heulen
(129 answers)
Opened by pq at 2012-02-05 17:37
Ich habe ein paar Ausflüge in die embedded Programmierung hinter mir.
Schon die Codequalität in einem Projekt kann ganz enorm schwanken. Ein kleines Beispiel aus der CNC Welt. Vor 30 Jahren war für einen Z80 ein Vector-Core geschrieben worden. (berechnen von Bezierkurven, Ellipsen, finden von Kreuzungspunkten, Steigungen, Abstände, etc.) Dieser Code war dann auf Herz und Nieren geprüft worden. Jahre später wurde das System auf einen 68000 umgestellt. Der Core hätte neu geschrieben und erneut geprüft werden können, aber es war günstiger eine geprüfte Z80-VM zu kaufen. Nun lief der Z80-Core auf einer VM im 68000. Dann wechselte man auf einen 68030 und um die den Z80 Emulator kam eine 68000 Emulation um die Z80-VM unterm 68030 zu betreiben. Dann wurde auf PPC Umgestellt, und es kam eine 68030 Emulation um den 68000 Emulation um die Z80-VM herum. Nach 30 Jahren dachte man dann darüber nach, ob es nicht möglich wäre den Core gegen einen verbesserten auszutauschen. Das wurde aber wieder verworfen, weil man keinen erfahrenen Z80-Programmierer finden konnte, und keinen der einen Codereview zu annehmbaren Preisen machen wollte. :-) Und auf diese Weise kommen durchaus 11000 globale Variablen zusammen. Da wird Code in Code gestapelt weil ein kleiner Teil als essenziell gilt und nicht geändert werden darf. |