원래의 질문에서 언급했듯이 반복적 인 하드웨어 설계를 할 때 가장 큰 문제 중 하나는 스핀의 비용이 될 것입니다. 분명히 비용은 하드웨어의 특성 (예 : 보드 크기, 보드 복잡성, 구성 요소 비용, 로딩 비용)에 따라 달라질 수 있습니다. 그러나 복잡한 보드를 사용하는 경우 많은 반복 작업을하는 데 비용이 많이 듭니다.
그리고 하드웨어의 특정 부분의 디자인 세부 사항을 나중에 반복 할 수는 있지만 처음부터 바로 부분을 수용해야 할 가능성이 있습니다 (예 :I/O 할당, PCB 공간 할당), 하드웨어를 반복적으로 수행하기 어렵게 만듭니다.
어느 정도까지는 하드웨어의 의미에 따라 다릅니다. 하드웨어 팀이 모든 드라이버와 하드웨어 테스트 코드를 개발해야하는 경우에는 다른 이야기입니다. 소프트웨어 팀이 반복적으로 기능을 사용할 수 없게 만드는 이유는 없으며 프로젝트 팀 구성원이어야합니다 (꼭해야만 함).
개발중인 하드웨어 유형과이 소프트웨어가 대화하기 위해 사용하는 인터페이스에 따라 부분 기능 보드를 설계하는 것이 잠재적으로 유용 할 수 있습니다. 이 보드는 모든 인터페이스를 디버깅 및 검증을 허용하는 방식으로 노출시키는 경우 가장 효과적입니다. 따라서 실제 하드웨어가 출시되기 전에 저수준 루틴을 부분적으로 테스트 할 수 있습니다. 그러나 실제 하드웨어를 수행하는 데 시간이 많이 걸리고 개발 버전을 수행하는 데 소요되는 시간이 훨씬 적을 경우에만 유용 할 것입니다. 그렇지 않으면 실제 하드웨어를 사용하고 비용을 절감하십시오.
연속 통합은 원칙적으로 이상적이지만 개발중인 하드웨어의 유형에 따라 실용성이 결정될 것입니다. 하드웨어가 자동 테스트에 적합하다면이 방법을 사용하는 것이 좋습니다. 이것을 달성하는 방법에 대한 몇 가지 지침은 this 질문을 참조하십시오. (fpgas와 같은 프로그래머블 로직은 항상 지속적으로 통합되어야 함)