Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] C programming on AVR

2008-03-23 by David Kelly

On Mar 22, 2008, at 6:19 PM, Leon wrote:

> ----- Original Message -----
> From: "David Kelly" <dkelly@hiwaay.net>
>
>> IMO "integrated development environments" are incredibly kludgey and
>> horrendous. Makefiles are simple and elegant.
>
> I used to think the same, but with complex devices like FPGAs, ARM  
> and MIPS
> controllers a good IDE saves a great deal of time. The CrossWorks IDE
> includes an excellent debugger and simulator, and links to revision  
> control
> systems; I'd hate having to go back to the techniques we used to use.

You missed the whole point.

Is well and good to have tools for generating fuse maps to configure  
complex chips. And to generate initialization code to start the chip.  
IMO Freescale MCUs have great need for these tools.

But when configuration and build options are buried under menus under  
menus and hidden in undocumented IDE binary "project" files, one is in  
the "incredibly kludgey and horrendous" zone.

Freescale's Code Warrior is especially bad at hiding one's options and  
selections.

To AVR Studio's credit it has an option to generate a Makefile. I  
haven't exercised that option. It also has option to use an external  
Makefile. Haven't used that either. But I do build my own Makefile and  
compare my output files to those generated by AVR Studio's internal  
build facility. Having my own Makefile ensures that I have captured  
and documented all the options selected. My Makefile goes in SVN along  
with everything else. Including the AVR Studio project file. The big  
difference is that one can diff versions of the Makefile and see what  
changed. The binary project files can only be compared if the  
committer thought to mention all the changes between one and the next.  
But the file changes for nothing more than the selection of open files  
in the editor, so it changes often.

One thing I have noticed is that my Makefile has an optional depend:  
target which cross references all the include files used by source  
file so that if one changes a .h file the appropriate .c files are  
recompiled. In AVR Studio one has to know to "Build All".

--
David Kelly N4HHE, dkelly@HiWAAY.net
========================================================================
Whom computers would destroy, they must first drive mad.

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.