comp.lang.ada
 help / color / mirror / Atom feed
From: "DuckE" <nospam_steved94@home.com>
Subject: Re: Code Generation Question
Date: Sat, 17 Mar 2001 15:00:18 GMT
Date: 2001-03-17T15:00:18+00:00	[thread overview]
Message-ID: <6_Ks6.582524$U46.17402833@news1.sttls1.wa.home.com> (raw)
In-Reply-To: 98ug7e$9oj$1@newpoisson.nosc.mil

I have worked with one VME device that required 16 bit reads and writes, but
only returned/stored 8 bits at a time.  To make things even more difficult
the data was in the high order byte of the 16 bit word.

This device was one that was built in-house.  Apparently it was much easier
for the hardware designer to build it this way.

On an application developed using GCC on VxWorks I access 16 bit memory by
defining a pointer to a 16 bit value, assigning a memory address to the
pointer, and then accessing the memory through the pointer.

I hope this helps,

SteveD

"Charles H. Sampson" <claveman@cod.nosc.mil> wrote in message
news:98ug7e$9oj$1@newpoisson.nosc.mil...
>      This is not strictly an Ada issue but, since this group has one of
> the best signal to noise ratios in USENET, I'll post it here anyhow.  In
> my defense, it did arise in an Ada project that I'm currently working
> on.
>
>      Our project uses a heavily populated VME rack with a PowerPC as the
> CPU.  I certainly don't understand all of the VME arcania but it seems
> obvious to me that VME is at its root byte oriented.  One of the cards
> in the rack requires 16-bit reads and writes to its memory.  If you at-
> tempt an 8-bit read or write there is no indication of error; instead
> the board silently zeros the other byte of the 16-bit word.
>
>      This causes quite a bit of problem, as you might guess when you re-
> flect on it for a minute.  Whenever the module is modified (fortunately,
> it's now pretty stable), we have to investigate the code generated by
> the compiler to verify that there are no byte reads or writes to the
> board's memory.  If there are, we have to figure out a way to trick the
> compiler into not doing it.
>
>      I consider this wildly unreasonable.  My question is this: Are
> there compilers, for any language, that give the user the ability to
> subset the hardware instruction set used for a compilation?  I don't
> know of any and I've had experience with 20-30 compilers in my career.
> Other people, particularly those in academic settings, might have seen
> many more.
>
>                     Charlie
>
>
> --
> ******
>
>      For an email response, my user name is "sampson" and my host
> is "spawar.navy.mil".





  parent reply	other threads:[~2001-03-17 15:00 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-17  1:55 Code Generation Question Charles H. Sampson
2001-03-17  7:39 ` Simon Wright
2001-03-17 11:16 ` Florian Weimer
2001-03-17 12:36   ` David Kristola
2001-03-17 11:54 ` Jeff Creem
2001-03-17 15:00 ` DuckE [this message]
2001-03-19 16:10 ` Brian Orpin
2001-03-19 18:25 ` Charles H. Sampson
2001-03-19 18:49   ` Charles H. Sampson
2001-03-20  9:23     ` Stuart Palin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox