Ihre Frage ist etwas weit gefasst. Hardware (HW) kann eine vollständige benutzerdefinierte ASIC / FPGA-Entwicklung, Assembler-programmierte DSPs oder "nur" ein typisches eingebettetes System bedeuten, das auf handelsüblichen Mikroprozessoren / Mikrocontrollern / SoC usw. basiert (natürlich kann ein SoC auch einen DSP enthalten dass Sie vielleicht programmieren möchten ....). Bei hohen Verkaufsmengen ist es nicht ungewöhnlich, es zu einem ASIC zu machen.
Für ein zweimonatiges Projekt erwarte ich jedoch, dass es auf einem Mikrocontroller basiert:
In jedem Fall sollten Sie das Hardware-Team betonen, um Ihnen einen Prototyp zu geben, mit dem Sie Ihren Code vor Ablauf der absoluten Frist testen können - dies könnte nur aus einem generischen Entwicklungsboard bestehen, wie einige bereits erwähnt haben, aber meiner Meinung nach ist es das ihre Aufgabe, Ihnen die richtige und möglicherweise auch einige zum Testen erforderliche / ähnliche Peripheriegeräte zur Verfügung zu stellen.
In gewissem Umfang sind auch Simulatoren möglich, aber Sie müssen möglicherweise noch einige reale Sensoren / Daten charakterisieren, die Sie möglicherweise erhalten. Hier muss Ihnen auch das Hardware-Team zumindest weiterhelfen.
Ansonsten kann das Software-Design bereits durchgeführt werden und alle High-Level-Module können (und sollten) ohne die echte Hardware implementiert und getestet werden. Im Idealfall definieren Sie auch zusammen mit dem Hardwareteam eine API, die Ihnen die Funktionen der untersten Ebene bietet, sodass Änderungen, die sie auf der Hardwareseite vornehmen (z. B. einfach neu definieren, welche Port-Pins sie verwenden), nicht immer erfolgen sei kritisch für dich.
In allen Fällen ist Kommunikation der Schlüssel.