<?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 semihosting Q: fwrite not working in linux env in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/semihosting-Q-fwrite-not-working-in-linux-env/m-p/582292#M25343</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by can.finner on Fri Apr 15 01:49:24 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sorry to disturb.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote a little semihosting program which running on LPC1769 with lpcXpresso/LPC-link/LPC1769.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the test code is like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define FILE_SIZE 100&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; int n = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; char *name = "helloworld.txt";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; char str[FILE_SIZE] = "initial value\n";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; FILE *fp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fp = fopen(name, "r+");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (!fp)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stdout, "debug : file open error!\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; n = fread(str, 1, FILE_SIZE, fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %d bytes read!\n", n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %s\n", str);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; n = fwrite("xxxxx debug : write from semihosting", 1, 36, fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %d bytes write!\n", n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fclose(fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The program works on windows 7(32bit) with semihosting. The file helloworld.txt is modified as expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately, there comes a problem when running it in linux(ubuntu 9.10 32bit). All other semihosting operations works alright except fwrite. the fwrite function does return the number of bytes written into file, but the file helloworld.txt on host system remains its original contents.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 , the file has rwx access right for all users;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 , lpcXpresso version is&amp;nbsp; LPCXpresso v3.6.3 [Build 317] [08/04/2011]&amp;nbsp; for windows 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso v3.8.3 [Build 317] [08/04/2011] for linux.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:40:26 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:40:26Z</dc:date>
    <item>
      <title>semihosting Q: fwrite not working in linux env</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/semihosting-Q-fwrite-not-working-in-linux-env/m-p/582292#M25343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by can.finner on Fri Apr 15 01:49:24 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;sorry to disturb.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I wrote a little semihosting program which running on LPC1769 with lpcXpresso/LPC-link/LPC1769.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the test code is like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define FILE_SIZE 100&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; int n = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; char *name = "helloworld.txt";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; char str[FILE_SIZE] = "initial value\n";&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; FILE *fp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fp = fopen(name, "r+");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; if (!fp)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stdout, "debug : file open error!\n");&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; n = fread(str, 1, FILE_SIZE, fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %d bytes read!\n", n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %s\n", str);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; n = fwrite("xxxxx debug : write from semihosting", 1, 36, fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fprintf(stdout, "debug : %d bytes write!\n", n);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; fclose(fp);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; return 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The program works on windows 7(32bit) with semihosting. The file helloworld.txt is modified as expected.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Unfortunately, there comes a problem when running it in linux(ubuntu 9.10 32bit). All other semihosting operations works alright except fwrite. the fwrite function does return the number of bytes written into file, but the file helloworld.txt on host system remains its original contents.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;BTW, &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 , the file has rwx access right for all users;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2 , lpcXpresso version is&amp;nbsp; LPCXpresso v3.6.3 [Build 317] [08/04/2011]&amp;nbsp; for windows 7&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCXpresso v3.8.3 [Build 317] [08/04/2011] for linux.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:40:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/semihosting-Q-fwrite-not-working-in-linux-env/m-p/582292#M25343</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:40:26Z</dc:date>
    </item>
  </channel>
</rss>

