7 Replies Latest reply on Sep 14, 2016 2:36 AM by jlkf_1128316

    PSoC creator (version 3.3) cydsfit.exe command line options

      I would like to use the cydsfit.exe tool from the command line. There are many good reasons for doing so: build automation for example.

         

      When building from within the Creator IDE the output provides the following command:

         
          

      "c:\Program Files (x86)\Cypress\PSoC Creator\3.3\PSoC Creator\bin\cydsfit.exe" -.appdatapath "C:\Users\xxxx\AppData\Local\Cypress Semiconductor\PSoC Creator\3.3" -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -p C:\Users\xxxx\my_project\my_project.cydsn\my_project.cyprj -d CY8C4248LQI-BL483 -s C:\Users\xxxx\my_project\my_project.cydsn\Generated_Source\PSoC4 -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE

         
         

      My immediate problem is that the source code generated from this command when run from the cmd.exe shell is placed in the same directory as our application code. i.e. the generated source code is placed in

         
          

      C:\Users\xxxx\my_project\my_project.cydsn

         
         

      not in

         
          

      C:\Users\xxxx\my_project\my_project.cydsn\Generated_Source\PSoC4

         
         

      When this command is run from the PSoC Creator IDE the generated code is placed in the correct directory Generated_Source\PSoC4.

         

      What trickery is required to get the command line cydsfit.exe invocation to perform the same way as the IDE invocation?

         

      Thanks,

         

      -- Nat

        • 1. Re: PSoC creator (version 3.3) cydsfit.exe command line options

          Just a guess: cydsfit places the output into the current directory, which is the directory from where you are running it. So CD into the target dir, and call the command from there. All paths given are absolute so this will work.

          • 2. Re: PSoC creator (version 3.3) cydsfit.exe command line options

            That was a good idea. However, when I did that I get a very unexpected error:

               

            This may be a fools errand (I am the fool).

               

             

               

            Bitstream Generation ...
            Error: bse.M0105: cyfitter_cfg.c: Unable to open the file for writing. The process cannot access the file 'C:\Users\xxxx\xxx\xxx.cydsn\Generated_Source\PSoC4\cyfitter_cfg.c' because it is being used by another process. (File=cyfitter_cfg.c)
            [Notice;ERROR;LEVEL_0;YnNlLk0wMTA1OiBjeWZpdHRlcl9jZmcuYzogVW5hYmxlIHRvIG9wZW4gdGhlIGZpbGUgZm9yIHdyaXRpbmcuIFRoZSBwcm9jZXNzIGNhbm5vdCBhY2Nlc3MgdGhlIGZpbGUgJ0M6XFVzZXJzXG5lcnNvelx0dXNjYW55XEJyYW5jaGVzXG5hdF9mbGFzaFxUdXNjYW55LmN5ZHNuXEdlbmVyYXRlZF9Tb3VyY2VcUFNvQzRcY3lmaXR0ZXJfY2ZnLmMnIGJlY2F1c2UgaXQgaXMgYmVpbmcgdXNlZCBieSBhbm90aGVyIHByb2Nlc3MuIChGaWxlPWN5Zml0dGVyX2NmZy5jKQ==;VW5hYmxlIHRvIG9wZW4gdGhlIGZpbGUgZm9yIHdyaXRpbmcuIFRoZSBwcm9jZXNzIGNhbm5vdCBhY2Nlc3MgdGhlIGZpbGUgJ0M6XFVzZXJzXG5lcnNvelx0dXNjYW55XEJyYW5jaGVzXG5hdF9mbGFzaFxUdXNjYW55LmN5ZHNuXEdlbmVyYXRlZF9Tb3VyY2VcUFNvQzRcY3lmaXR0ZXJfY2ZnLmMnIGJlY2F1c2UgaXQgaXMgYmVpbmcgdXNlZCBieSBhbm90aGVyIHByb2Nlc3Mu;docloc:cyfitter_cfg.c#/ (cyfitter_cfg.c);bse;M0105;VGhlIGdpdmVuIGZpbGUgY291bGQgbm90IGJlIG9wZW5lZCBmb3Igd3JpdGluZy4gQ2hlY2sgdGhhdCB5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uLg==;;True]

            • 3. Re: PSoC creator (version 3.3) cydsfit.exe command line options

              Are you sure that no other process is running? This error doesn't look as if it could be caused by running from a different folder.

              1 of 1 people found this helpful
              • 4. Re: PSoC creator (version 3.3) cydsfit.exe command line options

                I found the magic to make this work:

                   

                mkdir codegentemp

                   

                cd codegentemp

                   

                cygsfit.exe ...

                   

                 

                   

                It may be that this tool only work properly when run one directory below the project directory. Or perhaps it on works when run from a directory with the name 'codegentemp'

                   

                Re: Process conflict: Yes, I rebooted just to make certain.

                1 of 1 people found this helpful
                • 5. Re: PSoC creator (version 3.3) cydsfit.exe command line options

                  actually this workaround is not satisfying as I'm supposed to run this tool in a specific folder but want to put the output in another one. Are there any other suggestions?

                  • 6. Re: PSoC creator (version 3.3) cydsfit.exe command line options

                    In order to provide some more background informations:

                       

                    I'm using make in order to build my project. Generation become rather part of build process this way. Thus actually I'm using option -C in order to change build dir before starting build but this doesn't work either as location for build has not changed effectivelly.

                    • 7. Re: PSoC creator (version 3.3) cydsfit.exe command line options

                      After studying docs to PSoC Creator I became aware that this requested feature is obviously not provided.

                         

                      Here is an another workaround - an answer to my own question:

                         

                      ->As I'm currently working with CMAKE to configure project and generate Makefiles for build. I'm using add_custom_command() to call cydsfit.exe by make in the latter. This CMAKE-function provides an option WORKING_DIRECTORY which actually makes it possible to determine location where to exececute cydsfit.exe!

                         

                       

                         

                      Cheers