Robert Kits van Heyningen

image
Vice President of Research & Development

Biography has not been added

RKvH

's contributions
Articles
Comments
Discussions
    • Even easier and arguably much faster and more correct would be to buy a license for "Understand for C" and analyse the code. You now have data dictionaries, call trees, butterfly diagrams, and so much more. Go to their website and check it out it is an absolutely outstanding tool. www.scitools.com

    • I have written embedded code for (many) years, starting with the 8008 and 8048 processors in assembly thru to 5485 in C. The chances of you writing a real time premptive kernel correctly in under a year is vanishingly small. Go look at uc/OS, a kernel whose code is downright stunning in its beauty, cleanlines, and correctness. Many of the vendors give you the source code if you feel the need to look at it. We use MQX, which has been excellent, no problems or issues, and we use it on both the 52259 and 5485 micros. We then designed several boards in another product line using the 52259 and brought up the boards and the kernels stunningly fast. Now we are taking those boards and adding an ethernet interface. That is just a part of the MQX, we don't have to spend any time writing and debugging an TCP/IP stack (which is not for the faint of heart). We spend our time writing the code that is the functional part of our products, which is what the customer sees and cares about.

    • Tools are cheap. As a VP at my company, my time is expensive. High quality tools allow me to be more productive, which is much cheaper in the long run. We are using the MQX kernel in some of our products. we paid for usign it, and we have paid for support, and it was a fantastic investment. The kernel just works, and we have phone support and email support that has kept us going. The problems we encountered were not due to MQX,but they were able to help us out anyway. Not free (at least not for things like CAN stacks, etc) but so worth it. Before you suggesst LInux, the code is free, and we do use it in one product, but at the cost of hiring someone that is our Linux expert. SO in fact its very expensive.

    • It is scary to read comments such as this one, presumably made by an engineer. Do you believe going back to putting 8 year old children to work in mines and factories is a good thing? How about removing all safety equipment from machinery? It adds cost to the machines, and potential downtime, so it interferes with unfettered greed?

    • I would love to investigate Ada and Spark. Unfortunately, they are not available for the Coldfire processors that my company uses. We have size, power, and cost targets that drive our microprocessor selections. As bad as C is, the number of compiler vendors available has forced a huge improvement in both the quality and the performance of the compilers. When there is only one vendor for the compiler, the quality is normally terrible. Our experience with the (sole source) compiler for the Analog devices DSP is so poor we are designing out the part. In the 1980s, the CMS compiler that the Navy mandated everyone use was so bug ridden that we would look at the assembler output of the compiler to find the errors and manually insert code. The issue of software quality is multifaceted, and includes requirements, process, tools, and people. Any one of them can make software quality an illusion.

    • Embedded systems typically implement some sort of algorithm to accomplish a function, for example, controlling stepper motors so that an antenna can track a satellite as the vessel that the antenna is mounted on moves. The algorithm and the implementation absolutely needs to be designed, documented, tested, refined, iterated, field tested, etc. To suggest that no design is needed is ludicrous. Correctness and efficiency are absolutely vital. Maybe web pages don't need design, but the real world does.