11.07.2015 Views

Atmel QTouch Library User Guide

Atmel QTouch Library User Guide

Atmel QTouch Library User Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MISRA Compliance ReportThis section lists the compliance and deviations for MISRA standards of coding practice for the<strong>QTouch</strong> acquisition method libraries for 2K devicesWhat is coveredThe <strong>QTouch</strong> acquisition method libraries for 2K devices adhere to the MISRA standards. Theadditional reference code provided in the form of sample applications is not guaranteed to beMISRA compliant.Target EnvironmentDevelopment EnvironmentMISRA Checking softwareMISRA Rule set appliedIAR Embedded WorkbenchThe MISRA C Compliance has been performed for the libraryusing MISRA C 2004 Rules in IAR Workbench developmentenvironment.MISRAC 2004 Rule SetDeviations from MISRA C Standards<strong>QTouch</strong> acquisition method libraries for 2K devicesThe <strong>QTouch</strong> acquisition method libraries were subject to the above mentioned MISRAcompliance rules. The following exceptions have not been fixed as they are required for theimplementation of the library.Applicable <strong>QTouch</strong> librariesReleaseRule No Rule Description Exception noted / How it is addressed1.1 Rule states that all codeshall conform to ISO 9899standard C, with noextensions permitted.This Rule is not supported as the libraryimplementation requires IAR extensions like__interrupt. These intrinsic functions relate todevice hardware functionality, and cannot10.1 Rule states that implicitconversion from Underlyinglong to unsigned long10.6 This Rule says that a 'U'suffix shall be applied to allconstants of 'unsigned' type14.4 Rule states that go-tostatement should not beused.19.10Rule states that In thedefinition of a function-likemacro, each instance of aparameter shall be enclosedin parenthesispractically be avoided.The library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.The library uses macros to combine symboldefinitions to form a unique expanded symbolname and in this, the usage of unsigned qualifiersfor numeric constants (e.g. 98u) causes namemangling. This is the only occurrence of this errorin the library.The library uses conditional jump instructions toreduce the code footprint at a few locations andthis is localized to small snippets of code. Hencethis rule is not supported.There is one instance where the library breaks thisrule where two macro definitions are combined toform a different symbol name. Usage ofparenthesis cannot be used in this scenario.1848207K-AT42-09/11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!