??? 04/10/12 18:54 Read: times |
#187097 - Wrong hw selected, or just big lack of platform knowledge? Responding to: ???'s previous message |
Erik Malund said:
a company I know of had a project delayed 6 months by deciding to use the embedded Linux OS
Erik There aren't really any embedded Linux OS, unless you are talking about the porting of Linux to platforms without memory management unit - a stupidity in itself since the unix process model is designed all around the support for a MMU and for protection of the memory spaces of the individual processes. But there exists a number of packaged systems where Linux is run together with a lighter set of system applications - normally BusyBox - to save on RAM and flash space. But these installations are basically running the real Linux kernel - it's just that you don't turn on more features than you need when you build the kernel. And it's normally built for a different architecture than the PC. Often ARM or PPC. In the end, Linux really isn't an OS. But it is a central component that is packaged with lots of other tools to form an OS. When talking about Linux in embedded environments, it's obviously important that the developers do know unix and knows how to write unix applications. Next thing is that if they don't have experience with low-level programming, device-driver development etc, then they should not put together their own kit but should look into the reference software that the processor manufacturer - often together with some company specializing in embedded systems development - puts together. That would mean that there exists a reference hardware platform and a Linux kernel with working drivers for the processor-supported hardware. Next is that if a company do add own, additional, hardware, they must (doesn't matter what OS they use) know how to take the existing driver for that hardware and create the specific maps in the source code to how the external hardware is connected. Do you happen to know any specifics what went wrong? We all know that embedded development is not the same as PC-class software development. Same with Linux - you do need platform skills if you do work with a specific platform - or you need to invest the time to get these skills. Getting the skills after a platform is selected will result in project delays. I have been in situations where a chip manufacturer claims their processor supports USB or have a specific performance, but in the end have a broken hw design. In that case, there will be big issues whatever OS that is selected. The biggest issue with Linux is that lots of people assume that just because 13-year-olds writes very advanced software for Linux machines, a professional programmer will automagically be able to work efficiently with a Linux platform. Thinking that knowledge about .NET programming is enough is like thinking C64 programming skills is enough to start working with the 3D engine of a modern computer game. |