<?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>Classic/Legacy CodeWarriorのトピックRe: Link error</title>
    <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182893#M4262</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 20 May 2009 18:44:04 GMT</pubDate>
    <dc:creator>CapelliNeri</dc:creator>
    <dc:date>2009-05-20T18:44:04Z</dc:date>
    <item>
      <title>Link error</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182891#M4260</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using a 56f8345 micro with CodeWarrior 8.2.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I download the booterload source code&amp;nbsp;which named "56F8300BOOTLOADER" from the Freescale website, and compile &amp;amp;&amp;nbsp;make with codewarrior 8.2. it appears some linker Errors showed following:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Link Error&amp;nbsp;&amp;nbsp; : Symbol F_vector_begin_addr referenced from address 0x000401A8 in section .text of file bootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;/P&gt;&lt;P&gt;Link Error&amp;nbsp;&amp;nbsp; : Symbol F_Pcode_begin_addr_in_ROM referenced from address 0x000406D2 in section .text of file bootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;/P&gt;&lt;P&gt;Link Error&amp;nbsp;&amp;nbsp; : Symbol F_Pcode_end_addr_in_ROM referenced from address 0x000406DE in section .text of file bootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;/P&gt;&lt;P&gt;Link failed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but it is working fine with codewarrior 7.3 version.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what's wrong with it?&amp;nbsp; How can i fix this problem in my codewarrion 8.2 version?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;pls help me. Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2009 16:03:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182891#M4260</guid>
      <dc:creator>CapelliNeri</dc:creator>
      <dc:date>2009-05-20T16:03:45Z</dc:date>
    </item>
    <item>
      <title>Re: Link error</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182892#M4261</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The last version is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;C&lt;FONT size="2"&gt;odeWarrior Development Studio for Freescale 56800/E Digital Signal Controllers Version 8.2.3&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Several examples are delivered under the installation.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;We provided bootloader too.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;Please have a look in the folder \Stationery\Processor_Expert_Examples\Bootloaders.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;This can be accessed by the project Wizard too:&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;File ¦ NEW ¦ Processor Expert Examples Stationery ¦ Bootloaders&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;We recommend you to use it.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;If this could not be an option for you, I can propose you another solution explaining the problem.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;The bootloader downloaded was design for the previous version (before V8.x).&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;STRONG&gt;Abstract&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; Linker error appears after switching from DSC8.0 to DSC 8.1.&amp;nbsp; &lt;STRONG&gt;Problem&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; A same application worked fine on the DSC 8.0.&lt;BR /&gt;Now with the DSC 8.1, the linker generates some error.&lt;BR /&gt;&lt;BR /&gt;Extract of type of errors:&lt;BR /&gt;&lt;BR /&gt;Link Error : Symbol F_vector_addr referenced from address 0x000411CC in section .text of file ACPBootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;BR /&gt;&lt;BR /&gt;Link Error : Symbol F_Pcode_start_addr referenced from address 0x00041506 in section .text of file ACPBootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;BR /&gt;&lt;BR /&gt;Link Error : Symbol F_Pcode_end_addr referenced from address 0x00041512 in section .text of file ACPBootloader.c&lt;BR /&gt;is too far away for a R_56800E_WORD16 relocation, which has a range from 0 to 131070 bytes&lt;BR /&gt;&lt;BR /&gt;Link failed.&lt;BR /&gt;&amp;nbsp; &lt;STRONG&gt;Solution&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; The problem is due to a compiler improvment.&lt;BR /&gt;In previous version the compiler generated 24 bits access when 16 bits was possible.&lt;BR /&gt;The DSC8.o generated "long" instruction to all structure's data fields which are below the first appearance of&lt;BR /&gt;the pointer, array or nested structure in large data model when "Globals live in lower memory" checkbox is checked.&lt;BR /&gt;&lt;BR /&gt;With the DSC8.1 We were worked on removing this different behaviour of compiler in generating code for structure&lt;BR /&gt;fields at different offsets.&lt;BR /&gt;So this performance issue is addressed in the DSC8.1&lt;BR /&gt;Now the compiler always makes use of 16-bit access in "small data model" and "large data model + globals live in lower mem".&lt;BR /&gt;&lt;BR /&gt;In your case, if you disable "globals live in lower mem" and it should link fine.&lt;BR /&gt;So disabling "globals live in lower mem" is one workaround that is unfortunately losing performance (size, speed).&lt;BR /&gt;Another possible solution is to write some simple assembly functions that return the addresses of the symbols with problem&lt;BR /&gt;and use those functions as interface with the C code.&lt;BR /&gt;This way the performance will not be affected by the "globals live in lower mem" option.&lt;BR /&gt;&amp;nbsp;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pascal&lt;/P&gt;&lt;P&gt;&lt;FONT size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2009 18:15:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182892#M4261</guid>
      <dc:creator>trytohelp</dc:creator>
      <dc:date>2009-05-20T18:15:25Z</dc:date>
    </item>
    <item>
      <title>Re: Link error</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182893#M4262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2009 18:44:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/Link-error/m-p/182893#M4262</guid>
      <dc:creator>CapelliNeri</dc:creator>
      <dc:date>2009-05-20T18:44:04Z</dc:date>
    </item>
  </channel>
</rss>

