<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Software Safety Integrity Level in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1181217#M58787</link>
    <description>&lt;P&gt;thank you bobpaddock&amp;nbsp;for your reply, I have developed many software project for MCUs but I'm new in the field of safety software, I&amp;nbsp; have studied IEC61508 for starting but I haven't found the right way yet. I don't know from what to start. what is the easiest way to reach SIL3 in software?&lt;/P&gt;&lt;P&gt;which compiler?(for MKV31F MCU)&amp;nbsp;&lt;/P&gt;&lt;P&gt;which analysis tools?&lt;/P&gt;&lt;P&gt;which coding style or standard?&lt;/P&gt;&lt;P&gt;how to calculate SIL for available code?&lt;/P&gt;&lt;P&gt;Is there any free compiler/tool?&lt;/P&gt;&lt;P&gt;I appreciate your reply in advance.&lt;/P&gt;</description>
    <pubDate>Wed, 11 Nov 2020 05:42:47 GMT</pubDate>
    <dc:creator>amirnat</dc:creator>
    <dc:date>2020-11-11T05:42:47Z</dc:date>
    <item>
      <title>Software Safety Integrity Level</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1180765#M58772</link>
      <description>&lt;P&gt;Hello, I use a MKV31F128 MCU in a functional safety project. As I know,&amp;nbsp;MKV31F128&amp;nbsp; has a acceptable FIT rate, 2.3. I use MCUXpresso for software development. How can I calculate SIL (Safety Integrity Level) for my developed software? How can I prove it? Has NXP a tool for this purpose?&amp;nbsp; Thank you in advance.&lt;/P&gt;</description>
      <pubDate>Tue, 10 Nov 2020 12:09:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1180765#M58772</guid>
      <dc:creator>amirnat</dc:creator>
      <dc:date>2020-11-10T12:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: Software Safety Integrity Level</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1180805#M58774</link>
      <description>&lt;P&gt;What SIL level do you require?&lt;BR /&gt;&lt;BR /&gt;To my knowledge there are no certified compilers that work with MUCExpresso.&lt;BR /&gt;&lt;BR /&gt;Something like the Green Hills compiler that is certified to SIL4 is needed,&lt;/P&gt;&lt;P&gt;if SIL 4 is your aim:&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.ghs.com/products/compiler.html" target="_blank"&gt;https://www.ghs.com/products/compiler.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I won't use code from any third-party IDE/Library in my safety related products.&lt;BR /&gt;It is my liability that is on the line, not theirs, and in their fine print legalese they tell you that.&lt;BR /&gt;Also the library code I've looked at tends to suck.&lt;BR /&gt;&lt;BR /&gt;You might find some background information to help you at my Software Safety site:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://softwaresafety.net" target="_blank"&gt;http://www.softwaresafety.net&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Nov 2020 13:31:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1180805#M58774</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2020-11-10T13:31:11Z</dc:date>
    </item>
    <item>
      <title>Re: Software Safety Integrity Level</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1181217#M58787</link>
      <description>&lt;P&gt;thank you bobpaddock&amp;nbsp;for your reply, I have developed many software project for MCUs but I'm new in the field of safety software, I&amp;nbsp; have studied IEC61508 for starting but I haven't found the right way yet. I don't know from what to start. what is the easiest way to reach SIL3 in software?&lt;/P&gt;&lt;P&gt;which compiler?(for MKV31F MCU)&amp;nbsp;&lt;/P&gt;&lt;P&gt;which analysis tools?&lt;/P&gt;&lt;P&gt;which coding style or standard?&lt;/P&gt;&lt;P&gt;how to calculate SIL for available code?&lt;/P&gt;&lt;P&gt;Is there any free compiler/tool?&lt;/P&gt;&lt;P&gt;I appreciate your reply in advance.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Nov 2020 05:42:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1181217#M58787</guid>
      <dc:creator>amirnat</dc:creator>
      <dc:date>2020-11-11T05:42:47Z</dc:date>
    </item>
    <item>
      <title>Re: Software Safety Integrity Level</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1184672#M58854</link>
      <description>&lt;P&gt;"... I&amp;nbsp; have studied IEC61508 for starting but I haven't found the right way yet. I don't know from what to start. what is the easiest way to reach SIL3 in software?"&lt;BR /&gt;&lt;BR /&gt;The 'right way' depends on your starting point and ending points.&lt;BR /&gt;Academia and Industry tend to have different ideas, sadly.&amp;nbsp;&lt;FONT face="inherit"&gt;Academia never has a shipping deadline.&lt;/FONT&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="inherit"&gt;Lind Westfall, Software Safety Guru is having an 8-hour class at the start of December.&lt;/FONT&gt;&lt;BR /&gt;&lt;FONT face="inherit"&gt;It is two hours a day.&amp;nbsp; I STRONGLY &lt;/FONT&gt;suggest&lt;FONT face="inherit"&gt;&amp;nbsp;you take it.&amp;nbsp; I don't see it listed on her website yet, send her and email.&amp;nbsp; She has also been doing free weekly webinars about software safety development. I always make a point to listen to them if I can.&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://www.westfallteam.com/" target="_blank" rel="noopener"&gt;http://www.westfallteam.com/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT face="inherit"&gt;I can give you some other &lt;/FONT&gt;reference&lt;FONT face="inherit"&gt;&amp;nbsp;reading if you want that, I do &lt;/FONT&gt;recommended&lt;FONT face="inherit"&gt;&amp;nbsp;such studies.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; which compiler?(for MKV31F MCU)&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;There are better suited safety parts, in the NXP realm the S32 series.&lt;BR /&gt;TI such as the TMS570.&lt;/P&gt;&lt;P&gt;&amp;gt; which analysis tools?&lt;BR /&gt;&lt;BR /&gt;For static analysis,&amp;nbsp;I have long been a fan of&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://gimpel.com/" target="_blank" rel="noopener"&gt;Gimpel Software LLC's&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Lint product for doing static analysis of my projects.&lt;/P&gt;&lt;P&gt;I was excited about buying the new "PC-lint PLUS" version, even with the price increase. That is until I actually read their&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="http://www.gimpel.com/html/pclp-lic.pdf" target="_blank" rel="noopener"&gt;license agreement&lt;/A&gt;.&amp;nbsp; I detail that fiasco in my blog:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://blog.softwaresafety.net/2018/06/i-have-long-been-fan-of-gimpel-software.html" target="_blank" rel="noopener"&gt;http://blog.softwaresafety.net/2018/06/i-have-long-been-fan-of-gimpel-software.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;gt; which coding style or standard?&lt;BR /&gt;&lt;BR /&gt;That is dictated by your target device/industry.&lt;BR /&gt;FDA?&amp;nbsp; Rail Road? Aircraft (DO-178B)?&lt;/P&gt;&lt;P&gt;At a very minimum follow the MISRA guidelines, that in general are common sense: &lt;A href="https://www.misra.org.uk/" target="_blank" rel="noopener"&gt;https://www.misra.org.uk/&amp;nbsp;&lt;/A&gt;&lt;BR /&gt;You will need to buy the book or the PDF, that is a reasonable price.&lt;BR /&gt;&lt;BR /&gt;Also use astyle so your code is consistent from all developers, and across time.&lt;BR /&gt;What you pick is not as important as picking something and being consistent with it.&lt;BR /&gt;&lt;A href="http://astyle.sourceforge.net/astyle.html" target="_blank" rel="noopener"&gt;http://astyle.sourceforge.net/astyle.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;MISRA will tell you to always use braces {} for ifs/whiles/fors etc.&lt;/P&gt;&lt;P&gt;so get use to such formatting.&amp;nbsp; Avoid shortcuts like if( !x) it would be if( 0 == x ) in MISRA.&lt;BR /&gt;Learn to put constants on the left: if( 0 == x ) not if( x == 0 ) etc.&amp;nbsp; that removed the common if( x = 0 ) bug, because x can not be assigned to a constant.&lt;/P&gt;&lt;P&gt;&amp;gt;how to calculate SIL for available code?&lt;BR /&gt;&lt;BR /&gt;Doing some searches will give you some advice.&lt;BR /&gt;&lt;BR /&gt;Myself I say you can't.&amp;nbsp; The foundation of safety is the requirements document, and the verification and validation documents.&amp;nbsp; It is extremely rare to get those documents for any existing code.&lt;BR /&gt;&lt;BR /&gt;A stable house needs built on a stable foundation.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; Is there any free compiler/tool?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Not that I'm aware of.&amp;nbsp; In the safety realm it is pay-to-play.&lt;BR /&gt;The more likely your device is to kill someone, should something go wrong, the more it costs to get the standards, and tools.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;I look at the code the SDK generates, especially for initialization then write my own version.&lt;BR /&gt;The bottom line is it could be me in the liability suite, it won't be NXP.&lt;BR /&gt;&lt;BR /&gt;Do you really want to tell the Court: "I didn't write that part of my code in my Pacemaker product, it came with my tool package and I never looked at it", "I did not look at the code my free, unvalidated, compiler produced..."?&lt;BR /&gt;&lt;BR /&gt;This is what I'm familiar with in tools, it is one of many and they are not cheap, last I got a quote it was starting around $30,000 USD and that was a longtime ago.&amp;nbsp; $75k would not surprise me today:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://www.ansys.com/products/embedded-software" target="_blank" rel="noopener"&gt;https://www.ansys.com/products/embedded-software&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;General advice is study Formal Methods.&lt;BR /&gt;&lt;BR /&gt;Try to write everything as a state-machine, such as run-to-completion state-machines.&lt;BR /&gt;They are easier to verify than if/else trees.&amp;nbsp; See McCabe's Cyclomatic Complexity number.&lt;BR /&gt;McCabe also sells a package for testing, which you might find of help.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;For RTOS, which I've always avoided in my projects (despite me being involved in the development of uCOS-II years ago (my name is in the first edition of the book)), I'd look at uCOS-II, which is now Open Source.&amp;nbsp; There is uCOS-III that I have less knowledge about.&amp;nbsp; I know uCOS-II has been validated to some higher standards, and there is commercial support for that validated version.&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://www.micrium.com/rtos/" target="_blank" rel="noopener"&gt;https://www.micrium.com/rtos/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The bottom line is we do the best with what we can with what we can afford.&lt;BR /&gt;Sometimes it might be wise to say 'No' to a project.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 17 Nov 2020 19:07:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Software-Safety-Integrity-Level/m-p/1184672#M58854</guid>
      <dc:creator>bobpaddock</dc:creator>
      <dc:date>2020-11-17T19:07:44Z</dc:date>
    </item>
  </channel>
</rss>

