Unless available memory is totally exhausted, in an embedded design it is worthwhile considering the implementation of some self-testing capabilities. Modern electronics tends to be amazingly reliable, but failures are still possible. In an embedded system there are broadly four categories of failure: 1. CPU 2. Peripheral 3. Memory 4. Software errors If a CPU fails, it tends to be a hard failure. This does not offer any possibility for self-testing. Partial failure of a CPU is very unlikely. In a multicore system, it is good practice to assign one of the cores as "master" so that it can monitor system integrity.
展开▼