<?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>8-bit MicrocontrollersのトピックRe: problem in declaring variables and pointer at absolute address</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139744#M5441</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thank you Sten! It solved my problem.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The requirement was for a function to check RAM.&amp;nbsp;This function's variables also reside in the same RAM. So these variables need to be at specific addresses.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you all who helped me.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Gauri&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 16 Jun 2006 15:23:09 GMT</pubDate>
    <dc:creator>gauri_mahajan</dc:creator>
    <dc:date>2006-06-16T15:23:09Z</dc:date>
    <item>
      <title>problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139736#M5433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;DIV&gt;I am working on 68HC11E9 processor and writing code in C for IAR embedded workbench compiler . I need to declare variables and pointer at absolute addresses in npage area (at 0x170). This IAR compiler doesn't support "@" operator and also it doesn't support "#pragma location = " declaration.&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;I have tried one more option to create a seperate data segment in RAM and then do it. But that also doesn't work.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can anybody help me in how to do this?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks and regards,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Gauri&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 12:37:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139736#M5433</guid>
      <dc:creator>gauri_mahajan</dc:creator>
      <dc:date>2006-06-15T12:37:16Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139737#M5434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;Hello&lt;/P&gt;&lt;P&gt;I am not familiar with IAR front-end. However defining your variable as follows is fully ANSI C compliant, so IAR compiler should support that too:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #define&amp;nbsp;data (*((char *) 0x0170))&lt;/P&gt;&lt;P&gt;You can then initialize this variable in following way:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; data = 8;&lt;/P&gt;&lt;P&gt;CrasyCat&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 13:38:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139737#M5434</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2006-06-15T13:38:09Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139738#M5435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;This way I am able to declare variable , but unable to use it in program. there compiler gives error. Also I wish to have pointer located at a specific memory location. This way , it is not possible.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 14:12:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139738#M5435</guid>
      <dc:creator>gauri_mahajan</dc:creator>
      <dc:date>2006-06-15T14:12:31Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139739#M5436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;The way CrazyCat described is what IAR themselves use (see IO6811.H for example), and it works fully in my programs.&lt;/P&gt;&lt;P&gt;What error do you get?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 14:23:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139739#M5436</guid>
      <dc:creator>Sten</dc:creator>
      <dc:date>2006-06-15T14:23:26Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139740#M5437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I get an error "Argument of binary operator missing" at the line "data = 8".&lt;/DIV&gt;&lt;DIV&gt;If I comment the line "data = 8", the program compiles without error for #define statement.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 15:22:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139740#M5437</guid>
      <dc:creator>gauri_mahajan</dc:creator>
      <dc:date>2006-06-15T15:22:10Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139741#M5438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;I just tested the CrazyCat's lines in one of my project, and they compile without errors. I am using&amp;nbsp; "Micro Series 68HC11 C-Compiler V3.31C/DXT".&lt;/DIV&gt;&lt;DIV&gt;Are you sure you haven't added a semicolon to the #define-line?&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 16:34:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139741#M5438</guid>
      <dc:creator>Sten</dc:creator>
      <dc:date>2006-06-15T16:34:38Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139742#M5439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;yes, you are right. I have given semicolon at the end. So I was getting the error. So I could place a variable at a perticular location. Thanks.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;But I also need to place a pointer at specific location. Can you please help me....&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 17:58:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139742#M5439</guid>
      <dc:creator>gauri_mahajan</dc:creator>
      <dc:date>2006-06-15T17:58:06Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139743#M5440</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;P&gt;I do not understand why you would need a pointer to be in a specific position (and not point to a specific position), but here is a way to do it:&lt;/P&gt;&lt;P&gt;#define data (*((char *) 0x170))&amp;nbsp;&amp;nbsp;&amp;nbsp; // define a variable at address 0x170&lt;BR /&gt;#define pdata (*((char **)0x172))&amp;nbsp;// define a pointer to a char at address 0x172&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;data = 8;&amp;nbsp; //&amp;nbsp;the&amp;nbsp;char at 0x170 will be set to 8&lt;BR /&gt;&amp;nbsp;&amp;nbsp;pdata = (char *) 0x170; // the pointer at 0x172 will be set to 0x170&lt;BR /&gt;&amp;nbsp;&amp;nbsp;*pdata = 8;&amp;nbsp; // the char pointed to by 0x172 is set to 8 (same as data = 8)&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Jun 2006 18:27:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139743#M5440</guid>
      <dc:creator>Sten</dc:creator>
      <dc:date>2006-06-15T18:27:11Z</dc:date>
    </item>
    <item>
      <title>Re: problem in declaring variables and pointer at absolute address</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139744#M5441</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thank you Sten! It solved my problem.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The requirement was for a function to check RAM.&amp;nbsp;This function's variables also reside in the same RAM. So these variables need to be at specific addresses.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you all who helped me.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Gauri&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Jun 2006 15:23:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/problem-in-declaring-variables-and-pointer-at-absolute-address/m-p/139744#M5441</guid>
      <dc:creator>gauri_mahajan</dc:creator>
      <dc:date>2006-06-16T15:23:09Z</dc:date>
    </item>
  </channel>
</rss>

