<?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: K70 - HW Random Number Generator Example in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K70-HW-Random-Number-Generator-Example/m-p/161466#M672</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chris&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code is from the uTasker project:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Initialisation:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;POWER_UP(3, SIM_SCGC3_RNGB);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // power up the RNG&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RNG_CR = (RNG_CR_FUFMODE_TE | RNG_CR_AR);&amp;nbsp;&amp;nbsp; // automatic reseed mode and generate a bus error on FIFO underrun&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RNG_CMD = (RNG_CMD_GS | RNG_CMD_CI | RNG_CMD_CE);&amp;nbsp;&amp;nbsp;&amp;nbsp; // start the initial seed process // the initial seeding takes some time but we don't wait for it to complete here - if it hasn't completed when we first need a value we will wait for it then&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Getting a random number:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (RNG_SR &amp;amp; RNG_SR_BUSY) {}&amp;nbsp;&amp;nbsp;&amp;nbsp; // wait for the RNG to become ready (it may be seeding)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while ((RNG_SR &amp;amp; RNG_SR_FIFO_LVL_MASK) == 0) { }&amp;nbsp; // wait for at least one output word to become available &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;return RNG_OUT;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // read from the FIFO and &lt;/STRONG&gt;&lt;STRONG&gt;return 32 bits of output&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.uTasker.com"&gt;http://www.uTasker.com&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 02 Nov 2012 10:34:46 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2012-11-02T10:34:46Z</dc:date>
    <item>
      <title>K70 - HW Random Number Generator Example</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K70-HW-Random-Number-Generator-Example/m-p/161465#M671</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a code example of how to obtain a seed from the hardware random number generator accelerator on the Kinetis K70 board?&amp;nbsp; I've found Chapter 37 (Random Number Generator Accelerator) from the following document, but wasn't able to find an example of this being used anywhere.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://cache.freescale.com/files/microcontrollers/doc/ref_manual/K70P256M150SF3RM.pdf" title="http://cache.freescale.com/files/microcontrollers/doc/ref_manual/K70P256M150SF3RM.pdf"&gt;http://cache.freescale.com/files/microcontrollers/doc/ref_manual/K70P256M150SF3RM.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Chris&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Nov 2012 23:36:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K70-HW-Random-Number-Generator-Example/m-p/161465#M671</guid>
      <dc:creator>chrisc</dc:creator>
      <dc:date>2012-11-01T23:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: K70 - HW Random Number Generator Example</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K70-HW-Random-Number-Generator-Example/m-p/161466#M672</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Chris&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following code is from the uTasker project:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Initialisation:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;POWER_UP(3, SIM_SCGC3_RNGB);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // power up the RNG&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RNG_CR = (RNG_CR_FUFMODE_TE | RNG_CR_AR);&amp;nbsp;&amp;nbsp; // automatic reseed mode and generate a bus error on FIFO underrun&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;RNG_CMD = (RNG_CMD_GS | RNG_CMD_CI | RNG_CMD_CE);&amp;nbsp;&amp;nbsp;&amp;nbsp; // start the initial seed process // the initial seeding takes some time but we don't wait for it to complete here - if it hasn't completed when we first need a value we will wait for it then&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Getting a random number:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (RNG_SR &amp;amp; RNG_SR_BUSY) {}&amp;nbsp;&amp;nbsp;&amp;nbsp; // wait for the RNG to become ready (it may be seeding)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while ((RNG_SR &amp;amp; RNG_SR_FIFO_LVL_MASK) == 0) { }&amp;nbsp; // wait for at least one output word to become available &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;return RNG_OUT;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // read from the FIFO and &lt;/STRONG&gt;&lt;STRONG&gt;return 32 bits of output&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.uTasker.com"&gt;http://www.uTasker.com&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Nov 2012 10:34:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K70-HW-Random-Number-Generator-Example/m-p/161466#M672</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2012-11-02T10:34:46Z</dc:date>
    </item>
  </channel>
</rss>

