<?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 Where is source code for startup? in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283117#M10667</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In another post, I mentioned that I am working on very basic code in CW10.4 for the &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z"&gt;FRDM-KL25&lt;/A&gt; board, to be used on a software lab course for engineering students. Now I am analyszing the startup code, and I have noticed that the first function that is called is "__thumb_startup()", located at __arm_start.c file. This function calls some other functions, named __init_registers(), __init_hardware(), __load_static_base(), __init_pid(), __init_pic(), zero_fill_bss(), __copy_rom_sections_to_ram(), __call_static_initializers(), and __init_user().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to find the sources for these functions, but so far I could not locate them. Can anyone give me a hint?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One more thing, is there any good reference for position-independent data and relocatable code, related to Kinetis L series, and/or CodeWarrior 10?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 20 Jul 2013 13:15:23 GMT</pubDate>
    <dc:creator>quevedo</dc:creator>
    <dc:date>2013-07-20T13:15:23Z</dc:date>
    <item>
      <title>Where is source code for startup?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283117#M10667</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In another post, I mentioned that I am working on very basic code in CW10.4 for the &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=FRDM-KL25Z"&gt;FRDM-KL25&lt;/A&gt; board, to be used on a software lab course for engineering students. Now I am analyszing the startup code, and I have noticed that the first function that is called is "__thumb_startup()", located at __arm_start.c file. This function calls some other functions, named __init_registers(), __init_hardware(), __load_static_base(), __init_pid(), __init_pic(), zero_fill_bss(), __copy_rom_sections_to_ram(), __call_static_initializers(), and __init_user().&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to find the sources for these functions, but so far I could not locate them. Can anyone give me a hint?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One more thing, is there any good reference for position-independent data and relocatable code, related to Kinetis L series, and/or CodeWarrior 10?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 20 Jul 2013 13:15:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283117#M10667</guid>
      <dc:creator>quevedo</dc:creator>
      <dc:date>2013-07-20T13:15:23Z</dc:date>
    </item>
    <item>
      <title>Re: Where is source code for startup?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283118#M10668</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;These funcions are supplied in runtime lib 'librt.a',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is extracted in MAP file, from it, we can see that the source code of '__copy_rom_sections_to_ram' is in file 'ROMCopy.c', source code of '__init_registers' is in file '__arm_eabi_init.c'.... The other functions are similar. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; These source files which are used to generate 'librt.a' locate at: C:\Freescale\CW MCU v10.4\MCU\ARM_GCC_Support\ewl\EWL_Runtime\src\arm\&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.text.__copy_rom_section&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; 0x00001984&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x48 C:/Freescale/CW MCU v10.4/MCU/ARM_GCC_Support/ewl/lib/armv6-m\librt.a(ROMCopy.o)&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; 0x00001984&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; __copy_rom_section&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.text.__copy_rom_sections_to_ram&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; 0x000019cc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x34 C:/Freescale/CW MCU v10.4/MCU/ARM_GCC_Support/ewl/lib/armv6-m\librt.a(ROMCopy.o)&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; 0x000019cc&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; __copy_rom_sections_to_ram&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.text.__destroy_global_chain&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; 0x00001a00&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1c C:/Freescale/CW MCU v10.4/MCU/ARM_GCC_Support/ewl/lib/armv6-m\librt.a(__arm_eabi_init.o)&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; 0x00001a00&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; __destroy_global_chain&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.text.__init_registers&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; 0x00001a1c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x1c C:/Freescale/CW MCU v10.4/MCU/ARM_GCC_Support/ewl/lib/armv6-m\librt.a(__arm_eabi_init.o)&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; 0x00001a1c&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; __init_registers&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.text.__init_user&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; 0x00001a38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x4 C:/Freescale/CW MCU v10.4/MCU/ARM_GCC_Support/ewl/lib/armv6-m\librt.a(__arm_eabi_init.o)&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; 0x00001a38&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; __init_user]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jul 2013 03:28:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283118#M10668</guid>
      <dc:creator>TICS_Fiona</dc:creator>
      <dc:date>2013-07-22T03:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: Where is source code for startup?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283119#M10669</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the answer. Now I just need to locate the source files that generate the runtime library. I want my students to srudy the source codes, so they can see the startup source code. Where would the files like ROMCopu.c and __arm_eabi_init.c be located?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 22 Jul 2013 14:08:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283119#M10669</guid>
      <dc:creator>quevedo</dc:creator>
      <dc:date>2013-07-22T14:08:18Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Where is source code for startup?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283120#M10670</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Both 'ROMCopu.c' and '__arm_eabi_init.c' are located in:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; &lt;/P&gt;&lt;P&gt;C:\Freescale\CW MCU v10.4\MCU\ARM_GCC_Support\ewl\EWL_Runtime\src\arm&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;C:\Freescale\CW MCU v10.4\MCU\ARM_EABI_Support\ewl\EWL_Runtime\Runtime_ARM\Source&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jul 2013 02:01:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283120#M10670</guid>
      <dc:creator>TICS_Fiona</dc:creator>
      <dc:date>2013-07-23T02:01:55Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Where is source code for startup?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283121#M10671</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! That helped a lot!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jul 2013 13:04:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Where-is-source-code-for-startup/m-p/283121#M10671</guid>
      <dc:creator>quevedo</dc:creator>
      <dc:date>2013-07-23T13:04:55Z</dc:date>
    </item>
  </channel>
</rss>

