Hi all,
We are using CodeWarrior 7.1 to develop our new products based on MCF54452 CPU. We are now totally relly on the CodeWarrior enviornment to compile/link the sofware. In the future we want use the command line tools to do the same job as under the CodeWarrior enviornment. Could anybody here has the similar expierence to share the knowledge with us?
We are planning to use "subversion" or "CVS" as our version control system. Also we want to use make file utility (where the CodeWarrior command line tools will be inculded) to deal with the dependencies. Again could pepole share your experiences with us?
Best Regards,
Solved! Go to Solution.
> In the future we want use the command line tools to do the same job as under
> the CodeWarrior enviornment. Could anybody here has the similar expierence to
> share the knowledge with us?
In addition to building in the codewarrior IDE, we also do command-line builds using gnu make and both the codewarrior and code sourcery compilers for coldfire. If you want to see the Makefiles and the build process, it is all in our skeleton source code project zip archive at the bottom of this page:
http://www.cpustick.com/downloads.htm
You can see the script ./build.sh that fires everything off. You can see the toolchain-specific Makefiles in build/Makefile.* that tell you "how to build", and then the directory-specific Makefiles elsewhere that tell you "what to build". Our goal was to completely decouple how you build from what you build, so that a) the general Makefiles (what to build) are *very* simple, and then b) we can add new toolchains trivially by just adding a new "how to build" Makefile for the new toolchain. It works very well. (We also have complete vpath support to allow us to select architecture-specific source files, but we don't do that presently and just use #ifdef's.)
We use cvs for source control, which I just love, though I might consider git in the future.
> In the future we want use the command line tools to do the same job as under
> the CodeWarrior enviornment. Could anybody here has the similar expierence to
> share the knowledge with us?
In addition to building in the codewarrior IDE, we also do command-line builds using gnu make and both the codewarrior and code sourcery compilers for coldfire. If you want to see the Makefiles and the build process, it is all in our skeleton source code project zip archive at the bottom of this page:
http://www.cpustick.com/downloads.htm
You can see the script ./build.sh that fires everything off. You can see the toolchain-specific Makefiles in build/Makefile.* that tell you "how to build", and then the directory-specific Makefiles elsewhere that tell you "what to build". Our goal was to completely decouple how you build from what you build, so that a) the general Makefiles (what to build) are *very* simple, and then b) we can add new toolchains trivially by just adding a new "how to build" Makefile for the new toolchain. It works very well. (We also have complete vpath support to allow us to select architecture-specific source files, but we don't do that presently and just use #ifdef's.)
We use cvs for source control, which I just love, though I might consider git in the future.
Dear Rich,
I am interested in using the command line interface to build our project associated with Code Warrior.
The skeleton.zip was downloaded from http://www.cpustick.com/downloads.htm, at the bottom of the webpage.
The version, skeleton.v1.72b was download.
The build/Makefile was not found in skeleton.v1.72b.
May you share the makefile with us on http://www.cpustick.com/?
Rgds
CYH
I downloaded skeleton.zip for CodeWarrior 6.2 and MC9S08QE128/MCF51QE128/MCF51CN128/MCF51JM128 I the makefiles are missing.
I would really like to have them.
Pierre
Thanks Rich.
How do you map the options from GUI to command line. Did you did it manually?
Regards,
What experiences are you interested in?
I've done resp. am doing exactly that (switch from CW-GUI to command line, make, CVS, migration to SVN, CW7.1 but for CF5233).
Getting the CL options right is the first challenge, and if you have a certain link-order, it might be a challenge to get it right using a command line generated by a makefile.
Makefile-export didn't work for me, exporting the option panels didn't provide enough information, so I used the XML project exports to find some settings I couldn't otherwise extract; it's an enormous amount of XML data, but better than guessing in some few cases.
CVS/SVN is done outside and has nothing to do with a command-line make (unless you want make to update your CVS), we're setting up Eclipse as editing environment with CVS/SVN integration. Not quite there yet.
It's not much information, but maybe it's what you wanted. Otherwise, ask again.
FWIW,
Johan
Thanks Johan.
Which XML file you were using the find some settings you could not find from makefile-exporting or option panel exporting?
Does makefile exporting or option panel exporting provide most of the command line options?
Regards,
Hi Johan,
I'm interested in what you're doing to move your project to Eclipse.
Are you planning to call the Coldfire command line tools from Eclipse?
Would Eclipse be able to parse the compiler output?
Also, are you thinking of also debugging from Eclipse?
Thanks,
Emanuele
I'm currently working on the makefile structure first. But yes, we will be able to call the command line tools from Eclipse, and we definitely need the infrastructure to have Eclipse parse the warnings/errors from the CW compiler (and PC-Lint for that matter). If that doesn't work out-of-the-box, I'll have to see what needs to be done to make it work.
For debugging we use the Lauterbach emulator. I don't think it will be of much use to debug from Eclipse, since Lauterbach provides a complete environment for that. It may be possible to use Eclipse as the editor of choice when changes are to be made from the debugger, but at the moment that's not an issue for us.
Currently, we 'just' need a "transportable" configuration for our projects, and the CW GUI is too limited, even when you can export projects using XML. It simply doesn't work to have everyone on the team do a project import at the start of each session after a CVS/SVN-sync. It has to be automatic.
Johan
Hi Johan,
thanks for your reply. I appreciate you've been going through a lot of effort to break the "CodeWarrior jail". Please keep us posted.
Definitely CW doesn't seem to offer good support for team projects or even for projects of other than modest size.
I've tried to make our lives easier by breaking down our project into sub/library projects.
Having a make file would help applying the same target settings to the main project and the rest.
But there's no easy/automatic way, as you wrote, to merge concurrent changes to a project structure.
If we keep using CW, I guess the goal would be to automate the merging of the XML configuration export file. But probably you've already found that way to be to hard.
It seems to me that you're really trying to anticipate what Freescale is in the process of doing: porting CW to the Eclipse Platform and CDT.
I wonder how that is progressing. I suspect it won't happen soon, given the recession.
By the way, is it easier to merge changes to a CDT project?
All I can say is that currently several CodeWarrior products are being migrated to Eclipse. And no, these projects have not stalled because of the economic climate. I cannot say more because I've been bouncing between projects and can't remember what's been made public and what is still under wraps.
---Tom
Hi Tom,
out of curiosity: are you directly involved in the porting of CW to Eclipse?
Do you think CW might be released under the Eclipse (or similar) license in the future?
Freescale already give away a RTOS, TCP/IP and much more for free (QMX) for some Coldfire.
Only the IDE and toolchain is currently missing...