Today I created 6 new projects to run under uVision 3. Every time I had to:
============================================================ Gary Lynch | To send mail, change no$pam in lynchg@no$pam.com | my domain name to stacoenergy
Erm.. a project definition is just a single file (the other one is just desktop settings --- it doesn't really hurt to lose it). So there's no need for a special instruction how to clone a default project: just copy it to a new name/location, and that's that.
"Erm.. a project definition is just a single file (the other one is just desktop settings --- it doesn't really hurt to lose it)." Actually, for C51 projects, the XTAL value is in the .opt file. :-( This is generally not too important, but worth noting. The .opt file also contains your custom file extension definitions, and possibly also custom Books, etc. If you "lose" the .opt file, you will have to re-do all those settings - I generally want the same (or very similar) settings for these options, so I do need to copy both the .uv2 and the .opt file.
I was not aware the .uv2 files were ASCII, and that presents interesting possibilities. I'm going to try to slap together a batch file with a modicum of programmability; will report back here later. Thanks to all who contributed!
Actually, for C51 projects, the XTAL value is in the .opt file. :-( Yeah. But the default value for that is taken from the device database. Which in turn is not completely out of bounds for editing itself. C'mon guys, show a bit of creativity! ;-) And BTW: I'm reasonably sure you can configure defaults for books and some other things in ...\keil\tools.ini without too much risk of breakage.
it seems that Keil address the IDE to the lowest common denominator. you can not replace the editor with a real editor. you can not create multiple variants of same code (e.g. for various types of the attached display) in one run. you can not do "dynamic replacemet" I got that far, had I gone on I would have found, I'm sure you can not you can not But if, like a good little programmer, you sit in your little corner and behave "normally" it seems OK Thank heaven for the .bat Erik
"you can not create multiple variants of same code (e.g. for various types of the attached display) in one run." True - a "Build All Targets" button would be useful. "you can not do 'dynamic replacemet'" What do you mean by that?
"I'm reasonably sure you can configure defaults for books and some other things in ...\keil\tools.ini without too much risk of breakage." The default set of books is defined in TOOLS.INI. The file extension stuff is in the .opt file alone.
Those with complex project structures that want a more powerful build environment might be interested in Jam. http://www.perforce.com/jam/jam.html It's free. It's sort of like a smarter and more powerful make facility.
"Those with complex project structures that want a more powerful build environment might be interested in Jam." Looks interesting! Are you recommending this from experience, or is it just something you've seen?
I've used Jam before in a much larger environment. It takes a little bit more startup effort than make, unless you're content with the "Jamrules" out of the box. The hardest thing to get used to is the quirk of their parser than means the terminating semicolons must be separated with a space, e.g.: Target1: Depend1 Depend2 ; // ok Target2: Depend1 Depend2; // bugged This makes sense only if you're a Jam developer working on the parser and you understand that these lines are really function calls with unusual syntax and that a semicolon is a perfectly legitimate third parameter. The rest of us just get used to it. On really big projects, you tend to have each file as well as the semicolon on a separate line anyway, so you can easily add and delete from the list without worrying about which file happens to be the last one, or the list in some variable. On the bright side, Jam is much more powerful than make, extensible and customizable, smarter about dependencies, and much much better at handling projects that live in nested directory structures. I haven't yet used it with my 8051 projects and the Keil tools. That set of projects is just barely teetering within the limits of what uVision can handle.
View all questions in Keil forum