Developmnet process for an embedded project with significant Hardware change
- by pierr
Hi,
I have a good idea about Agile development process but it seems it does not fit well with a embedded project with significant hardware change.
I will describe below what we are currently doing (Ad-hoc way , no defined process yet). The change are divided to three categories and different process are used for them :
complete hardware change
example : use a different video codec IP
a) Study the new IP
b) RTL/FPGA simulation
c) Implement the leagcy interface - go to b)
d) Wait until hardware (tape out) is ready
f) Test on the real Hardware
hardware improvement
example : enhance the image display quaulity by improving the underlie algorithm
a)RTL/FPGA simulation
b)Wait until hardware and test on the hardware
Mino change
exmaple : 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 change as the bring up schedule is always very tight and the customer desired a seemless change when updating to a new version hardware.
How did you manage this kind of hardware hardware change? Did you solve that by a Hardware Abstraction Layer (HAL)? Did you have a automatical test for the HAL layer? How did you test when the hardware platform is not even ready? Do you have well documented process for this kind of change?
Thanks for your insight.