Hi Falk,
1 - I would recommend the brand new S12XE family with also ECC on E²PROM (actually EEEPROM).
The MC9S12KG also features Flash ECC, as well as MC9S12KT256. I don't know if they are recommended for new designs.
2 - I don't think there is any specific for that. As ideas, you can use the XGATE to calculate checksums on the RAM and check with a checksum the CPU12X have calculated. Only allow certain actions if both the XGATE and CPU12X agree on the same calculation.
As they are differentes core (XGATE is RISC, CPU12X is CISC), the same C code will be compiled a different way, but you call also run two different algorithms and check the result of the data...
You can use the XGATE independantly.
On the S12XE, you even have a Supervisor State, where control is different. You can set special memory access to the core(s) you want on the memory are you want. It is the perfect way to prevent a task from corrupting memory from another task.... There are so many solutions that a post is not enough.
3 - There are quite a lot in fact.
Freescale Technology Forum materials does show few very interestings aspects and how to use these features.
I can see:
Look for FTF presentations on freescale.com.
4 - A Windowed Computer Operating Properly is a watchdog expecting a refresh between certain times. Meaning that you not only say it needs to be refreshed often enough (to prevent time-out), but it means it needs to be refreshed at a certain time.
This allowed time frame is called the window.
The application is more robust as any wrong behaviour is detected earlier and you can detect more wrong behaviour with a stricter COP.
Most of what I said here is taken from Application Notes and FTF Presentations.
Cheers,
Alban.