Ваш вопрос немного широк. Аппаратное обеспечение (HW) может означать полноценную разработку ASIC / FPGA, DSP, запрограммированные на ассемблере, или «только» типичную встроенную систему, основанную на готовых микропроцессорах / микроконтроллерах / SoC и т. Д. (Конечно, SoC также может содержать DSP). что вы можете захотеть запрограммировать ....). В больших количествах продажа ASIC не редкость.
Но для двухмесячного проекта я ожидаю, что он будет основан на каком-то микроконтроллере:
В любом случае, вам следует попросить команду аппаратного обеспечения предоставить вам прототип, который вы можете начать тестировать свой код до истечения крайнего срока - это может быть просто общая доска разработки, как уже упоминали некоторые люди, но, по моему мнению, это их работа, чтобы предоставить вам правильный, и, возможно, также некоторые необходимые / аналогичные периферийные устройства для тестирования.
Симуляторы также возможны в некоторой степени, но вам все же может потребоваться охарактеризовать некоторые реальные датчики / данные, которые вы можете получить. Здесь команда аппаратного обеспечения также должна по крайней мере помочь вам.
Кроме этого, проектирование программного обеспечения уже может быть выполнено, и все модули высокого уровня могут быть (и должны быть) реализованы и протестированы модульно без реального оборудования. В идеале вы также определите API вместе с командой аппаратного обеспечения, и они предоставят вам функции самого низкого уровня, поэтому любые изменения, которые они вносят в аппаратную часть (например, просто переопределяют, какие выводы порта они используют), будут не всегда быть критичным к тебе.
Во всех случаях общение является ключевым.