Votre question est un peu large. Le matériel (HW) pourrait signifier un développement ASIC / FPGA entièrement personnalisé, des DSP programmés par l'assembleur, ou "seulement" un système embarqué typique basé sur des microprocesseurs / microcontrôleurs / SoC etc. standard (bien sûr, un SoC peut également contenir un DSP que vous voudrez peut-être programmer ....). Pour des quantités de vente élevées, en faire un ASIC n'est pas rare.
Mais pour un projet de 2 mois, je m'attends à ce qu'il soit basé sur un microcontrôleur:
Dans tous les cas, vous devriez insister sur l'équipe matérielle pour vous donner un prototype que vous pouvez commencer à tester votre code avant la date limite absolue - cela pourrait simplement consister en une carte de développement générique, comme certaines personnes l'ont déjà mentionné, mais à mon avis, c'est leur travail pour vous fournir le bon, et éventuellement aussi certains périphériques requis / similaires pour les tests.
Les simulateurs sont également possibles dans une certaine mesure, mais vous devrez peut-être encore caractériser certains capteurs / données du monde réel que vous pourriez obtenir. Ici, l'équipe matérielle doit également vous aider au moins.
En dehors de cela, la conception du logiciel peut déjà être effectuée et tous les modules de haut niveau peuvent être (et devraient être) mis en œuvre et testés à l'unité sans le vrai matériel. Idéalement, vous définirez également une API avec l'équipe matérielle, et ils vous fourniront les fonctions de niveau le plus bas, donc tout changement qu'ils font du côté matériel là-bas (par exemple, redéfinissant simplement les broches de port qu'ils utilisent), ne sera pas toujours être critique pour vous.
Dans tous les cas, la communication est essentielle.