MISRA stands for "Motor Industry Software Reliability Association". IAR has an Embedded Workbench which I believe is a Tester to verify the implementation for the MISRA C rules.
Does KEIL have a such a tool?
If there a PDF document available that spells out the rules. I have search and all I can find are test suites.
"IAR has an Embedded Workbench which I believe is a Tester to verify the implementation for the MISRA C rules."
IAR's "Embedded Workbench" is their equivalent of Keil's uVision: it's their IDE, so it may well include a conformance tester, but it isn't in itself a conformance tester.
"If there a PDF document available that spells out the rules."
Yes - you have to buy it from MISRA: http://www.misra.org.uk/
Unfotunately, MISRA is one of the old-school standards bodies that insists on charging for its standards :-(
Thanks,
I asked the library (at work) to order it. I'm always looking to improve my coding style.
I'm always looking to improve my coding style.<p>
MISRA rules shouldn't be considered "good coding style", but a tool to remove some of the ambiguities of C in safety-critical applications.
There are some downright ridiculous rules contained in the MISRA-C standard. Some of them will boil down to "Program shall not contain bugs.", which is pretty much a rule for any program.
Another one, if followed to the letter, would turn a simple
a = b + c++;
into
a = (b + (c++));
There's also a a rule that forbids the use of goto. Have fun trying to exit that triple-nested loop.
MISRA is bullshit
such a statement guarantees that your code is.
Erik
why is you bee thinking that this????
a profffesional programer must learn all tools he can and finde best good ones to use for her job
i reed about it and think about it and learn abot it
sometime a tool you say not gggod is gooder by other me!!!!
i think sir eric can be good right sometime and you have code that is how you sayed it!!
plz dont be destruct commments and construct comment to help other peoples
thankyou
"I'm always looking to improve my coding style"
That's an excellent attitude!
Whether or not you choose to adopt it, an intelligent review of what MISRA (or any other guidance) says should be beneficial.
By looking at what MISRA (or any other guidance) says, and thinking about whether it is good, appropriate and/or worthwile in your particular circumstances you are (almost) bound to learn something!
:-)
"MISRA is bullshit"
That is an extremely foolish attitude.
by simply dismissing it like that out-of-hand, you are certain to learn nothing!
"out of hand"? I doubt that.
This was not about MISRA, but about something similar, and presenting it to someone I got the reaction "then it will not be real C" which I knew from that person ment "understandable and maintainable"
A general comment like "MISRA is bullshit" is the same as stating "I have no intention of writing good code"
You can write perfectly awful code even (or "especially") when following the MISRA rules religiously.
he write a general commment and is bad to be saying
i agreee wit eric that is bad but he is you are be writing generailisation????
generailly a generailisation not good you be thinking????
plz warming to the comment!
"You can write perfectly awful code even (or "especially") when following the MISRA rules religiously."
Indeed, quite awful code. There has been a length thread in comp.arch.embedded on this topic:
groups.google.com/.../492cec375ac59ba3
I may have written a general comment, but decades of experience with Cidiots makes me stand by it. I have meen no one that, however much they stood by their own, would not discuss coding practices without rejecting them out of hand and, at the same time, wrote good code.
sir eric
i be hit your nerve ends????
sorry to you i saying
i you think is right on cooding practice you think
but you not thinkling make generel commment is bad yes with life?????
i think you experience of years is very good and worth lot
i now have experitnce to big rich programer but not good old years so you freind help me please????
you freind help me please????
with WHAT
Hi,
its me, the bullshit man again ;-).
I really think that MISRA is more academic but not for professionals. i have a lot of yars experience in professional development of embedded devicec in very very big projects. I dont need a kindergarden-guidance like MISRA. one rule is "dont use nonstandard language extensions". this is simply not possible in reality, like many more rules.
understand me right, i am not against guidancees, but MISRA is one of the badest i have ever seen.
"with WHAT"
no you not reading all message again!
i being give youy complerment you know
i say diffrent for you now
yo have decedes of knowing and are good old and wise and clevere i be think
you sometime giving good advicce and helping men
but sometime i thinking you be obsterenentt ;)
go help freind again now!!!!
please you should be writing message good like thiis firstly and say reeson is nice yes
i thinking you not bigot now ;)
"one rule is "dont use nonstandard language extensions"."
So for example, when using Keil C51 plus MISRA-C guidelines, one is limited to the memory models selectable at the toolchain level and can't mix; that is, use a predominantly small model with xdata-qualified objects where needed?
Come to think of it now, one couldn't access SFRs either due to the way they are defined in the header files, right?
Does anybody use C51 plus MISRA-C guidelines?
MISRA C--A set of guidelines meant to stifle the artistic freedom of fun-loving C developers worldwide.
extracted from "
one is limited to the memory models selectable at the toolchain level and can't mix;
That's what that rule says, yes.
I feel really sorry for anyone who has to do this.
There are 'rules' in MISRA C that makes for better software
Of course. And of course those can be found in any book about good coding practices, along with the cases when it might make sense to break them (for example the "Goto must not be used." rule).
(for example the "Goto must not be used." rule).
that rule is broken "every day by everybody"
What is a switch statement but a bunch of "if - goto" statements?
HOWEVER, the C 'structure' does not lend itself very well to the implemetation of GOTO, so, thinking of it I have no assembler that is not full of GOTO and no C that has any.
View all questions in Keil forum