Can someone suggest some simulation environments for developing embedded Linux systems before a hardware target is available? I haven't selected the target's CPU type. But eventually, the target will have a text display and IP/TCP stacks.
UML won't emulate a different CPU from it's host system, and probably wouldn't give the OP the environment he needs
IIRC, VMWare is limited to certain CPU types (mostly Intel) and certain OS guests The OP could go with the QEMU emulator
formatting link
which emulates about 6 different CPUs (Sparc x 2, Mips, Arm, PowerPC, Intel),
NB, any virtualization solution will offer only a limited emulated hardware platform. If the OP's hardware target (NIC, video, serial, USB, hd controller, etc) differs from the virtualization environment, he will have to accomodate the low level differences when he finally ports to the real device.
In a project I worked on, we started to implement the application on a Linux host and tested it on the host as well. The software architecture was organized in modules with well defined interfaces (which is a good idea for most software projects), and typically there would be one module in user space to deal with every specific hardware (for example, one CAN communication module to take care of the CAN communication, etc.; there was also a kernel driver for it, but typically there is some specific handling of every piece of hardware in user space as well). For the host environment, we replace those hardware-specific modules by simpler modules using the hardware that we had on the host (like replacing the CAN communication by TCP/IP - module that we needed for TCP/IP communication with other units anyway). The important point was that the replacing modules needed to provide the same interface as the real ones. This allowed us to test all the application logic in the host environment, with all it means (easier debugging, etc.). In parallel, when the hardware became available, we ported what was already working on the host to the target.
That required careful project planning but it worked well for us.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.