saniljhaveri / avr-project-ide

Automatically exported from code.google.com/p/avr-project-ide
0 stars 0 forks source link

Auto Disassemble with tab for viewing the disassembly... #53

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
IDE or project setting option: When Compiling use the avr-objdump to 
automatically dump an assembly to a .s or .asm in the output path by adding a 
line to the compile script.
then load this file in a text window in a tab next to the one used for builds 
and serial port i/o

It's a pain to create a batch file or build a command line since the software 
already knows all the file paths and it seems a simple thing to add into the 
compile script.

A checkbox in the IDE settings and or project settings to allow this scripting 
addition to the compile script.

Shouldn't cause any compatibility problems should it?

Original issue reported on code.google.com by theKI...@gmail.com on 11 Jun 2010 at 4:42

GoogleCodeExporter commented 8 years ago
Found the external tools and I am using that right now to simplify the 
procedure by adding one tool as the avr objdump and one for a notepad to open 
it, but would still like to see a simple ability to auto disassemble on 
successful compile and a simple way to auto load/view this disassembly in the 
IDE 

Thanks again!
Kiwsa

Original comment by theKI...@gmail.com on 11 Jun 2010 at 5:16

GoogleCodeExporter commented 8 years ago
ok I got objdump to output the .lst file, using the "-h -S" as options, do 
would you rather I used "-h -D -S"? Do you want this to be configurable? Do you 
want both source-intermixed versions AND one raw full disassembly?

how do you want to view it? are you sure you want a whole new window on the 
bottom to view it? I could also add the outputted file to your main file list 
and let you view it as though it was a project file. I'm guessing that you want 
to do comparisons between the code and the disassembly so you'd like a top view 
and a bottom view both at once?

Original comment by frank.zhao.main@gmail.com on 12 Jun 2010 at 6:36

GoogleCodeExporter commented 8 years ago
Wow those all sound like great setups.  Configurable is always better than not. 
Yes main file list sounds great. Yes top and bottom sound awesome...so we can 
edit the source while we look at the asm! About the switches: configurable is 
good of course but "-h -D -S" seems like a good default(I add -z to make it 
easier to count NOPs in a critical timing routine...).

I know this is probably asking too much (and would probably be way 
difficult...) would it be possible to select a line in the source and have the 
asm pane jump to the same section and highlight the lines of asm produced by 
the code? how about vice-versa select a line in asm and have it find the line 
it comes from in the original code and highlight/switch pane/scroll into 
view.(I can't currently think of a way to do it, but you are probably wiser 
than me in these matters) If you can do it I think it would make this tool 
absolutely indispensable in an already indispensable free product for all but 
the most casual AVR programmers. 

so basically yes, yes, yes and yes.  It all sounds great. Fantastic even...I am 
currently rubbing my hands together in anticipation of a new version!

Thanks again,
Kiwsa

Original comment by theKI...@gmail.com on 12 Jun 2010 at 11:09

GoogleCodeExporter commented 8 years ago
I just noticed you also mentioned raw full disassembly and Yes I like this idea 
as well, but as a separate option because I am currently doing something with a 
raw disassembly (saving it to μSD card and interpreting it at runtime as part 
of a project I am working on that can change/edit software while the main 
program is running and without rebooting the Atmega...) anyway, YES great idea 
especially if we can optionally get BOTH the raw and the commented versions

Thank you for your time!
Kiwsa

Original comment by theKI...@gmail.com on 12 Jun 2010 at 11:21

GoogleCodeExporter commented 8 years ago
Ok I added a panel that can be docked anywhere. It contains a thin textbox 
where you can specify the options for avr-objdump, but defaults to "-h -D -S". 
You have to click the "Load" button to generate the disassembly (but you can 
only do so if the ELF file has been built). The file is also saved in the 
output directory, and marked with the options used to generate it (example 
"projectname.disasm.h.D.S.lst") so you can find it for future manual viewing. 
Clicking Load will ALWAYS overwrite the file. Building the project DOES NOT 
modify or delete these .lst files.

To get two versions of the disassembly, just change the options and click load 
again, the old file is not deleted. the Disassembly Viewer window will only 
show one at a time, but you are free to view it in another text editor, or even 
add it to the current project and view it from the IDE.

Look for this feature in update 88.

Synchronizing the view between the disassembly and the source code looks very 
hard to do, because although the disassembly provides a line of source code to 
mark where it is, it doesn't tell me what line exactly to jump to, searching 
for a similar line is not a good idea as things may be repeated, and I would 
also have to think about whether or not a function is inline or not.

There is a away to do it though, but it involves actually using the ELF file, 
and I would basically be writing half of a C debugger from scratch if I tried.

Original comment by frank.zhao.main@gmail.com on 13 Jun 2010 at 1:25

GoogleCodeExporter commented 8 years ago
note, in a fresh installation, it should default to docking to the bottom, 
however if you are upgrading, it might dock along with the project files. if 
this happens, just dock it to the bottom, and the settings should be saved when 
you exit the IDE

Original comment by frank.zhao.main@gmail.com on 13 Jun 2010 at 1:35

GoogleCodeExporter commented 8 years ago
Absolutely beautiful! Now I can concentrate on work instead of editing batch 
files!

Thanks!
Kiwsa

Original comment by theKI...@gmail.com on 13 Jun 2010 at 4:16