Post navigation

“Testing leads to failure”

That quote from Burt Rutan came to my mind this morning. Burt is an American aerospace engineer, noted for his originality and engineering creativity.

I’m porting a project from a proprietary and closed tool chain to gcc/GNU tools. Building and running that project with the original tools failed in many aspects. I have learned a lot from these failures, more than if it would have worked out of the box. And it reminds me how modern, powerful and versatile the open source GNU tools are. Still a long way to go with that project, and lot of things to learn.

Hi Roberto,
sure!
The original project was built with IAR. What I have found is that gcc reports unused variables and parameters, or variables initialized but not used afterwards. It seems that the other compiler did not flag them, or they were simply ignored. An interesting thing I have found was that a variable was declared as ‘extern const’, but defined without the ‘const’: the GNU tools catched this programming error. The other thing I have found is that during testing, memory (structs) were used in a misaligned way: there was no special treatment on the IAR side for that memory, so they were simply lucky that access was aligned. When I linked that project with GNU tools, it gave me a hard fault because it was not aligned. In my experience and with my projects, I have found that building and using a project with different tools/compilers increase the quality of it: simply because different tools catch different things.

That’s some savvy insight.. but I thought you were blogging about firmware testing in Eclipse – and it would have been very interesting from my perspective!
Do you think you will ever write something about it? Or you have some hint about?

The picture made me laugh. It was a reaction to my first thought that the copper wires weren’t insulated (maybe they are?). In any case, back in the day I once had a student who wire-wrapped a pretty sizable board. It was actually quite neatly done and I could tell he spent considerable effort on it. Too bad half of the wrapped posts were round!

IAR do have a good MISRA checker built in. This is something that lacks in GNU tooling – no matter that there are numerous source check tools there is no free MISRA checker.
I think that this is one of the reasons to keep IAR in the bussiness – many standard do require MISRA check.

Yes, there is no free MISRA checker to my knowledge. I’m covering the MISRA requirement with PC-Lint (http://www.gimpel.com/html/misra.htm) which is very reasonable priced at US$389 for the value it provides.