|
Hi Bob,
Indeed, there's no reason the IDE should tolerate random deletion of files. Here's some more information about what's happening.
In a typical software project (maybe a PIC project, or a Visual studio, or simply a non-IDE based one) there are three types of file.
Firstly, there are the files which make up the specification of the project. These are the source files (.c and .h), plus the make files, and in some cases a project file which is really taking the place of a make file, in that it tells the IDE which compiler settings to use. All of these files are stored in the version control system. I know that anyone can check out these files, and build an identical copy of the binaries. These are the files which appear in the source tree
Secondly there are generated files (.o, .d, .lst, .hex, .rpt). These are generated at build time. They do not go into the version control system, and I could delete them at any time, and the build process can easily re-create them.
Lastly there may be a few files which record the user settings in the IDE. How were all the windows set up, what's the list of recently used files, etc. This would not go into the version control either. The reason for this is that moving the windows around in your IDE would cause this file to be changed, and would make the revision number increase every time you just moved a window.
The problem with PSoC Creator is that it confuses these important distinctions. For some reason, there's a file which doesn't appear in the source tree (and I don't seem to be able to affect its contents through the IDE). It's automatically generated, and doesn't seem to contain any information relating to the build process. The build process doesn't even recognise that changes in this file need to be propagated through to the binaries. And yet, somehow, there's something in here which is the difference between my project working and not working.
This is incredibly frustrating, because now I don't know what to do. When I started a new project recently, I discovered that the PSoC didn't do what I expect it to do. Not even when I copied all of the relevant schematic and code from another project which is working.
If I want to store my project in a version control system, like SVN, I need to know what files should be added to the SVN (Topdesign, main.c, etc.), and what files are simply generated (everything in Generated_Source, for example). For some files it's obvious, but for some files it really isn't.
For example, the cywrk files seem to get generated automatically, as do cycdx, cyfit, etc. These are generated as part of the build process and are not part of the specification of my design.
|