Forums

IAR again. It never ends!

Started by bumerang boom August 2, 2006
I have some functions that are called by pointers hard initialized to a specific address.
The IAR tools (3.21) insist to delete these functions as it considers them as UNUSED. The optimizer is completely turned off by selecting NONE in the respective window.

How can I turn off this IAR "feature" ? I want to be able to compile and link code that
is considered wrongly by the tool as unreachable or unused.

Can any one help here?

BB

---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail Beta.

Beginning Microcontrollers with the MSP430

Isn't that what __root does?

You know, you could do worse than read the manual and be a bit of a
self-starter...

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors

> -----Original Message-----
> From: bumerang boom [mailto:b...@yahoo.com]
> Sent: 02 August 2006 19:14
> To: m...
> Subject: [msp430] IAR again. It never ends!
>
> I have some functions that are called by pointers hard
> initialized to a specific address.
> The IAR tools (3.21) insist to delete these functions as it
> considers them as UNUSED. The optimizer is completely turned
> off by selecting NONE in the respective window.
>
> How can I turn off this IAR "feature" ? I want to be able
> to compile and link code that
> is considered wrongly by the tool as unreachable or unused.
>
> Can any one help here?
>
> BB
>
>
> ---------------------------------
> Do you Yahoo!?
> Everyone is raving about the all-new Yahoo! Mail Beta.
>
>
>
>
>
Is this what __root does ??? OK, I'll try it. However it will not be accepted by the QA
as this is not ANSI compatible. I need a way to do this without resorting to platform sensitive key words.

Are there any linker switches that will allow to do the trick?.

BTW. I have no manual for this tool. I inherited form the previous consultant and
there are lots of pieces missing. Imbedded "HELP" was insufficient in this case.

BB.
Why are so agressive? A sweet answer goes along way, you know :)
bb..

Paul Curtis wrote:
Isn't that what __root does?

You know, you could do worse than read the manual and be a bit of a
self-starter...

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors

> -----Original Message-----
> From: bumerang boom [mailto:b...@yahoo.com]
> Sent: 02 August 2006 19:14
> To: m...
> Subject: [msp430] IAR again. It never ends!
>
> I have some functions that are called by pointers hard
> initialized to a specific address.
> The IAR tools (3.21) insist to delete these functions as it
> considers them as UNUSED. The optimizer is completely turned
> off by selecting NONE in the respective window.
>
> How can I turn off this IAR "feature" ? I want to be able
> to compile and link code that
> is considered wrongly by the tool as unreachable or unused.
>
> Can any one help here?
>
> BB
> ---------------------------------
> Do you Yahoo!?
> Everyone is raving about the all-new Yahoo! Mail Beta.
>
>
>
On 2006-08-03, bumerang boom wrote:

>> You know, you could do worse than read the manual and be a bit
>> of a self-starter...
>
> BTW. I have no manual for this tool.

Then get a manual! What are we, your servants?

Somebody presumably paid for support from IAR, and now they're
paying you. Do some work. Make IAR support do some work.

> I inherited form the previous consultant

That sort of implies you're a "consultant", yet you seem to
know little or nothing about the C language in particular and
compilers in general. You act like you're quite unwilling to
do even the most basic tasks (such as downloading some manuals
and reading them).

> and there are lots of pieces missing.

Fix that problem first. We're not here to be your personal
assitants looking stuff up manuals for you (unless you want to
pay the going hourly rate, which for you will be pretty high).

> Imbedded "HELP" was insufficient in this case.

GET A MANUAL. READ IT.

> BB.
> Why are so agressive?

Because you persist in asking vague, ambiguous questions (which
are often rather insulting towards various people and/or
products) -- questions that you should be able to figure out
for yourself if you put just a tiny bit of effort into it.

At first, we tried answering your questions, but you refused to
accept the answers (and the answers were correct) and argued
with us.

> A sweet answer goes along way, you know :)

So does a little work on your part (especially when your
client is presumably paying you).

1) Learn C.

2) Read your toolchain manuals.

3) Read the MSP430 datasheets.

4) Stop top posting.

5) Stop acting like the other readers of the mailing list are
your servants.

--
Grant Edwards grante Yow! YOW!! Now I
at understand advanced
visi.com MICROBIOLOGY and th' new
TAX REFORM laws!!
WOW!... what a bunch of grouchy people .... Get a life folks ...I asked a question and I got 2 cannon balls back ... No wonder that so many good people just leave this forum!
SHAME on you ! You make me puke!

BB.

Grant Edwards wrote:
On 2006-08-03, bumerang boom wrote:

>> You know, you could do worse than read the manual and be a bit
>> of a self-starter...
>
> BTW. I have no manual for this tool.

Then get a manual! What are we, your servants?

Somebody presumably paid for support from IAR, and now they're
paying you. Do some work. Make IAR support do some work.

> I inherited form the previous consultant

That sort of implies you're a "consultant", yet you seem to
know little or nothing about the C language in particular and
compilers in general. You act like you're quite unwilling to
do even the most basic tasks (such as downloading some manuals
and reading them).

> and there are lots of pieces missing.

Fix that problem first. We're not here to be your personal
assitants looking stuff up manuals for you (unless you want to
pay the going hourly rate, which for you will be pretty high).

> Imbedded "HELP" was insufficient in this case.

GET A MANUAL. READ IT.

> BB.
> Why are so agressive?

Because you persist in asking vague, ambiguous questions (which
are often rather insulting towards various people and/or
products) -- questions that you should be able to figure out
for yourself if you put just a tiny bit of effort into it.

At first, we tried answering your questions, but you refused to
accept the answers (and the answers were correct) and argued
with us.

> A sweet answer goes along way, you know :)

So does a little work on your part (especially when your
client is presumably paying you).

1) Learn C.

2) Read your toolchain manuals.

3) Read the MSP430 datasheets.

4) Stop top posting.

5) Stop acting like the other readers of the mailing list are
your servants.

--
Grant Edwards grante Yow! YOW!! Now I
at understand advanced
visi.com MICROBIOLOGY and th' new
TAX REFORM laws!!
> I asked a question and I got 2 cannon balls back

You asked a question before making an attempt to find out the
answer for yourself. The same question has been answered here
repeatedly, while you were here, but you obviously didn't read
those messages. Why should we answer the same message repeatedly,
to someone who's too lazy to even read the answers, or to search
for them himself?

You also impugned a perfectly reputable product, and you've done
that repeatedly through your own ignorance, and stubbornly stuck
to your guns even after it has been politely explained to you.
We're getting tired of it.

That's why you got cannonballs back.

> SHAME on you ! You make me puke!

Well, I'm sure the feeling is mutual. Lazy ignorant stubborn folk
do that to people like us.

> ... No wonder that so many good people just leave this forum!

So leave then. You won't be missed.
bumerang boom wrote:
> I have some functions that are called by pointers hard initialized to a specific address.
> The IAR tools (3.21) insist to delete these functions as it considers them as UNUSED. The optimizer is completely turned off by selecting NONE in the respective window.
>
> How can I turn off this IAR "feature" ? I want to be able to compile and link code that
> is considered wrongly by the tool as unreachable or unused.
>
> Can any one help here?

Throwing away unused stuff is one of the basic responsibilities of a
linker. Without it you would end up with applications that potentially
could contain a lot more code than really use.

Instead, you should concentrate on getting your application to work
properly. Basically, there are two approaches:

* Make sure you're program really are refering to the functions in
question. You could, for example, ferere to the name of a function
rather than address that you know it's located at.

* As people here already have pointed out, you can use the __root
keyword to make sure that functions or variables are not thrown away.

-- Anders Lindgren, IAR Systems
--
Disclaimer: Opinions expressed in this posting are strictly my own and
not necessarily those of my employer.
Hi,

> Is this what __root does ??? OK, I'll try it. However it will
> not be accepted by the QA
> as this is not ANSI compatible. I need a way to do this
> without resorting to platform sensitive key words.

Interrupts aren't ANSI compatible. What are you going to do about that?

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
Hi,

> WOW!... what a bunch of grouchy people .... Get a life folks
> ...I asked a question and I got 2 cannon balls back ... No
> wonder that so many good people just leave this forum!
> SHAME on you ! You make me puke!

I would say the feeling is mutual, especially when you have that
attitude.

All I asked was for you to read the manuals, which are very easily
obtained, and that you try a little to help yourself. Even though this
group has nigh on 4000 members, only a few people are regulars here and
help out the non-self-starters.

I gave you a solution which you rejected, so you're on your own. How
you have a complete no-extensions-allowed embedded application I can't
imagine with section placement, interrupts, and perhaps an RTOS.

--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for ARM, MSP430, AVR, MAXQ, and now Cortex-M3 processors
--- In m..., bumerang boom wrote:
>
> Is this what __root does ??? OK, I'll try it. However it will not be
accepted by the QA
> as this is not ANSI compatible. I need a way to do this without
resorting to platform sensitive key words.

Tyr declaring them as volatile. Yeah, I know that's not what it's for,
but it is ANSI/ISO compliant and does (or at least should) stop the
optimizer from tampering with them.