<?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: String manipulation problems in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155844#M759</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, the problem was this subsection&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;__START_DATA = .;
      *(.my_zone)
      __END_DATA = .;
&lt;/PRE&gt;&lt;P&gt;in section .main_application_data.&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>Thu, 29 Oct 2020 08:59:45 GMT</pubDate>
    <dc:creator>LordMark</dc:creator>
    <dc:date>2020-10-29T08:59:45Z</dc:date>
    <item>
      <title>String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155841#M756</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone. I'm working on M52259demokit, CW 7.2.1 and MQX 3.6.1.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have to manipulate some strings: I have a main string, called "buffer", which contains several numbers (double and integers) separated by "S". I need to split the above string into these numbers and save them to variables.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First trial was:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;result = sscanf (buffer, "%fS%fS%fS%fS%dS%dS%dS%dS%dS%dS%dSC%d", &amp;amp;LONG, &amp;amp;LAT, &amp;amp;AZ_b, &amp;amp;H_b, &amp;amp;dd, &amp;amp;mm, &amp;amp;yy, &amp;amp;hr, &amp;amp;min, &amp;amp;sec, &amp;amp;TZ, &amp;amp;chksum);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;where I tried all the format for double, %.10f, %lf etc.. this sscanf returns always 0. I'm also using the directive&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;#define MQX_INCLUDE_FLOATING_POINT_IO  1&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;in user_config.h. Are there any limitation in sscanf? Maybe too many arguments?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The second trial was:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;strcpy (LONG_string, strtok (buffer, "SC"));&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;that should be repeated for every substring I want to save. But I get the following link errors:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_n'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036B40 in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_n'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036B2E in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_s@0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036B42 in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_s@0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036B36 in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_s@0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036B30 in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_s@0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036AC8 in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&gt;Link Error&amp;nbsp;&amp;nbsp; : Illegal 16-bit small data area relative reference to symbol '_@LOCAL@strtok__FPcPCc@strtok_s@0'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;from address 0x00036A9E in section '.text' of file 'libc.a string.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;&lt;BR /&gt;This type of reference has a range from 4294934528 to 32767 bytes.&lt;BR /&gt;Project: MQX_ARCH.mcp, Target: Int Flash Debug&lt;BR /&gt;&lt;BR /&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;Any suggestions?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;BR /&gt;Marco&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>Thu, 29 Oct 2020 08:59:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155841#M756</guid>
      <dc:creator>LordMark</dc:creator>
      <dc:date>2020-10-29T08:59:42Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155842#M757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well, I found out that the problem is in the float/double formatter in sscanf. If I decide to scan a string with only integer formatter I get the right result. So, which is the right formatter save double precision variables from a string?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Nov 2010 17:52:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155842#M757</guid>
      <dc:creator>LordMark</dc:creator>
      <dc:date>2010-11-06T17:52:24Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155843#M758</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Finally I found the real cause of all those problems. It is the linker file that I modified to have my non volatile section of ram (nvram). You can see it in the code below. If I restore the original linker file those string function work fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;MEMORY{## intflash    (RX): ORIGIN = 0x00000000, LENGTH = 0x00080000## sram        (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000   vectorrom   (RX): ORIGIN = 0x00000000, LENGTH = 0x00000400   cfmprotrom  (RX): ORIGIN = 0x00000400, LENGTH = 0x00000020   rom         (RX): ORIGIN = 0x00000420, LENGTH = 0x0007FBE0  # Code + Const data    ram         (RW): ORIGIN = 0x20000000, LENGTH = 0x00010000  # SRAM - RW data#   relocate    (RWX): ORIGIN = 0x20003F00, LENGTH = 0x0000C100      # kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap)   end_of_kd   (RW): ORIGIN = 0x2000FFF0, LENGTH = 0x00000000      # Boot stack reused by MQX Kernel data   bstack      (RW): ORIGIN = 0x2000FA00, LENGTH = 0x00000200  # Boot stack   end_bstack  (RW): ORIGIN = 0x2000FBFF, LENGTH = 0x00000000}KEEP_SECTION { .vectors_rom, .vectors_ram, .cfmconfig }SECTIONS{   ___INTERNAL_SRAM_BASE  = 0x20000000;   ___INTERNAL_SRAM_SIZE  = 0x00010000;   ___INTERNAL_FLASH_BASE = 0x00000000;   ___INTERNAL_FLASH_SIZE = 0x00080000;    ___IPSBAR              = 0x40000000; # Peripherals/FlexCAN    ___VECTOR_TABLE_START  = 0x20000000; # Runtime vector table in sram   # MQX link time configurations   ___DEFAULT_PROCESSOR_NUMBER = 1;   ___DEFAULT_INTERRUPT_STACK_SIZE = 1024;   ___KERNEL_DATA_VERIFY_ENABLE = 0;    # Test SDRAM read/write   # Flashx configurations   ___FLASHX_SECT_SIZE = 0x1000; .vectors : {        ___VECTOR_TABLE_ROM_START = .;  # Runtime vector table in sram  *(.vectors_rom)  . = ALIGN (0x4);  } &amp;gt; vectorrom .cfmprotect : {  *(.cfmconfig)  . = ALIGN (0x4); } &amp;gt; cfmprotrom    .main_application :   {      *(KERNEL)      *(S_BOOT)      *(IPSUM)      *(.text)      *(.init)      *(.fini)      *(.eini)      *(.ctors)      *(.dtors)      .= ALIGN(0x4);      *(.rodata)      .= ALIGN(0x4);      *(.rdata)      . = ALIGN(0x4);      *(.exception)      . = ALIGN(0x4);      __exception_table_start__ = .;      EXCEPTION      __exception_table_end__ = .;      ___sinit__ = .;      STATICINIT      .= ALIGN(0x4);      __COPY_OF_DATA = .;   } &amp;gt; rom      .main_application_data : AT(__COPY_OF_DATA)   {        . = ALIGN(0x10000);        ___VECTOR_TABLE_RAM_START = .;  # Runtime vector table in sram  *(.vectors_ram)        . = ALIGN(512);        __BDT_BASE = .;        *(.usb_bdt)        __BDT_END = .;      __START_DATA = .;      *(.data)      __END_DATA = .;      __START_DATA = .;      *(.my_zone)      __END_DATA = .;      . = ALIGN(0x4);      __SDA_BASE  = .;      __SDA_BASE_ = __SDA_BASE;   } &amp;gt; ram   .main_application_bss :   {      __START_SBSS = .;      *(.sbss)      *(SCOMMON)      __END_SBSS = .;      __START_BSS = .;      *(.bss)      *(COMMON)      __END_BSS = .;   } &amp;gt;&amp;gt; ram      .nvram :   {      __START_MYRAM = .;      *(.nvram)      __END_MYRAM = .;   } &amp;gt;&amp;gt; ram    .kernel_data : #AT(ADDR(.main_application_bss) + SIZEOF(.main_application_bss))   {      ___KERNEL_DATA_START = ALIGN(0x10);   }   .end_of_kernel_data :   {      ___KERNEL_DATA_END = .;   } &amp;gt; end_of_kd   .boot_stack :   {      _stack_end = .;   } &amp;gt; bstack   .end_of_boot_stack :   {      _stack_addr  = .;      __SP_INIT    = .;      ___BOOT_STACK_ADDRESS = .;   } &amp;gt; end_bstack   # Locate the ROM copy table into ROM after the initialized data   _romp_at = __COPY_OF_DATA + SIZEOF(.main_application_data);   .romp : AT (_romp_at)   {      __S_romp = _romp_at;      WRITEW(__COPY_OF_DATA);   #ROM start address      WRITEW(ADDR(.main_application_data));      #RAM start address      WRITEW(SIZEOF(.main_application_data));    #size      WRITEW(0);      WRITEW(0);      WRITEW(0);   }    _flashx_start = __COPY_OF_DATA + SIZEOF(.main_application_data) +     SIZEOF(.romp); # flashx working area spans across the whole rest of Flash memory    ___FLASHX_START_ADDR = (_flashx_start + 0xfff) / 0x1000 * 0x1000;    ___FLASHX_END_ADDR = ___INTERNAL_FLASH_BASE + ___INTERNAL_FLASH_SIZE;}/* EOF */&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any suggestion on how to solve the problems?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 08:59:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155843#M758</guid>
      <dc:creator>LordMark</dc:creator>
      <dc:date>2020-10-29T08:59:43Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155844#M759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok, the problem was this subsection&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;__START_DATA = .;
      *(.my_zone)
      __END_DATA = .;
&lt;/PRE&gt;&lt;P&gt;in section .main_application_data.&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>Thu, 29 Oct 2020 08:59:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155844#M759</guid>
      <dc:creator>LordMark</dc:creator>
      <dc:date>2020-10-29T08:59:45Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155845#M760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marco,&lt;/P&gt;&lt;P&gt;I played around with your issue and now can read in your string, parse it, and get the variables into the right locations.&lt;/P&gt;&lt;P&gt;What I discovered is the sscanf() with the #define MQX_INCLUDE_FLOATING_POINT_IO 1 in the user_config.h, uses double for the string conversion.&amp;nbsp; So when I originally created a buffer using a float then passed the buffer to sscanf it returned wrong conversion.&amp;nbsp; But when I used double for the formatting of the buffer it works.&lt;/P&gt;&lt;P&gt;I started with the simple hello project in mqx/examples and have included the source file for your reference.&lt;/P&gt;&lt;P&gt;Hopefully this helps.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jan 2011 22:58:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155845#M760</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2011-01-11T22:58:35Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155846#M761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Davids, the problem was already solved. There were bad lines in my linker file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Anyway I may be reading a useful information in your post. You're saying that if MQX_INCLUDE_FLOATING_POINT_IO is defined as 0, sscanf accepts only float variables as arguments, wasting obviously much less memory than the case in which double precision is used. Have I understood right?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 15 Jan 2011 16:14:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155846#M761</guid>
      <dc:creator>LordMark</dc:creator>
      <dc:date>2011-01-15T16:14:31Z</dc:date>
    </item>
    <item>
      <title>Re: String manipulation problems</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155847#M762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Marco,&lt;/P&gt;&lt;P&gt;What I've seen on the code base is that if you want to use floating point format the code #define MQX_INCLUDE_FLOATING_POINT_IO 1 must be in the user_config.h.&lt;/P&gt;&lt;P&gt;If the #define is 0 or not included, then the code base doesn't support the floating point (more correctly the double format).&lt;/P&gt;&lt;P&gt;So it is a binary decision....if wanting floating point formating you must define your variable as "double".&amp;nbsp; The code base just does not support the "float" option.&lt;/P&gt;&lt;P&gt;You can review the code in mqx/source/fio/io_scanl.c source file.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Jan 2011 02:43:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/String-manipulation-problems/m-p/155847#M762</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2011-01-18T02:43:21Z</dc:date>
    </item>
  </channel>
</rss>

