Development process for an embedded project with significant hardware changes

Posted by pierr on Stack Overflow See other posts from Stack Overflow or by pierr
Published on 2010-03-15T03:08:38Z Indexed on 2010/03/15 3:19 UTC
Read the original article Hit count: 735

I have a good idea about Agile development process but it seems it does not fit well with a embedded project with significant hardware changes.

I will describe below what we are currently doing (Ad-hoc way, no defined process yet). The changes are divided into three categories and different processes are used for each of them:

  1. complete hardware change

    example : use a different video codec IP

    a) Study the new IP

    b) RTL/FPGA simulation

    c) Implement the legacy interface - go to b)

    d) Wait until hardware (tape out) is ready

    f) Test on the real hardware

  2. hardware improvement

    example : enhance the image display quality by improving the underlying algorithm

    a) RTL/FPGA simulation

    b) Wait until hardware and test on the hardware

  3. Minor change

    example : only change hardware register mapping

    a) Wait until hardware and test on the hardware

The worry is it seems we don't have too much control and confidence about software maturity for the hardware changes as the bring-up schedule is always very tight and the customer desired a seamless change when updating to a new version of hardware.

How did you manage this kind of hardware change? Did you solve that by a Hardware Abstraction Layer (HAL)? Did you have a automatic test for the HAL layer? How did you test when the hardware platform is not even ready? Do you have well-documented processes for this kind of change?

© Stack Overflow or respective owner

Related posts about process

Related posts about project-management