<?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: App2 set address in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609189#M35985</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui_Ma,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;App2 with timer interrupt = ok.&lt;/P&gt;&lt;P&gt;App1 and App2 with USB_CDC &amp;nbsp;= error.&lt;/P&gt;&lt;P&gt;solution partial is: start app1 ( usb...flash... &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SoftwareReset(void) )&lt;/P&gt;&lt;P&gt;init processor test:&lt;/P&gt;&lt;P&gt;if( ( *(( unsigned long*)&amp;amp;MEMBASE_32 + 0)) == 0xFFFFFFFF){ // area app2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PE_low_level_init(); &amp;lt;----not init&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; main_run ();&lt;BR /&gt; }&lt;BR /&gt; JumpToUserApplication( ( *(( unsigned long*)&amp;amp;MEMBASE_32 + 0)) ,(*(( unsigned long*)&amp;amp;MEMBASE_32 + 0x01 )) );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;problems for my is USB not RE-Start&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 25 Mar 2017 17:26:59 GMT</pubDate>
    <dc:creator>CCandido</dc:creator>
    <dc:date>2017-03-25T17:26:59Z</dc:date>
    <item>
      <title>App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609177#M35973</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;What better way to sit the entry in an App2 ?.&lt;BR /&gt;Wanted an example, setting the function in an address or setting a constant with the address of the entry function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;startup_App init.....&lt;/P&gt;&lt;P&gt;switch( n_app ){&lt;/P&gt;&lt;P&gt;case...App2 &amp;nbsp; 0x8000&lt;/P&gt;&lt;P&gt;case..App3 &amp;nbsp; &amp;nbsp;0xA000&lt;/P&gt;&lt;P&gt;case..Appn &amp;nbsp; &amp;nbsp;0x14000...&lt;/P&gt;&lt;P&gt;JumpToUserApplication(0x20002FF8,(uint32)APPn);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Appn compiled separately after.&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 07 Feb 2017 16:49:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609177#M35973</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-02-07T16:49:57Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609178#M35974</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;Could you let us know which chip you are using(part number)?&lt;/P&gt;&lt;P&gt;In general, if there with two application, there could use a pin input signal to determine which application to execute.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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 Feb 2017 01:00:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609178#M35974</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-02-08T01:00:40Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609179#M35975</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;My arm it MK20DX256,&lt;/P&gt;&lt;P&gt;app starup it auxiliar, the with usb driver, CMD to my swap or goto App, not use pin signal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Carlos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 08 Feb 2017 01:52:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609179#M35975</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-02-08T01:52:56Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609180#M35976</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;my test a moment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; ram_vector (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x000001FF &amp;nbsp; // add&lt;/P&gt;&lt;P&gt;__attribute__ ((section (".ram_vector"))) const &amp;nbsp; tVectorTable __vect_table_ram; &amp;nbsp;// add&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;copy vector table to ram in APP1 ok&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for(i=0 ; i&amp;lt;0x1BC; i++){&lt;BR /&gt; *((volatile unsigned long*)&amp;amp;__vect_table_ram + i )= ( *((volatile unsigned long*)&amp;amp;__vect_table + i ));&lt;BR /&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; SCB_VTOR = (uint32) &amp;amp;__vect_table_ram; &amp;nbsp;// set vector ram.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my case, fixed App2 vector 0x8000 ( program 8400&amp;gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;int App1, read &amp;nbsp;8000 + 8004&lt;/P&gt;&lt;P&gt;JumpToUserApplication(8000,8004); jmp &amp;nbsp;App2, or App_on_RAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;or, jmp App1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Feb 2017 20:25:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609180#M35976</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-02-09T20:25:53Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609181#M35977</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;From above description, the APP2 uses the different vector table with APP1, right?&lt;/P&gt;&lt;P&gt;If so, before jump to the APP2, it need redirect the vector table of APP2 related interrupt vector location (0x8000).&lt;/P&gt;&lt;P&gt;After finish APP2 vector table redirection, the application code could jump from APP1 to APP2.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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>Fri, 10 Feb 2017 01:41:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609181#M35977</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-02-10T01:41:54Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609182#M35978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;new test without ( ISR ) goto App2 = ok&lt;/P&gt;&lt;P&gt;test program with ( ISR = ON ,usb,timer,...) goto App2 = error&lt;/P&gt;&lt;P&gt;with __DI() &amp;nbsp;or __EI()&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vector direct 0x8000 Flash or 0x1FFF8000 RAM, problems reset processor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;my test &amp;nbsp;(tIsrFunc)&amp;amp;app2_entry &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* 0x6E &amp;nbsp;saved App_entry function here ( goto BASE + 0x6E direct functino entry &amp;nbsp;)&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Mar 2017 21:35:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609182#M35978</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-11T21:35:07Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609183#M35979</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;In APP1, please doesn't copy interrupt vector table to SRAM and use the vector table at Flash memory 0x00000000.&lt;/P&gt;&lt;P&gt;Please doesn't redirect the vector table to SRAM in APP1.&lt;/P&gt;&lt;P&gt;Then after after load APP2 and jump to APP2, please copy APP2 vector table to SRAM and redirect the vector table to RAM address 0x1FFF8000 by changing the SCB_VTOR register.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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>Mon, 13 Mar 2017 05:06:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609183#M35979</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-03-13T05:06:01Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609184#M35980</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui_Ma,&lt;/P&gt;&lt;P&gt;See code source, other code normal error, I creat simple test = error , when use ISR in App2.&lt;/P&gt;&lt;P&gt;//------------------------------------------------------------&lt;/P&gt;&lt;P&gt;void main_run (void){ &amp;nbsp; // App1&lt;BR /&gt;uint32 i=0,x=0,_addr, _stackp;&lt;BR /&gt;byte asc=0;&lt;BR /&gt; BL_FLASH1 = FLASH1_Init( &amp;amp;OpStatus); // init Flash&lt;/P&gt;&lt;P&gt;WAIT1_Waitms(1);&lt;BR /&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;while( asc != 'N'){ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // wait end table&lt;/P&gt;&lt;P&gt;UTIL1_strcpy(in_buffer,46,app2_hex[x++] ); &amp;nbsp;// Copy App2 ( Hex, charged table )&lt;BR /&gt; asc = in_buffer[0];&lt;BR /&gt; if( asc != 'N' ){&lt;BR /&gt; convert_line_hex(); &amp;nbsp;// convert hex ascii to Hex value&lt;BR /&gt; status_flash_busy();&lt;BR /&gt; i = FLASH1_Write( BL_FLASH1, my_hexline.HEX_linedata,&lt;/P&gt;&lt;P&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;my_hexline.hex_addr,&lt;/P&gt;&lt;P&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;my_hexline.hex_count); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//program App2 in flash memory&lt;BR /&gt; WAIT1_Waitms(5);&lt;BR /&gt; status_flash_busy();&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x=0;&lt;/P&gt;&lt;P&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; &amp;nbsp; for(;;){&lt;/P&gt;&lt;P&gt;&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( x == 9){ // insert value 9, to goto App2&lt;/P&gt;&lt;P&gt;&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;_stackp = ( *(( unsigned long*)&amp;amp;MEMBASE + 0)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// BASE = 0x8000&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _addr = ( *(( unsigned long*)&amp;amp;MEMBASE + 0x6E)); &amp;nbsp; &amp;nbsp;// BASE + 0x6E = address direct entry pointer main_run&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; // SCB_VTOR = 0x8000; // vector in fash_0x8000&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reloked_vector(); // vector in ram_0x1FFF8000&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JumpToUserApplication( _stackp , _addr );&lt;BR /&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; &amp;nbsp; &amp;nbsp;x=0;&lt;BR /&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; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WAIT1_Waitms(1000);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LED1_Neg();&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;//----------------------------------------------------- see debug&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Isr_error app2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/15074i05C77CF6FF424EAE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Isr_error app2.png" alt="Isr_error app2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 13 Mar 2017 12:28:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609184#M35980</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-13T12:28:40Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609185#M35981</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;The below code doesn't copy APP2 vector table from 0x8000 to SRAM 0x1FFF8000.&lt;/P&gt;&lt;P&gt;When the interrupt happens in APP2, the SRAM 0x1FFF8000 without correct vector table to load related interrupt service routine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;if( x == 9){ // insert value 9, to goto App2&lt;/P&gt;&lt;P&gt;&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp;_stackp = ( *(( unsigned long*)&amp;amp;MEMBASE + 0)); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/// BASE = 0x8000&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _addr = ( *(( unsigned long*)&amp;amp;MEMBASE + 0x6E)); &amp;nbsp; &amp;nbsp;// BASE + 0x6E = address direct entry pointer main_run&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; // SCB_VTOR = 0x8000; // vector in fash_0x8000&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reloked_vector(); // vector in ram_0x1FFF8000&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JumpToUserApplication( _stackp , _addr );&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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>Tue, 14 Mar 2017 08:17:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609185#M35981</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-03-14T08:17:00Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609186#M35982</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui_Ma,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please open code source see code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// SCB_VTOR = 0x8000; // vector in fash_0x8000&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reloked_vector(); // vector in ram_0x1FFF8000&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;//------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;#define MEMBASE&lt;SPAN class=""&gt; &lt;/SPAN&gt;*(( unsigned long*)0x00008000)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;void reloked_vector (void){ // &amp;lt;------ copy vector 0x8000 to 0x1FFF8000&lt;BR /&gt; int i;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(i=0 ; i&amp;lt; 0x6E; i++){&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*((volatile unsigned long*)(&amp;amp;__vect_table_ram) + i )= ( *(( unsigned long*)&amp;amp;MEMBASE + i ));&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;BR /&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SCB_VTOR = (uint32)( &amp;amp;__vect_table_ram);&lt;BR /&gt;}&lt;BR /&gt;//-------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="vector_reloked.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/17060iB38EA237A92FADBA/image-size/large?v=v2&amp;amp;px=999" role="button" title="vector_reloked.png" alt="vector_reloked.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Mar 2017 10:22:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609186#M35982</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-14T10:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609187#M35983</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;Partial solution:&lt;/P&gt;&lt;P&gt;_stakp = ( *(( unsigned long*)&amp;amp;MEMBASE + 0));&lt;BR /&gt; _addr = ( *(( unsigned long*)&amp;amp;MEMBASE + &amp;nbsp;4 )); &amp;nbsp; to &amp;nbsp;&lt;SPAN&gt;_addr = ( *(( unsigned long*)&amp;amp;MEMBASE + 1 &amp;nbsp;));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;READ ( UINT32 ), note read byte.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;goto App2 = ok&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;when:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Continues with error using USB App1 and App2 = error&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Even closing the usb:&lt;BR /&gt; CDC1_Deinit();&lt;BR /&gt; USB1_Deinit();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Carlos.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Mar 2017 13:07:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609187#M35983</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-17T13:07:18Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609188#M35984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carlos,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked the APP2 just using FlexTimer module to negate a LED with interrupt.&lt;/P&gt;&lt;P&gt;Could you let me know if the APP2 FlexTimer interrupt working now?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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>Mon, 20 Mar 2017 04:11:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609188#M35984</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-03-20T04:11:43Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609189#M35985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui_Ma,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;App2 with timer interrupt = ok.&lt;/P&gt;&lt;P&gt;App1 and App2 with USB_CDC &amp;nbsp;= error.&lt;/P&gt;&lt;P&gt;solution partial is: start app1 ( usb...flash... &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SoftwareReset(void) )&lt;/P&gt;&lt;P&gt;init processor test:&lt;/P&gt;&lt;P&gt;if( ( *(( unsigned long*)&amp;amp;MEMBASE_32 + 0)) == 0xFFFFFFFF){ // area app2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PE_low_level_init(); &amp;lt;----not init&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; main_run ();&lt;BR /&gt; }&lt;BR /&gt; JumpToUserApplication( ( *(( unsigned long*)&amp;amp;MEMBASE_32 + 0)) ,(*(( unsigned long*)&amp;amp;MEMBASE_32 + 0x01 )) );&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;problems for my is USB not RE-Start&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks,&lt;/P&gt;&lt;P&gt;Carlos&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 25 Mar 2017 17:26:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609189#M35985</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-25T17:26:59Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609190#M35986</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;For the USB module was initializated at APP1, while In APP2, it also need to re-initialize USB module again.&lt;/P&gt;&lt;P&gt;The USB stack related function also need be included in APP2 project.&lt;/P&gt;&lt;P&gt;And customer need to check the system core and USB clock frequency in APP2, if the clock frequency as setting expected. Customer could use PTC3 CLKOUT to check system clock.&lt;/P&gt;&lt;P&gt;It also need to add USB related ISR in APP2 vector table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have a great day,&lt;BR /&gt;Ma Hui&lt;BR /&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>Mon, 27 Mar 2017 07:32:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609190#M35986</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2017-03-27T07:32:02Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609191#M35987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hui_Ma,&lt;/P&gt;&lt;P&gt;App2 is complete code to program diret runnig ok.&lt;/P&gt;&lt;P&gt;error when, case ( update App1 flasher...goto App2 ) entry_pointer (_startUp or main_task ).&lt;/P&gt;&lt;P&gt;I see, USB error.&lt;/P&gt;&lt;P&gt;example Timer_isr app1,app2 = ok.&lt;/P&gt;&lt;P&gt;my solution:&amp;nbsp;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;SoftwareReset(); start direct App2 = ok.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;thanks for helping me.&lt;BR /&gt;I invite you to help improve my freeSimpleMultiTask.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;A class="link-titled" href="https://github.com/autoprog/DelayCore" title="https://github.com/autoprog/DelayCore"&gt;GitHub - autoprog/DelayCore: DelayCore to Multi-task&lt;/A&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Carlos.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Mar 2017 14:29:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609191#M35987</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-03-27T14:29:33Z</dc:date>
    </item>
    <item>
      <title>Re: App2 set address</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609192#M35988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I finally found the solution to problem,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the entry point in app2 was via the VECTOR address table ( saved pointer address not used to isr).&lt;/P&gt;&lt;P&gt;ex:&lt;/P&gt;&lt;P&gt;(m_Func)&amp;amp;entry_pointer, &amp;nbsp;&amp;lt;---- address my pointer enter app2 runinng from ram.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;procedure:&lt;/P&gt;&lt;P&gt;void (*ram_call)(void);&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ram_call = _MYREG-&amp;gt;RAM_VECTOR[x];&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ram_call(); &amp;nbsp; call ok , USBCDC not run....ever&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;sulution:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;not use pointer address saved in vector table to call RAM, use others forms.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Carlos.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Sep 2017 15:42:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/App2-set-address/m-p/609192#M35988</guid>
      <dc:creator>CCandido</dc:creator>
      <dc:date>2017-09-15T15:42:58Z</dc:date>
    </item>
  </channel>
</rss>

