EmbeddedRelated.com
Forums
Memfault Beyond the Launch

Complete Assembler Listing from IAR C project

Started by Aaron Greer November 13, 2007
Is there a way to generate an assembler listing file that shows all of the compiled and assembled code after linking? I've got the option selected for Assembler->Output list file, but that only creates a list of main.c. I need something that will show all of the SP initializing, prologue, and epilogue, etc.
I've tried selecting the option for compiler->output assembler file, but I get an error saying "Assembler list file generation not allowed in this version of the compiler." Is that because I'm using the Kickstart version?
If anyone has an idea or suggestion how I can generate a complete listing file, please reply.
thanks,
Aaron

Beginning Microcontrollers with the MSP430

Thanks. That's the conclusion I've been reluctantly approaching myself.
Do you know if the edge alignment problem will disappear after scrolling past that point, or will the entire remaining instruction sequence be misaligned?
Is it safe to assume that if Kickstart won't generate the complete list file, the full version will?

----- Original Message -----
From: "old_cow_yellow"
To: m...
Sent: Tuesday, November 13, 2007 11:49:04 AM (GMT-0700) America/Denver
Subject: [msp430] Re: Complete Assembler Listing from IAR C project

Kickstart will not generate assembler list file.

But you can look at the Disassembly Window of Debug.
You can copy and past from that to NotePad, one Window at a time.

Note that:
(1) If more than one symbol has the same value, the Disassembler may
pick the wrong symbol to represent that value.
(2) If data (constants etc.) are encountered, the Disassembler will
interpret those data as code, and it will not make any sense.
(3) The Disassembler may occasionally mis-align the boundary of a
multi-word instruction and it will not make any sense.

--- In m... , Aaron Greer wrote:
>
> Is there a way to generate an assembler listing file that shows all
of the compiled and assembled code after linking? I've got the option
selected for Assembler->Output list file, but that only creates a list
of main.c. I need something that will show all of the SP
initializing, prologue, and epilogue, etc.
> I've tried selecting the option for compiler->output assembler file,
but I get an error saying "Assembler list file generation not allowed
in this version of the compiler." Is that because I'm using the
Kickstart version?
> If anyone has an idea or suggestion how I can generate a complete
listing file, please reply.
> thanks,
> Aaron
>
Kickstart will not generate assembler list file.

But you can look at the Disassembly Window of Debug.
You can copy and past from that to NotePad, one Window at a time.

Note that:
(1) If more than one symbol has the same value, the Disassembler may
pick the wrong symbol to represent that value.
(2) If data (constants etc.) are encountered, the Disassembler will
interpret those data as code, and it will not make any sense.
(3) The Disassembler may occasionally mis-align the boundary of a
multi-word instruction and it will not make any sense.

--- In m..., Aaron Greer wrote:
>
> Is there a way to generate an assembler listing file that shows all
of the compiled and assembled code after linking? I've got the option
selected for Assembler->Output list file, but that only creates a list
of main.c. I need something that will show all of the SP
initializing, prologue, and epilogue, etc.
> I've tried selecting the option for compiler->output assembler file,
but I get an error saying "Assembler list file generation not allowed
in this version of the compiler." Is that because I'm using the
Kickstart version?
> If anyone has an idea or suggestion how I can generate a complete
listing file, please reply.
> thanks,
> Aaron
>
----- Original Message -----
From: "Anders Lindgren"
To: m...
Sent: Wednesday, November 14, 2007 12:22:47 AM (GMT-0700) America/Denver
Subject: Re: [msp430] Re: Complete Assembler Listing from IAR C project

Aaron Greer wrote:

> Thanks. That's the conclusion I've been reluctantly approaching myself.
> Do you know if the edge alignment problem will disappear after scrolling
> past that point, or will the entire remaining instruction sequence be
> misaligned?
> Is it safe to assume that if Kickstart won't generate the complete list
> file, the full version will?

Unfortunately, no.

The compiler and assembler can generate list files for each source file
they compile. We don't have a feature to generate a list file of the
result after linking.

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

Anders,
Wow, that surprises me. Doesn't that seem like a useful feature? As it is now, I guess the only way to get a glimpse of the linked assembly code is in the disassembly window of the debugger. How hard would it be to add a context menu item that will copy the entire disassembly window contents to the clipboard (instead of just the visible portion)?
thanks,
Aaron
Aaron Greer wrote:

> Thanks. That's the conclusion I've been reluctantly approaching myself.
> Do you know if the edge alignment problem will disappear after scrolling
> past that point, or will the entire remaining instruction sequence be
> misaligned?
> Is it safe to assume that if Kickstart won't generate the complete list
> file, the full version will?

Unfortunately, no.

The compiler and assembler can generate list files for each source file
they compile. We don't have a feature to generate a list file of the
result after linking.

-- Anders Lindgren, IAR Systems
--
Disclaimer: Opinions expressed in this posting are strictly my own and
not necessarily those of my employer.
Anders:
> The compiler and assembler can generate list files for each source file
> they compile. We don't have a feature to generate a list file of the
> result after linking.

Aaron Greer:
> Wow, that surprises me. Doesn't that seem like a useful feature? As it
> is now, I guess the only way to get a glimpse of the linked assembly
> code is in the disassembly window of the debugger. How hard would it be
> to add a context menu item that will copy the entire disassembly window
> contents to the clipboard (instead of just the visible portion)?

Hi Aaron!

Yes, I guess that it would be a nice feature, but it's really not as
easy as it sounds. To generate one big list file, we would either have
to modify the object code format to include the assembler source, or
implement a disassembler into the otherwise generic linker.

On the other hand, the linker can produce a so-called "map-file". It
doesn't include the assembler source, but it list exactly which parts
that was included from each object file, and where they are placed. For
most parts, this is more usefule than pages and pages of assembly.

-- Anders Lindgren, IAR Systems
--
Disclaimer: Opinions expressed in this posting are strictly my own and
not necessarily those of my employer.
Come on Anders, we have this feature in our compilers since... 2000?
Don't tell me that you guys haven't gotten around doing it yet :-)
At 11:47 PM 11/14/2007, Anders Lindgren wrote:

>Hi Aaron!
>
>Yes, I guess that it would be a nice feature, but it's really not as
>easy as it sounds. To generate one big list file, we would either have
>to modify the object code format to include the assembler source, or
>implement a disassembler into the otherwise generic linker.
>
>On the other hand, the linker can produce a so-called "map-file". It
>doesn't include the assembler source, but it list exactly which parts
>that was included from each object file, and where they are placed. For
>most parts, this is more usefule than pages and pages of assembly.
>
> -- Anders Lindgren, IAR Systems
>..

// richard (This email is for mailing lists. To reach me directly,
please use richard at imagecraft.com)
On 15/11/2007, Richard wrote:
> Come on Anders, we have this feature in our compilers since... 2000?
> Don't tell me that you guys haven't gotten around doing it yet :-)
> At 11:47 PM 11/14/2007, Anders Lindgren wrote:
>
> >Hi Aaron!
> >
> >Yes, I guess that it would be a nice feature, but it's really not as
> >easy as it sounds. To generate one big list file, we would either have
> >to modify the object code format to include the assembler source, or
> >implement a disassembler into the otherwise generic linker.
> >
> >On the other hand, the linker can produce a so-called "map-file". It
> >doesn't include the assembler source, but it list exactly which parts
> >that was included from each object file, and where they are placed. For
> >most parts, this is more usefule than pages and pages of assembly.
> >
> > -- Anders Lindgren, IAR Systems

Some toolsets may include this feature but for my money it is not
terribly useful.

If I want to see whether a particular code construct has been
translated efficiently then looking in the module level assembler
listing will show me everything that I need to know. I can think of
more productive things to do than searching through an assembler
listing for a 55kbyte application. The joys of reading assembler are
greatly overrated (speaking as someone that wrote/maintained a signal
processing application written entirely in assembler and running on
some 400 parallel processors)

Ian
Well, not everything is useful to everybody. We try to satisfy
(within limits) most customer's requests and this was a highly
requested item. But you know, some people debug by staring at the
code, some by blinking LEDs, some by printf, by use debuggers. We
provide the features, if you don't happen to need it, it's not a problem.

At 01:04 AM 11/15/2007, Ian Okey wrote:
>...
>Some toolsets may include this feature but for my money it is not
>terribly useful.
>
>If I want to see whether a particular code construct has been
>translated efficiently then looking in the module level assembler
>listing will show me everything that I need to know. I can think of
>more productive things to do than searching through an assembler
>listing for a 55kbyte application. The joys of reading assembler are
>greatly overrated (speaking as someone that wrote/maintained a signal
>processing application written entirely in assembler and running on
>some 400 parallel processors)
>
>Ian

// richard (This email is for mailing lists. To reach me directly,
please use richard at imagecraft.com)
----- Original Message -----
From: "Anders Lindgren"
To: m...
Sent: Thursday, November 15, 2007 12:47:31 AM (GMT-0700) America/Denver
Subject: Re: [msp430] Re: Complete Assembler Listing from IAR C project

Anders:
> The compiler and assembler can generate list files for each source file
> they compile. We don't have a feature to generate a list file of the
> result after linking.

Aaron Greer:
> Wow, that surprises me. Doesn't that seem like a useful feature? As it
> is now, I guess the only way to get a glimpse of the linked assembly
> code is in the disassembly window of the debugger. How hard would it be
> to add a context menu item that will copy the entire disassembly window
> contents to the clipboard (instead of just the visible portion)?

Hi Aaron!

Yes, I guess that it would be a nice feature, but it's really not as
easy as it sounds. To generate one big list file, we would either have
to modify the object code format to include the assembler source, or
implement a disassembler into the otherwise generic linker.

On the other hand, the linker can produce a so-called "map-file". It
doesn't include the assembler source, but it list exactly which parts
that was included from each object file, and where they are placed. For
most parts, this is more usefule than pages and pages of assembly.

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

Anders,
I can see where you are coming from, and I appreciate the difficulty of the task. My reason for wanting the feature is largely due to my present circumstances, not necessarily an intrinsic need. I am the junior engineer here and I was asked to provide an assembly listing of the complete application after linking. I've found the linker map file and module listing files quite handy in fact. But, those things don't show the initializing code or other routines provided by the system such as "epilogue". The only place I've found the whole picture is in the debug disassembly window. I do have one question for you. The disassembly window shows labels, and C code overlaying the assembly code. If this type of information can be generated via the debugger, why can't you simply take that (which has already been implemented) and extend it to export the complete disassembly listing just as it shows in the disassembly window? You can already do that by copying one window worth at a time, simply extend that to copy the whole window.
thanks for your reply,
Aaron

Messages in this topic ( 0 ) Reply (via web post) | Start a new topic
Messages | Files | Photos | Links | Database | Polls | Members | Calendar

Yahoo! Groups
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch format to Traditional
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
Recent Activity


18
New Members

1
New Files
Visit Your Group
Yahoo! Finance

It's Now Personal

Guides, news,

advice & more.

Official Samsung

Yahoo! Group for

supporting your

HDTVs and devices.

Real Food Group

Share recipes

and favorite meals

w/ Real Food lovers.
.





Memfault Beyond the Launch