<?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 9S08PA60 in CW MCU 10.4/10.6, Processor Expert generated intFlash Code Fail in CodeWarrior Development Tools</title>
    <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367594#M1939</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Hi all,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My MCU is 9S08PA60, use PE to generate a Flash component,&lt;/P&gt;&lt;P&gt;below is IFsh.c&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;typedef struct {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp;&amp;nbsp; uint8_t &lt;SPAN style="color: #ff0000;"&gt;code&lt;/SPAN&gt;[&lt;SPAN style="color: #ff0000;"&gt;12&lt;/SPAN&gt;];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Structure required to copy code to ram memory */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; /* Size of this structure needs to be at least (but best) the size of the FnCmdInRam_ */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;} FnCmdInRamStruct;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;typedef void (* near pFnCmdInRam)(void);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;/* Global variables */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;static void &lt;SPAN style="color: #ff0000;"&gt;FnCmdInRam_&lt;/SPAN&gt;(void)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; NVM_FSTAT = 0x80U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear flag command buffer empty */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; while (NVM_FSTAT_CCIF == 0U) {}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait to command complete */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;#pragma MESSAGE DISABLE C1805&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable warning C1805 "Non-standard conversion used" */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;/*lint -save&amp;nbsp; -e740 -e931 Disable MISRA rule (1.2) checking. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;static void CallFnCmdInRam()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; FnCmdInRamStruct FnCmdInRam = *(FnCmdInRamStruct *)(FnCmdInRam_); /* Create a copy of Wait in RAM routine on stack */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; ((pFnCmdInRam)&amp;amp;FnCmdInRam)();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Call code in RAM */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;size of the code array is 12, but size of function &lt;SPAN style="color: #0000ff;"&gt;&lt;SPAN style="color: #ff0000;"&gt;FnCmdInRam_&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;is 14, crash in all flash operation.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;10.4 with this issue, updated to 10.6 + update 1.0.0 and it remains.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;need help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bill&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 04 Oct 2014 07:25:48 GMT</pubDate>
    <dc:creator>BillQu</dc:creator>
    <dc:date>2014-10-04T07:25:48Z</dc:date>
    <item>
      <title>9S08PA60 in CW MCU 10.4/10.6, Processor Expert generated intFlash Code Fail</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367594#M1939</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;"&gt;Hi all,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My MCU is 9S08PA60, use PE to generate a Flash component,&lt;/P&gt;&lt;P&gt;below is IFsh.c&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;typedef struct {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp;&amp;nbsp; uint8_t &lt;SPAN style="color: #ff0000;"&gt;code&lt;/SPAN&gt;[&lt;SPAN style="color: #ff0000;"&gt;12&lt;/SPAN&gt;];&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Structure required to copy code to ram memory */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; /* Size of this structure needs to be at least (but best) the size of the FnCmdInRam_ */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;} FnCmdInRamStruct;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;typedef void (* near pFnCmdInRam)(void);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;/* Global variables */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;static void &lt;SPAN style="color: #ff0000;"&gt;FnCmdInRam_&lt;/SPAN&gt;(void)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; NVM_FSTAT = 0x80U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear flag command buffer empty */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; while (NVM_FSTAT_CCIF == 0U) {}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait to command complete */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;#pragma MESSAGE DISABLE C1805&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Disable warning C1805 "Non-standard conversion used" */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;/*lint -save&amp;nbsp; -e740 -e931 Disable MISRA rule (1.2) checking. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;static void CallFnCmdInRam()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; FnCmdInRamStruct FnCmdInRam = *(FnCmdInRamStruct *)(FnCmdInRam_); /* Create a copy of Wait in RAM routine on stack */&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; ((pFnCmdInRam)&amp;amp;FnCmdInRam)();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Call code in RAM */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;&amp;nbsp; return;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;size of the code array is 12, but size of function &lt;SPAN style="color: #0000ff;"&gt;&lt;SPAN style="color: #ff0000;"&gt;FnCmdInRam_&lt;/SPAN&gt; &lt;SPAN style="color: #000000;"&gt;is 14, crash in all flash operation.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;10.4 with this issue, updated to 10.6 + update 1.0.0 and it remains.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;need help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bill&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 04 Oct 2014 07:25:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367594#M1939</guid>
      <dc:creator>BillQu</dc:creator>
      <dc:date>2014-10-04T07:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: 9S08PA60 in CW MCU 10.4/10.6, Processor Expert generated intFlash Code Fail</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367595#M1940</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't have a PA60 but a TWR-S08PT60.&lt;/P&gt;&lt;P&gt;I will perform some tests on my side and will keep you informed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Pascal Irrle&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2014 12:49:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367595#M1940</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2014-10-08T12:49:26Z</dc:date>
    </item>
    <item>
      <title>Re: 9S08PA60 in CW MCU 10.4/10.6, Processor Expert generated intFlash Code Fail</title>
      <link>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367596#M1941</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bill,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've created a project with the wizard including Processor Expert.&lt;/P&gt;&lt;P&gt;I've added the intFlash bean and enabled the SetByteflash and Getbyteflash function.&lt;/P&gt;&lt;P&gt;In the main.c file I've added the code:&lt;/P&gt;&lt;P&gt;/* Erase whole sector - necessary only if Write mode property is set to "Write" */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err = IFsh1_EraseSector(0xE000);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Write number 28 to address 0xE000 */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err = IFsh1_SetByteFlash(0xE000, 28);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read contents of internal FLASH array on address&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xE000 and write it to variable Data */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Err = IFsh1_GetByteFlash(0xE000, &amp;amp;Data);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is working fine on my board.&lt;/P&gt;&lt;P&gt;I see in the flash memory the value 1C at 0xE000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've disassembled the IFsh1.c file and got:&lt;/P&gt;&lt;P&gt;DISASSEMBLY OF: '.text' FROM 1036 TO 1905 SIZE 869 (0X365)&lt;/P&gt;&lt;P&gt;Opening source file 'F:/Temp_bis/Community/331964/MCU_10.6/test_pt60\Generated_Code\IFsh1.c'&lt;/P&gt;&lt;P&gt;&amp;nbsp; 121: static void FnCmdInRam_(void)&lt;/P&gt;&lt;P&gt;FnCmdInRam_:&lt;/P&gt;&lt;P&gt;00000000 A680&amp;nbsp;&amp;nbsp;&amp;nbsp; LDA&amp;nbsp;&amp;nbsp;&amp;nbsp; #0x80&lt;/P&gt;&lt;P&gt;00000002 C70000&amp;nbsp; STA&amp;nbsp;&amp;nbsp;&amp;nbsp; NVM_FSTAT&lt;/P&gt;&lt;P&gt;&amp;nbsp; 124:&amp;nbsp; while (NVM_FSTAT_CCIF == 0U) {}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait to command complete */&lt;/P&gt;&lt;P&gt;00000005 C60000&amp;nbsp; LDA&amp;nbsp;&amp;nbsp;&amp;nbsp; NVM_FSTAT&lt;/P&gt;&lt;P&gt;00000008 2AFB&amp;nbsp;&amp;nbsp;&amp;nbsp; BPL&amp;nbsp;&amp;nbsp;&amp;nbsp; *-3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;abs = 0x0005&lt;/P&gt;&lt;P&gt;&amp;nbsp; 126: }&lt;/P&gt;&lt;P&gt;0000000A 81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the size of the function is 0xA =10.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Pascal Irrle&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Oct 2014 15:28:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-Development-Tools/9S08PA60-in-CW-MCU-10-4-10-6-Processor-Expert-generated-intFlash/m-p/367596#M1941</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2014-10-08T15:28:59Z</dc:date>
    </item>
  </channel>
</rss>

