I'm working on industrial code for a Cortex-M0 controller, using µVision Keil 4.71.0.0 IDE. Our code is supposed to respect MISRA rules and is routinely checked with QA·C.
My problem is that some controller-specific functions, like __wfi(), __current_sp(), etc., don't seem to be defined anywhere, and QA·C is complaining about them:
340: __wfi();
^
Msg(5:3335) No function declaration.
Implicit declaration inserted: 'extern int __wfi();'.
CC Coding Rule 6
Right-clicking on the function name in Keil and selecting "Go to definition" confirms that the function is not defined:
Source Browser: '__wfi' - undefined Definition/Reference!
Does Keil provide an official header file with prototypes of such functions? Hard coding such prototypes in our project's code or creating QA·C exceptions will require a formal review process which I would like to avoid.