Ziemlich offene Frage, aber hier sind ein paar Dinge, die ich abgeholt habe.
Für super simple processor s gibt es keinen echten Startcode. Die CPU erhält die Stromversorgung und startet dann die erste Anweisung in ihrem Speicher: Kein unnötiger Aufwand.
Ein wenig weiter oben haben wir MCUs wie AVRs und Bilder. Diese haben sehr wenig Startcode. Das einzige, was wirklich getan werden muss, ist die interrupt jump table mit entsprechenden Adressen einzurichten. Danach liegt es an dem Anwendungscode (dem einzigen Programm), sein Ding zu machen. Die gute Nachricht ist, dass Sie als Entwickler im Allgemeinen nicht über diese Dinge besorgt sein müssen: that's was libc is for.
Danach haben wir Dinge wie einfache armbasierte Chips; komplizierter als die avrs und pic's, aber immer noch ziemlich einfach. Diese müssen auch die Interrupt-Tabelle einrichten, sicherstellen, dass die Uhr korrekt eingestellt ist, und alle benötigten On-Chip-Komponenten starten (grundlegende Interrupts usw.). Werfen Sie einen Blick auf this pdf from Atmel, es beschreibt die Start-up-Prozedur für einen ARM 7-Chip.
Weiter oben in der Nahrungskette haben wir volle PCs (x86, amd64, etc.). Der Startcode für diese ist wirklich das BIOS, which are horrendously complicated.
Die Definition von 'Platform Independent' ... – zdav
Was ist Ihre Anwendung soll und was ist yo Auf der Zielplattform kann ich vielleicht einige Bibliotheken vorschlagen oder ein paar Beispielprojekte anbieten. – marr75
Meine Zielplattform ist Freescale MSC 8144 (SC 3400 X 4 Kerne) und Anwendung ist einige Multimedia bezogene –