<?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: Layering of Structs... in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582380#M25396</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Thu Jun 23 17:20:41 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If I use &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
typedef struct
{
 union&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; __IO int16_t Apples;
&amp;nbsp; struct&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; __IO uint8_t apples_lo;
&amp;nbsp;&amp;nbsp; __IO uint8_t apples_hi;
&amp;nbsp; }byte1;&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; 
 }int1;&amp;nbsp;&amp;nbsp;&amp;nbsp; 

 union&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; __IO int16_t Beer;
&amp;nbsp; struct&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; __IO uint8_t beer_lo;
&amp;nbsp;&amp;nbsp; __IO uint8_t beer_hi;
&amp;nbsp; }byte2;&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; 
 }int2;&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;&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; 
} MY_FULL_FUNKY_STRUCT_TypeDef;

 MY_FULL_FUNKY_STRUCT_TypeDef ApfelBeer;&amp;nbsp; // :):):)
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;:D:D:D:D&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Then if :&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
ApfelBeer.Apples = 1111;
ApfelBeer.Beer = 2222;

//Bytes result in proper Hi and Low Byte values.... mapped well.

[B]//@ZERO ---&amp;nbsp; Map file shows only the 'ApfelBeer' and its size is 4 ( correct ).[/B]
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;OK.. all good.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Glad that this works....but..this is not what I originally intended to achieve.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;At least through everyone's help, I learned my first step with unions and structs. Something I was really afraid to use before. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[B]Thanks CodeRedSupport, Zero, TheFallGuy[/B]!!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But for what I [I]need[/I] to do, union/structs complicates life and is not what I intended in the first place.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I posted the first post, I was thinking .. perhaps there's an __attribute__ function (or a combination of other intelligent hacks ) that allows me to achieve my aim: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* [B]to overlap / overlay / mirror / co-locate / share same memory space[/B] */&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; 
volatile int16_t&amp;nbsp;&amp;nbsp; APPLES[10];&amp;nbsp; 

// with

volatile uint8_t BEER[20];

//so that if 

APPLES[[COLOR=SeaGreen]0[/COLOR]] = 32767;

// then
//****AUTOMATICALLY****//
//
BEER[[COLOR=SeaGreen]0[/COLOR]] = 0xFF;
//and
BEER[[COLOR=SeaGreen]1[/COLOR]] =0x7F;

//and if 

APPLES[[COLOR=Magenta]1[/COLOR]] = -32767;

// then
//****AUTOMATICALLY****//
//
BEER[[COLOR=Magenta]2[/COLOR]] = 0x01;
//and
BEER[[COLOR=Magenta]3[/COLOR]] =0x80;

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Whether used on GNU compilers that do not support the &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;__attribute__((at(0xXXXXXXXX)))&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;...or others that allow me...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; to map my data using this simple and lovely variable attribute, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wish to do simply the above.... the same as I used to do with my old 8bitters....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;worked so efficient for me...... sigh.....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;!!help!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 02:35:48 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T02:35:48Z</dc:date>
    <item>
      <title>Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582351#M25367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sat Jun 18 14:45:33 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Trying to figure out why layering of two structs on top of the same memory space do not result in what I'm expecting....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
struct AAA
{
[COLOR=Red]int16_t[/COLOR] aaa;
[COLOR=Red]int16_t[/COLOR] bbb;
[COLOR=Red]int16_t[/COLOR] ccc;
} PACKED ; 

struct AAA&amp;nbsp;&amp;nbsp; mylistA&amp;nbsp; __attribute__((at(0x10007000)));

struct BBB
{
[COLOR=Lime]int8_t[/COLOR] aaa_L;
[COLOR=Lime]int8_t[/COLOR] aaa_H;
[COLOR=Lime]int8_t[/COLOR] bbb_L;
[COLOR=Lime]int8_t[/COLOR] bbb_H;
[COLOR=Lime]int8_t[/COLOR] ccc_L;
[COLOR=Lime]int8_t[/COLOR] ccc_H;
} PACKED ; 

struct BBB mylistB&amp;nbsp; __attribute__((at(0x10007000)));

mylistA.aaa = 100
mylistA.bbb = 101
mylistA.ccc = 102

sprintf(mybuffer, "%i,%i,%i, mylistA.aaa, mylistA.bbb, mylistA.ccc);
// this prints out the correct values = 100,101,102 //

// However //

sprintf(mybuffer, "%i,%i,%i,%i,%i,%i, mylistB.aaa_L, mylistB.aaa_H, mylistB.bbb_L, mylistB.bbb_H, 
mylistB.ccc_L, mylistB.ccc_H);
&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; 
// this prints out&amp;nbsp; = 0,0,0,0,0,0 //

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt;Any insight what I may be doing wrong ??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582351#M25367</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:29Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582352#M25368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Sat Jun 18 15:07:17 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Isn't the compiler complaining :confused::confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;../src/main.c:48:8: warning: 'at' attribute directive ignored&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;And why don't you just use good old 'union' ?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582352#M25368</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:30Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582353#M25369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sat Jun 18 15:28:00 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I used struct because ( AFAIK)&amp;nbsp; struct packs byte after byte ( I also enforce Packed ), while Union allocates memory space, but does not guarantee contiguous ???&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Need to look up the use of Unions.... any LPCexpresso example comes to mind ??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582353#M25369</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:30Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582354#M25370</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Sat Jun 18 15:39:54 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC17xx.h&amp;nbsp; :eek::eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
/*------------- General Purpose Input/Output (GPIO) --------------------------*/
typedef struct
{
&amp;nbsp; union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint32_t FIODIR;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIODIRL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIODIRH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIODIR0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIODIR1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIODIR2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIODIR3;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
&amp;nbsp; uint32_t RESERVED0[3];
&amp;nbsp; union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint32_t FIOMASK;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOMASKL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOMASKH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOMASK0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOMASK1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOMASK2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOMASK3;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
&amp;nbsp; union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint32_t FIOPIN;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOPINL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOPINH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOPIN0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOPIN1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOPIN2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOPIN3;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
&amp;nbsp; union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint32_t FIOSET;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOSETL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint16_t FIOSETH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOSET0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOSET1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOSET2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __IO uint8_t&amp;nbsp; FIOSET3;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
&amp;nbsp; union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint32_t FIOCLR;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint16_t FIOCLRL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint16_t FIOCLRH;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint8_t&amp;nbsp; FIOCLR0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint8_t&amp;nbsp; FIOCLR1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint8_t&amp;nbsp; FIOCLR2;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; __O&amp;nbsp; uint8_t&amp;nbsp; FIOCLR3;
&amp;nbsp;&amp;nbsp;&amp;nbsp; };
&amp;nbsp; };
} LPC_GPIO_TypeDef;

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582354#M25370</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582355#M25371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sat Jun 18 15:46:16 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh Crap :eek::eek: !!! Thanks Zero !!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582355#M25371</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:32Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582356#M25372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sun Jun 19 04:50:02 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Oh No!!... after many attempts at searching, reading and trying, I cannot configure well the union with structs. ( a first time for everything)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know I may be abusing :o:o... but can you just outline the proper syntax of laying down the struct and union?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582356#M25372</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:33Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582357#M25373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Sun Jun 19 05:18:49 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;...after many attempts...&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Come on, that's a 5 minutes copy and paste job :confused::confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Define structure:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
typedef struct
{
 union&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; //start union
 {
&amp;nbsp; volatile int16_t my_integer;
&amp;nbsp; struct&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; //start byte struct
&amp;nbsp; {
&amp;nbsp;&amp;nbsp; volatile uint8_t my_byte_Lo;
&amp;nbsp;&amp;nbsp; volatile uint8_t my_byte_Hi;
&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; //end byte struct
 };&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; //end union
} my_funny_struct_TypeDef;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;and use it:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
 my_funny_struct_TypeDef my_funny_struct;
 my_funny_struct.my_integer = 0xABCD;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;That's a simple structure, should be described in your (online) C Book like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://" rel="nofollow noopener noreferrer" target="_blank"&gt;http://publications.gbdirect.co.uk/c_book/chapter6/structures.html&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582357#M25373</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:33Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582358#M25374</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sun Jun 19 06:04:17 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Zero, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks for pointing me to gbdirect.&amp;nbsp; Its very resourceful.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;...after many attempts...&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; &lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Unfortunately its very true.... not just a copy paste in 5 minutes... but literally many hours of trying to find a solution... wiki, retrying, searching, heartbreak, pulling hair.....&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok.. finally I have the union working.... &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I was trying to address the bytes of the union, I was not using the full address call with all the dots in between the fields.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Once again, thanks Zero. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I've learnt something new and very useful.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Your posts, have also helped me lose less hair :D&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;One more beer for you !!!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582358#M25374</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:34Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582359#M25375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Sun Jun 19 16:42:36 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Turns out that with unions, it will be really inconvenient to code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way that what I wanted to do in the first post, can be done in an efficient manner ?? &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;By efficient, I mean 'sanity wise while coding' :eek::eek:,&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;without having to remember, or look for each different field for each variable I want to map directly with the n.bytes that make up each variable.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the meantime, I found out that the attribute __at does not work, the compiler merrily passing to the next available location.... in the first example posted... the bytes were starting at location&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;0x10007006&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;and that is why they were appearing as having value zero.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582359#M25375</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:35Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582360#M25376</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by CodeRedSupport on Sun Jun 19 23:58:54 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Wenzu&lt;/STRONG&gt;&lt;BR /&gt;Turns out that with unions, it will be really inconvenient to code.&lt;BR /&gt;&lt;BR /&gt;Is there any way that what I wanted to do in the first post, can be done in an efficient manner ?? &lt;BR /&gt;By efficient, I mean 'sanity wise while coding' :eek::eek:,&amp;nbsp; &lt;BR /&gt;without having to remember, or look for each different field for each variable I want to map directly with the n.bytes that make up each variable.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The sane way to do this is to use unions. You appear to be trying to do exactly what unions are designed to do, so I can't see why you think that this is inefficient.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;In the meantime, I found out that the attribute __at does not work, the compiler merrily passing to the next available location.... in the first example posted... the bytes were starting at location&amp;nbsp; &lt;BR /&gt;0x10007006&lt;BR /&gt;and that is why they were appearing as having value zero.&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;The[I] at[/I] attribute is not supported within LPCXpresso IDE. If you want to force a variable to be at a specific address, you typically need to place it in its own section, then place that section manually within your linker script. For more details see:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/PlacingData&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/OwnLinkScripts&lt;/A&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/EnhancedManagedLinkScripts&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Note that if you do decide to make life really difficult for yourself and use "overlapping structs", then you are also probably going to have to look at using the OVERLAY attribute in your linker scripts.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;CodeRedSupport&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582360#M25376</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:35Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582361#M25377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Mon Jun 20 02:53:25 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Wenzu&lt;/STRONG&gt;&lt;BR /&gt;Turns out that with unions, it will be really inconvenient to code.&lt;BR /&gt;&lt;BR /&gt;Is there any way that what I wanted to do in the first post, can be done in an efficient manner ?? &lt;BR /&gt;By efficient, I mean 'sanity wise while coding' :eek::eek:,&amp;nbsp; &lt;BR /&gt;without having to remember, or look for each different field for each variable I want to map directly with the n.bytes that make up each variable.&lt;BR /&gt;&lt;BR /&gt;In the meantime, I found out that the attribute __at does not work, the compiler merrily passing to the next available location.... in the first example posted... the bytes were starting at location&amp;nbsp; &lt;BR /&gt;0x10007006&lt;BR /&gt;and that is why they were appearing as having value zero.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can you explain what it is that you think is inefficient? Give us some examples so we can see what you are trying to do and why you think it is inefficient.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;the __at attribute is an compiler vendor specific extension and is not supported by GCC.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582361#M25377</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:36Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582362#M25378</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Mon Jun 20 03:49:54 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;@FallGuy - Exactly, the __at is not supported by gcc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;@CodeRed&amp;nbsp; - Thanks a mill' for your reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Give us some examples so we can see what you are trying to do and why you think it is inefficient.&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;I regret..my statement was bombastic, and reflects on my inexperience ( hobbyist with no formal training in programming ). To explain better, my 'inefficient' tag pertains only to a specific need that I have, which probably, the way to achieve it out of the struct is not evident to me at the moment.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's what I done before, on other compilers, on much less powerful processors.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[LIST]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[*]Create an array of bytes that covers( plus some extra)&amp;nbsp; all my variable types packed together&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[*]use friendly names for my working variables, and map them manually over the byte array&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[*]Create a byte array that starts and ends where my working variables are located .. (intended to be transmitted fast and frequently to my GUI)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/LIST]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The code example is already given in the first post of this thread. The hi-Byte and lo-Byte are my final requirement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The cherry on the cake, is to be able to use friendly names for variables, instead of structure.X.Y.Z&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What method can I use to be able to have access to this single byte copy to the main data structure, that can scan incrementally through all the struct ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I know the starting address, is there a function ( perhaps ASM ??) to be able to increment memory location ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope it is a tad clearer now! THANKS !!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582362#M25378</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:36Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582363#M25379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Mon Jun 20 06:08:08 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't really understand what your problem is, but how about (something like this)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
ttypedef struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp; int word1 ;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int word2 ;
} __PACKED struct1 ;

typedef struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp; unsigned char array[8];
} __PACKED struct2 ;

union {
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct1 s1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct2 s2;
&amp;nbsp;&amp;nbsp;&amp;nbsp; struct {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int word3 ;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int word4 ;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }__PACKED;
} * union1;

#define word1 union1-&amp;gt;s1.word1
#define array union1-&amp;gt;s2.array
...
&amp;nbsp;&amp;nbsp; word1 = 0 ; // use macro to access word1
&amp;nbsp;&amp;nbsp;&amp;nbsp; array[0] = 1 ; //use macro to access array elements
&amp;nbsp;&amp;nbsp;&amp;nbsp; union1-&amp;gt;word3 = 2 ; // anonymous structure within union works like this
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582363#M25379</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:37Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582364#M25380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Jun 20 06:45:00 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there someone out there, who is reading manuals or Wikis?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/CodeRedWiki/PackedStructs&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582364#M25380</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:38Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582365#M25381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Mon Jun 20 07:45:53 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;Is there someone out there, who is reading manuals or Wikis?&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Of Course Zero.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Packed... was listed in my first example in the begging of this thread.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;From the PackedStructs - CodeRed&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;there are some circumstances where you may need to make use of it - for example for accessing data coming in from peripherals.&amp;nbsp; &lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;Exactly my point..&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;....but I do not understand why the performance overhead...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Earlier links from Code Red&amp;nbsp; - Thanks.. V.interesting... ( but scripts are beyond my understanding.. for now )&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582365#M25381</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:38Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582366#M25382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Mon Jun 20 10:50:50 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;@TheFallGuy&amp;nbsp; - Thanks for your contribution.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Logically, it seems to do exactly what I was initially asking for... layer two structs over each other.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So.. hard as I am to understand my_funny_struct_logic,&amp;nbsp; ( :) ) , it's almost[I] exactly[/I] what I'm after...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;One thing left to solve.. the code is now throwing a Hardfault_Handler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When I check the registers, I can only see the address of&amp;nbsp; pointer union1. ( 0x10000202 )&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;All variables that are being used in the struct and union disappear ( perhaps because they are being #define[I]d[/I] ) ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hmmm....&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I remove the union, everything works fine ( of course not addressing the bytes ).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582366#M25382</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582367#M25383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Jun 20 11:14:13 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;1. The sample above is using a pointer. Do you know what that is ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;2. The sample above is no C-P sample. As mentioned above syntax '__packed' is not working and therefore destroys your anonymous union :eek:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582367#M25383</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:40Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582368#M25384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Mon Jun 20 11:34:09 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi Zero, Thanks for popping by.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I love your replies ...:o&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes.. So.. a Pointer is the number on the lottery ticket you have just purchased.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The contents of the pigeon hole that has the bounty have nothing to do with your ticket.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But when the draw comes up, if your pointer matches that on the winning drawn number you see on the screen,&amp;nbsp; then you have access to the contents of the pigeon hole. How 'bout that ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now... what is C-P ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I've also tried without __Packed.. still the same hardfault error.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Isn't __packed, supposed to guarantee that there will be no empty pigeon holes , &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;...so that if your ticket has that unlucky number that is'skipped' in the 'non-packed' stack, then you wouldn't be fighting with the lottery organizer that he tricked you into buying a false ticket ??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;:D:D&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582368#M25384</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:40Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582369#M25385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Jun 20 11:45:27 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;I love your replies...&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;OK, then I'll repeat them:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Is there someone out there, who is reading manuals or Wikis?&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://support.code-red-tech.com/Cod.../PackedStructs&lt;/A&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;There's described the correct syntax: __attribute__((packed)) :eek::eek:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you using this syntax?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;C-P is what you are doing: Copy and paste programming:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://en.wikipedia.org/wiki/Copy_and_paste_programming&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582369#M25385</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:41Z</dc:date>
    </item>
    <item>
      <title>Re: Layering of Structs...</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582370#M25386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Wenzu on Mon Jun 20 12:10:30 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;C-P ( thanks for the wiki link -&amp;gt; interesting reading ). The pejorative connotation is not what I'm doing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course, in [I][B]my_funny_struct_logic.h[/B][/I] file &lt;SPAN class="lia-unicode-emoji" title=":grinning_face_with_smiling_eyes:"&gt;&lt;LI-EMOJI id="lia_grinning-face-with-smiling-eyes" title=":grinning_face_with_smiling_eyes:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; , I am using&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;#define __PACKED __attribute__((__packed__))&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;since the code example on Page 1.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Zero...what beer r u drinking ?? Must be more bitter than usual today .. is it ??&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 02:35:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Layering-of-Structs/m-p/582370#M25386</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T02:35:42Z</dc:date>
    </item>
  </channel>
</rss>

