<?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 liner error in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155103#M3953</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 have problem with my program. If I would like compile my program, Linker&amp;nbsp; show error.&lt;/P&gt;&lt;P&gt;Symbol _FSFLOAT&lt;/P&gt;&lt;P&gt;Symbol _FMUL&lt;/P&gt;&lt;P&gt;Symbol _FSTRUC&lt;/P&gt;&lt;P&gt;Symbol _FDIV&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&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;P&gt;/*MEM hlavickovy soubor*/&lt;BR /&gt;#ifndef _MEM_&lt;BR /&gt;#define _MEM_&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; #define F_OSC 16&lt;BR /&gt;&amp;nbsp; #define F_BUS 8&lt;BR /&gt;&amp;nbsp; #define T_BUS .125&lt;/P&gt;&lt;P&gt;int Initi(int);&lt;/P&gt;&lt;P&gt;#endif&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;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*mem.c */&lt;BR /&gt;#include "eeprommm.h"&lt;BR /&gt;#include &amp;lt;mc9s12dp256.h&amp;gt;&lt;BR /&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;int Initi(int oscclk){&lt;BR /&gt;&amp;nbsp; unsigned char prdclk;&lt;BR /&gt;&amp;nbsp; float eeclk = 0;&lt;BR /&gt;&amp;nbsp; int pom = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ECLKDIV_PRDIV8 = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if(oscclk &amp;gt;=12){&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*MHz*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECLKDIV_PRDIV8 = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; prdclk = (unsigned char)(oscclk/8);&lt;BR /&gt;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; prdclk = (unsigned char)(oscclk*(5+.125));&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; pom = (int)(oscclk*(5+.125));&lt;BR /&gt;&amp;nbsp; ECLKDIV_EDIV = (unsigned char)pom;&lt;BR /&gt;&amp;nbsp; eeclk = 2/(1+pom);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if((((1/eeclk)+T_BUS) &amp;gt;= 5) &amp;amp;&amp;amp; (eeclk &amp;gt; .15)){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*ok*/&lt;BR /&gt;&amp;nbsp; } else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*bad*/&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Feb 2009 02:51:23 GMT</pubDate>
    <dc:creator>Seitec</dc:creator>
    <dc:date>2009-02-23T02:51:23Z</dc:date>
    <item>
      <title>liner error</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155103#M3953</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 have problem with my program. If I would like compile my program, Linker&amp;nbsp; show error.&lt;/P&gt;&lt;P&gt;Symbol _FSFLOAT&lt;/P&gt;&lt;P&gt;Symbol _FMUL&lt;/P&gt;&lt;P&gt;Symbol _FSTRUC&lt;/P&gt;&lt;P&gt;Symbol _FDIV&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;.&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;P&gt;/*MEM hlavickovy soubor*/&lt;BR /&gt;#ifndef _MEM_&lt;BR /&gt;#define _MEM_&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&amp;nbsp; #define F_OSC 16&lt;BR /&gt;&amp;nbsp; #define F_BUS 8&lt;BR /&gt;&amp;nbsp; #define T_BUS .125&lt;/P&gt;&lt;P&gt;int Initi(int);&lt;/P&gt;&lt;P&gt;#endif&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;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*mem.c */&lt;BR /&gt;#include "eeprommm.h"&lt;BR /&gt;#include &amp;lt;mc9s12dp256.h&amp;gt;&lt;BR /&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dp256b"&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;int Initi(int oscclk){&lt;BR /&gt;&amp;nbsp; unsigned char prdclk;&lt;BR /&gt;&amp;nbsp; float eeclk = 0;&lt;BR /&gt;&amp;nbsp; int pom = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; ECLKDIV_PRDIV8 = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if(oscclk &amp;gt;=12){&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*MHz*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECLKDIV_PRDIV8 = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; prdclk = (unsigned char)(oscclk/8);&lt;BR /&gt;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; prdclk = (unsigned char)(oscclk*(5+.125));&lt;BR /&gt;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; pom = (int)(oscclk*(5+.125));&lt;BR /&gt;&amp;nbsp; ECLKDIV_EDIV = (unsigned char)pom;&lt;BR /&gt;&amp;nbsp; eeclk = 2/(1+pom);&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; if((((1/eeclk)+T_BUS) &amp;gt;= 5) &amp;amp;&amp;amp; (eeclk &amp;gt; .15)){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*ok*/&lt;BR /&gt;&amp;nbsp; } else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*bad*/&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2009 02:51:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155103#M3953</guid>
      <dc:creator>Seitec</dc:creator>
      <dc:date>2009-02-23T02:51:23Z</dc:date>
    </item>
    <item>
      <title>Re: liner error</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155104#M3954</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Try searching the forum, for example&lt;/P&gt;&lt;P&gt;&lt;A href="http://" rel="nofollow" target="_blank"&gt;http://forums.freescale.com/freescale/board/message?board.id=16BITCOMM&amp;amp;message.id=2244&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basically the project links against the integer only ANSI library therefore the floating point runtime support routines are not available.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Alternatively you might change the source code not to use floating point calculations. For example instead of&lt;/P&gt;&lt;P&gt;&amp;gt; prdclk = (unsigned char)(oscclk*(5+.125));&lt;/P&gt;&lt;P&gt;You get the same result with&lt;/P&gt;&lt;P&gt;prdclk = (unsigned char)(((oscclk*5125uL)/1000));&lt;/P&gt;&lt;P&gt;or&lt;/P&gt;&lt;P&gt;prdclk = (unsigned char)(((oscclk*41uL)/8)); // * (5+.125)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I used long, maybe int arithmetic is enough.&lt;/P&gt;&lt;P&gt;Either way, both long and int&amp;nbsp; arithmetic are a lot faster and shorter than using floating point.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2009 03:11:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155104#M3954</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2009-02-23T03:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: liner error</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155105#M3955</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great. It works thank you very much.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Feb 2009 16:49:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/liner-error/m-p/155105#M3955</guid>
      <dc:creator>Seitec</dc:creator>
      <dc:date>2009-02-25T16:49:09Z</dc:date>
    </item>
  </channel>
</rss>

