Hi - On Mon, Mar 07, 2005 at 09:06:31AM -0800, Imran Shafiq wrote: > [...] automotive subsystems are comprised of [ECU] Electronic > Control Units (e.g fujitsu mb90f598, Powerpc mpc 566) connected > through a BUS system usually CAN. [...] So does that means I have > to implement the whole instruction set for every ECU?? That's right. If you want to simulate software compiled for a given platform, and a model of that platform is not already available, then there is some coding to do. I believe there is no PowerPC model in sid at the moment. > I also have to simulate UART, Timer etc Some UART and timer models are already included in sid. They may be useful as is, or may serve as a basis for derivation. > It should be possible to check the data on the bus So that would > mean I have to implement the CAN protocol?? Well, one doesn't simulate a "protocol" per se, rather entities that perform it. You would need to pick a level of abstraction at which the simulator should model a CAN system. This could be at the controller level, wire level, perhaps even some software level. This allows you to trade of hardware fidelity versus modeling simplicity. > Simulator should also report stack overflows or memory > limitations. Some of this is often best done by instrumentation added by the compiler (check gcc's -fstack-limit options). Or a simulator could also model "missing" physical memory that would trigger bus errors upon attempted access. Think of the latter as mprotect(PROT_NONE). > IS all this possible with SID considering the fact that i have to do > it in 5 months :) . Probably, if you pick another CPU architecture that is already well-supported in sid, such as ARM. If nearly all of your software is to be written in C, you could argue that the difference in the processors is almost immaterial. > Where can i start with an example. any pointers? I would start with one of the classic sid configurations: running an application linked with the eCos RTOS on a model of a board such as the ARM PID. Analyze the application, eCos linkages, memory and peripheral layout, and the corresponding sid configuration. - FChE