<?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: K60N512: junp from code in Flash to code in RAM in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186422#M1986</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark,&lt;/P&gt;&lt;P&gt;thank you for the answer.&lt;/P&gt;&lt;P&gt;I have a bare metal project. I have one code section in Flash memory which is (RX).&lt;/P&gt;&lt;P&gt;In the program i made binary code which I load in RAM (at adress 0x1FFF0000) with memcpy.&lt;/P&gt;&lt;P&gt;The code section in RAM is RWX. After the code section in RAM I have a data section (RW).&lt;/P&gt;&lt;P&gt;After that I will run the&amp;nbsp; binary code. For that I only need an assembler instruction which set&lt;/P&gt;&lt;P&gt;the programcounter to 0x1FFF0000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My project is a console (LCD-Display with touchscreen) on which the user can write assembler code.&lt;/P&gt;&lt;P&gt;The program converts the assembler code in binary code and copys the binary code at adress 0x1FFF0000.&lt;/P&gt;&lt;P&gt;After that, when the user wants to run his code, the program counter must set to 0x1fff000.&lt;/P&gt;&lt;P&gt;I cant set the pc to 0x1fff0000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 28 Nov 2011 05:46:31 GMT</pubDate>
    <dc:creator>Thommi_Tulpe</dc:creator>
    <dc:date>2011-11-28T05:46:31Z</dc:date>
    <item>
      <title>K60N512: junp from code in Flash to code in RAM</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186420#M1984</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I want to jump from code in flash to code in RAM.&lt;/P&gt;&lt;P&gt;I have changed the Linker Comannd file,so that i have two code segments,&lt;/P&gt;&lt;P&gt;one in Flash and one in RAM:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MEMORY {&lt;BR /&gt;m_interrupts&amp;nbsp; (RX) : ORIGIN = 0x00000000, LENGTH = 0x000001E0&lt;BR /&gt;m_text&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RX) : ORIGIN = 0x00000800, LENGTH = 0x00080000-0x00000800&lt;BR /&gt;m_text2 (RWX) : ORIGIN = 0x1FFF0000, LENGTH = 0x00001000&lt;BR /&gt;m_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (RW) : ORIGIN = 0x1FFF1000, LENGTH = 0x00020000-0x00001000&lt;BR /&gt;m_cfmprotrom&amp;nbsp; (RX) : ORIGIN = 0x00000400, LENGTH = 0x00000010&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;.....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;with the Inline assembler I want to set the pc to 1FFF0000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First I saved the pc in r14(link register).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;asm{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;MOV r14, pc&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // MOV pc 0x1FFF0000&amp;nbsp;&amp;nbsp; ???????&amp;nbsp;&amp;nbsp;&amp;nbsp; I Want to jump to binary code in flash which starts ai address 0x1FFF0000&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does someone know how I can jump from a address which is lower than 0x80000 &amp;nbsp; to address 0x1FFF0000 ?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Nov 2011 15:37:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186420#M1984</guid>
      <dc:creator>Thommi_Tulpe</dc:creator>
      <dc:date>2011-11-27T15:37:21Z</dc:date>
    </item>
    <item>
      <title>Re: K60N512: junp from code in Flash to code in RAM</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186421#M1985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;one example of initializing and running code in RAM is:&lt;/P&gt;&lt;P&gt;bsp_twrk60n512_pe -&amp;gt; twrk60n512 BSP Files -&amp;gt; init_hw.c -&amp;gt; function: pll_init()&lt;/P&gt;&lt;P&gt;(directory ...\Freescale\Freescale MQX 3.7\mqx\source\bsp\twrk60n512)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;fcn_thumb_flag = (uint_32)set_sys_dividers &amp;amp; 0x01;&lt;BR /&gt;fcn_rom_addr = (uint_32)set_sys_dividers &amp;amp; ~(uint_32)0x01;&lt;BR /&gt;fcn_ram_addr = (uint_32)fcn_ram_copy | (fcn_rom_addr &amp;amp; 0x02);&lt;BR /&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does your linker generate the code which copies/initializes the RAM code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;~Mark&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 27 Nov 2011 19:43:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186421#M1985</guid>
      <dc:creator>MarkP_</dc:creator>
      <dc:date>2011-11-27T19:43:30Z</dc:date>
    </item>
    <item>
      <title>Re: K60N512: junp from code in Flash to code in RAM</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186422#M1986</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark,&lt;/P&gt;&lt;P&gt;thank you for the answer.&lt;/P&gt;&lt;P&gt;I have a bare metal project. I have one code section in Flash memory which is (RX).&lt;/P&gt;&lt;P&gt;In the program i made binary code which I load in RAM (at adress 0x1FFF0000) with memcpy.&lt;/P&gt;&lt;P&gt;The code section in RAM is RWX. After the code section in RAM I have a data section (RW).&lt;/P&gt;&lt;P&gt;After that I will run the&amp;nbsp; binary code. For that I only need an assembler instruction which set&lt;/P&gt;&lt;P&gt;the programcounter to 0x1FFF0000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My project is a console (LCD-Display with touchscreen) on which the user can write assembler code.&lt;/P&gt;&lt;P&gt;The program converts the assembler code in binary code and copys the binary code at adress 0x1FFF0000.&lt;/P&gt;&lt;P&gt;After that, when the user wants to run his code, the program counter must set to 0x1fff000.&lt;/P&gt;&lt;P&gt;I cant set the pc to 0x1fff0000.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2011 05:46:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186422#M1986</guid>
      <dc:creator>Thommi_Tulpe</dc:creator>
      <dc:date>2011-11-28T05:46:31Z</dc:date>
    </item>
    <item>
      <title>Re: K60N512: junp from code in Flash to code in RAM</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186423#M1987</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;try this:&lt;/P&gt;&lt;P&gt;void (*fcn_ram_call)(void);&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;fcn_thumb_flag = 0x01;&lt;/P&gt;&lt;P&gt;fcn_ram_call = (void (*)(void))(0x1fff0000 | fcn_thumb_flag);&lt;/P&gt;&lt;P&gt;fcn_ram_call();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;~Mark&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 Nov 2011 14:19:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186423#M1987</guid>
      <dc:creator>MarkP_</dc:creator>
      <dc:date>2011-11-28T14:19:15Z</dc:date>
    </item>
    <item>
      <title>Re: K60N512: junp from code in Flash to code in RAM</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186424#M1988</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Mark,&lt;/P&gt;&lt;P&gt;thank you.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Thomas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 Nov 2011 20:50:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/K60N512-junp-from-code-in-Flash-to-code-in-RAM/m-p/186424#M1988</guid>
      <dc:creator>Thommi_Tulpe</dc:creator>
      <dc:date>2011-11-29T20:50:42Z</dc:date>
    </item>
  </channel>
</rss>

