<?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>OSBDM and TBDMLのトピックRe: Programming JS16 with USBDM (JM)</title>
    <link>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616938#M3403</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks a lot. This works.&lt;/P&gt;&lt;P&gt;I would not expect that the Security setting does affect more than the two bits of 0xFFBF. There's no reason for that.&lt;/P&gt;&lt;P&gt;USBDM need not calculate checksums. These are in the s19 file and not affected from the contents of 0xFFAD to 0xFFC0.&lt;/P&gt;&lt;P&gt;It's controlled by the .prm file. E.g. for a JS16 it has these lines:&lt;/P&gt;&lt;P&gt;CHECKSUM&lt;BR /&gt;&amp;nbsp; CHECKSUM_ENTRY&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; METHOD_CRC_CCITT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8D9D&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xC400 TO 0xFFAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xFFC0 TO 0xFFFF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xFFB8 SIZE 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNDEFINED 0xff &lt;BR /&gt;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dietmar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 15 Jan 2017 01:14:01 GMT</pubDate>
    <dc:creator>dschwertb1</dc:creator>
    <dc:date>2017-01-15T01:14:01Z</dc:date>
    <item>
      <title>Programming JS16 with USBDM (JM)</title>
      <link>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616936#M3401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;This is a follow-up to my post from June &lt;A href="https://community.nxp.com/message/669508"&gt;https://community.nxp.com/message/669508&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For bypassing the JS16 bootloader, it's important that the addresses FFB8/9/A are written:&lt;/P&gt;&lt;P&gt;FFB8: Flash Block Checksum High Byte&lt;/P&gt;&lt;P&gt;FFB9: Flash Block Checksum High Byte&lt;/P&gt;&lt;P&gt;FFBA: Checksum Bypass&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It seems that the USBDM Flash Programmer does not write these.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E.g. this is the content of my s19 file:&lt;/P&gt;&lt;P&gt;S106FFB8&lt;STRONG&gt;D13500&lt;/STRONG&gt;3C&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Written with USBDMs Flash Programmer and read again using USBDM Memory Dump, I get this:&lt;/P&gt;&lt;P&gt;S123FFA0FFFFFFFFFFFFFFFFFFFFFFFFFFFF01ADFFFFFFFFFFFFFFFF&lt;STRONG&gt;FFFFFF&lt;/STRONG&gt;FFFFFFFFFEAE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Written with a PE Multilink:&lt;/P&gt;&lt;P&gt;S123FFA0FFFFFFFFFFFFFFFFFFFFFFFFFFFF01AEFFFFFFFFFFFFFFFF&lt;STRONG&gt;D13500&lt;/STRONG&gt;FFFFFFFFFEA4&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The difference AD vs AE is OK. This is the clock trim value.&lt;/P&gt;&lt;P&gt;The checksum is calculated from 0xC400 TO 0xFFAD and 0xFFC0 TO 0xFFFF so the trim value does not affect the checksum.&lt;/P&gt;&lt;P&gt;It seems that the USBDM programmer just ignores anything in this address range. Maybe the Flash Programmer is calculating the trim value and writing just this to this page.&lt;/P&gt;&lt;P&gt;Also, the "Verify Flash" does not find this difference.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Programmer: 4.12.1.140&lt;/P&gt;&lt;P&gt;BDM Firmware 4.12.1&lt;/P&gt;&lt;P&gt;DLL Ver 4.12.1.130&lt;/P&gt;&lt;P&gt;Windows 7 Professional, 64 bit&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;Dietmar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 14 Jan 2017 23:53:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616936#M3401</guid>
      <dc:creator>dschwertb1</dc:creator>
      <dc:date>2017-01-14T23:53:08Z</dc:date>
    </item>
    <item>
      <title>Re: Programming JS16 with USBDM (JM)</title>
      <link>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616937#M3402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dietmar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry I missed your earlier post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The security region of the flash is treated differently by the programmer.&lt;/P&gt;&lt;P&gt;Have a look at the advanced tab in the stand-alone programmer if you wish to manually set these values.&lt;/P&gt;&lt;P&gt;Alternatively, choose "Image" in the target tab to program as regular Flash.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/10913iD7847E00BA04E57F/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/10779i4FB9F93318127B25/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In Codewarrior these options are controlled by the launch configuration.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/10954iE79183A68863BAE4/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/10998i00E06A1BC1A08698/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USBDM verifies the flash against these modified values.&amp;nbsp; It does not ignore the differences.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;USBDM does not support calculating flash checksums so this would have to be done in some other fashion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 Jan 2017 00:11:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616937#M3402</guid>
      <dc:creator>pgo</dc:creator>
      <dc:date>2017-01-15T00:11:25Z</dc:date>
    </item>
    <item>
      <title>Re: Programming JS16 with USBDM (JM)</title>
      <link>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616938#M3403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks a lot. This works.&lt;/P&gt;&lt;P&gt;I would not expect that the Security setting does affect more than the two bits of 0xFFBF. There's no reason for that.&lt;/P&gt;&lt;P&gt;USBDM need not calculate checksums. These are in the s19 file and not affected from the contents of 0xFFAD to 0xFFC0.&lt;/P&gt;&lt;P&gt;It's controlled by the .prm file. E.g. for a JS16 it has these lines:&lt;/P&gt;&lt;P&gt;CHECKSUM&lt;BR /&gt;&amp;nbsp; CHECKSUM_ENTRY&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; METHOD_CRC_CCITT&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INIT&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x8D9D&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xC400 TO 0xFFAD&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xFFC0 TO 0xFFFF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp;&amp;nbsp;&amp;nbsp; READ_ONLY&amp;nbsp;&amp;nbsp; 0xFFB8 SIZE 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNDEFINED 0xff &lt;BR /&gt;&amp;nbsp; END&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;END&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Dietmar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 Jan 2017 01:14:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616938#M3403</guid>
      <dc:creator>dschwertb1</dc:creator>
      <dc:date>2017-01-15T01:14:01Z</dc:date>
    </item>
    <item>
      <title>Re: Programming JS16 with USBDM (JM)</title>
      <link>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616939#M3404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dietmar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I view the 16 bytes including the the BACKDOOR key and such to be part of the same structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The following are clearly "security related"&lt;/P&gt;&lt;P&gt;BACKDOOR&lt;/P&gt;&lt;P&gt;FLASH/EEPROM protection&lt;/P&gt;&lt;P&gt;SECURITY byte.&lt;/P&gt;&lt;P&gt;The other data that has appeared in this area is less so.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I originally wrote the programmer interface I thought it useful to have functionality to set the data for this area independent of the memory image.&amp;nbsp; If I was doing it again I would probably be more minimalist. These days I usually map the whole area to a C struct and program it from the image.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Perhaps I should name it something else or change it but it's unlikely to happen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note if you choose the "Smart" option&amp;nbsp; then it should use the data from the image if present or&amp;nbsp; use the programmer settings if not.&amp;nbsp; This is the option I usually use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bye&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 15 Jan 2017 04:21:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/OSBDM-and-TBDML/Programming-JS16-with-USBDM-JM/m-p/616939#M3404</guid>
      <dc:creator>pgo</dc:creator>
      <dc:date>2017-01-15T04:21:05Z</dc:date>
    </item>
  </channel>
</rss>

