1 2 3 4 Previous Next 51 Replies Latest reply on Nov 20, 2017 1:25 PM by user_365962704

    PSoC Creator on Linux (or OSX) w/ or w/o wine

    elmo.mntynen

      I got introduced to the PSoC 5 chip by the freeSOC project on Kickstarter (and smARtDUINO, which is compatible with it). They are part of the Arduino community.

         

      I've tried installing PSoC Creator with wine, with both Mono and Microsoft .NET. That didn't work. Then, I tried, and succeded in installing the separate .msi packages, but the program crashes at startup (I'll try to investigate those).

         

      Now, some questions:

         
            
      • Does the .exe installer do anything important other than running the .msi installers?
      •     
      • How much does your code use native Win32 .dll's? Would it be possible to use only .NET APIs, so as to enable running the program on Mono on Linux or OSX?
      •     
      • Have you considered open sourcing any parts of your PSoC software? I know you've at least used compilers et' al based on the GPL'd gcc compiler suite. Is there any really important IP that mandates keeping the no cost sofware proprietary?
      •    
         

      I'm sure you know about the success of Arduino and friends. The reason those 8 bit AVR based chips have been much more popular among hobbyists than similar PICs, is the fact that Atmel released their IDE to users at no cost. That is what you have done. Now, what has enabled the multi platform and really easy to use Arduino IDE (and Unix like cmd tools), is the fact that the AVRs are well supported by open source tools like GCC (which Atmel contributes to) and AVRDude.

         

      Now, the Cortex-M3 in PSoC 5 is already supported by GCC (which you use through Sourcery G++), but the programmer protocol and the CPLD hardware configuration have no such support in the open source world (there is an abandoned project from 2006 to create such tools). I urge you to consider the Open Source HardWare movement and the hobbyists using linux, OSX, Android, (and Windows) who are constantly inventing new ways to create and better themselves and the world around us. I know you and them would have much to gain from each other, if you welcome them by realeasing some (simple) portable open source tools to usefully use you hardware in non-Win32 environments, with or without GUIs. You could start by releasing a simple open source tool to upload pre compiled binaries to your hardware, which would be useful for user side firmware upgrades etc. Even just documenting the protocol would help, I'm sure some of the freeSOC board owners will start developing tools if given the chance. I' know I would like to buy a freeSOC board if I can use it without the hassle of installing Windows in a VM, I want the user of my hardware or code to have free and easy to use tools on the platform of their choosing.

         

      Thanks, and sorry for this lengthy post. I hope this will be read by the right people ;)

        • 1. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
          user_14586677

          This on an earlier post -

             

           

             

          Can I run PSoC Designer on a Linux or UNIX based system or use a virtual machine with these systems?
          Cypress does not test PSoC Designer using any Linux or UNIX based systems. PSoC Designer is not formally tested using virtual machine configurations with any Windows, Linux, or UNIX based OS, although Cypress has been notified by customers that they have successfully used virtual machine applications to run PSoC Designer on Linux and Mac OS systems.
          For more information on the system requirements for PSoC Designer, see the PSoC Designer requirements page at:
          www.cypress.com/go/designerrequirements

             

           

             

          Regards, Dana.

          • 2. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
            elmo.mntynen

            Yes, well, installing and using Windows in a VM is cumbersome, and I'm not after any official support, just some pointers for helping myself and others, and general opinions on psoobily having some kind of support for non-windows environments.

               

            It might even be easy to port the software to work on top of Mono, or maybe they make some deal with CodeWeavers (commercial developer of wine).

               

             

               

            And by possbily open sourcing some or all of the IDE, some one else will surely port it and extend it in new directions etc. All in all, it would be a big win for everyone, with hopefully minimal effort on the part of Cypress.

            • 3. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
              dion.damato

              Well I attempted to install the PSoC Creator.exe on Kubuntu with WINE and was told that the file was invalid.   After reading this forum I decided I should install PSoC Creator.exe on my Windows 7 x64 machine and move on to development.  Well, that all resulted in an invalid executable file (see image).

                 

              Cypress PSoC IDE developers please port the code to Mac and Debian Linux or open the source so that these communities can extend the capabilities of this great tool.

                 

              Thanks.

              • 4. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                hans.baier

                 +1

                   

                I'd like to play with the cypress PSoC too, but being forced

                   

                to use Windows is a showstopper to me. 

                   

                There are just so many other great pieces of technology

                   

                around which have excellent free software / Linux support.

                   

                So for now I'd rather stick with my FPGAs and LPCs.

                   

                And, a bit off topic, but related:

                   

                Yesterday after many frustrated and wasted hours with trying

                   

                to use my FX2 FPGA connect board with Linux,

                   

                I finally decided to throw it into the box

                   

                and ordered an FTDI board.

                • 5. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                  stephen.van.den.berg

                  I'm impressed by the extraordinary price and flexibility/performance of the psoc platform.

                     

                   

                     

                  However, after finding out that on Linux there is no native support to at least program or configure the CPLD/routing on a psoc, my conclusion is that this quite excellent hardware is not  worth my time.

                     

                   

                     

                  Please note that I'm not looking for GUI-based programs, but would be thrilled to have some basic command line tools to VHDL-compile and/or upload a program to the psoc.  Back to AVR.

                  • 6. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                    user_14586677

                    For program loading there are bootloader solutions that you can

                       

                    modify to get command line upload. I have personally not done it but

                       

                    seems doable, like execute a script from a command line that

                       

                    talks to BL.

                       

                     

                       

                        

                       

                              

                       

                    http://www.cypress.com/?rID=50230    AN68272  UART Bootloader

                       

                     

                       

                    http://www.cypress.com/?rID=57561     AN73503 USB Bootloader

                       

                     

                       

                    http://www.cypress.com/?rID=41002     AN60317 I2C Bootloader

                       

                     

                       

                    Regards, Dana.

                    • 7. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                      stephen.van.den.berg

                      That might work *if* the chips can be bought with the bootloader preinstalled *and* if it would allow reprogramming the ARM code, the PLD configuration and the pinrouting.

                         

                      The only thing missing then is a commandline open source VHDL compiler.

                      • 8. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                        kin

                        So I don't post very often, but I was asked to respond to this thread.

                        I'm a software developer who's been working on Creator since day one.

                        And by working I really mean living, breathing, dreaming about and spending a good portion of my free time thinking about Creator from both a design and a usability point of view. I also handle third level support for Creator.

                        To answer some questions here:
                        There are several layers to the installer, but at the most basic level it is installing the MSIs and checking for dependencies. It also runs some optimizations on .Net assemblies to target the specific machine it was installed on.

                        I won't go into percentages, but a majority of the Cypress code is .Net based. That said, last time I checked, a good portion of the UI just refuses to run under mono. Part of that is the third party framework Creator uses, which is unfortunate.

                        As for making Creator open source, there are issues with that. First and foremost, we have chip specific IP in our tools that would be at risk. Furthermore, Creator is a venture into a new way at developing microprocessor designs. One that companies like TI are now trying to copy. We have nearly a decade of real world time and on the order of centuries worth of man effort invested. While you can download and install the tool without it costing you a penny, Creator is not free. It is value we bring to you when you use a Cypress part and that is absolutely considered part of our IP. That all said, we do look at what we can give back on a regular basis, provided it would not affect the user experience of the tool. We have given out source code for specific tools in the past. For example, SuiteUSB shows how to generate a driver similar to what LibUSB does. (Generally this code is not under GPL, which means your hobby project can become a commercial product without causing you grief.)

                        As for the programming protocol, we support standards like JTAG and SWD. While the Miniprog3 doesn't support support Linux that doesn't mean you can't program from Linux. Additionally, we do support boot loading as someone else pointed out.

                        Linux and MacOS support is on our roadmap; however, there is a lot of work to get there. I'm not going to talk about when that might happen because there are far too many unknowns. Not only does this require a significant investment on the development side, it requires significant investment on the testing and support side. Every supported environment is tested and must be available for a support call. Each new flavor (OS type+version) of an OS added is a multiplier on the resources required. This is far more complex and involved then people realize when they ask for Linux support.

                        For Linux support to even be on our roadmap means Cypress has made the conscious choice to spend tens of millions of dollars to bring this tool to the Linux community. We've had more than a few internal discussions about how to enable people, including porting just the command line tools to Linux. The problem is the user experience suffers as does the capabilities of the tool. The best we can do today is to offer exporting to Eclipse.

                        Now, I understand this is probably a disappointing reply (I'd love to say that we have a release next week supporting Linux, but we can't and we don't). Also I've simplified and condensed a lot of internal discussion/history/response for length here. (Hard to believe, but yes this is the abridge version.) That said, if you can give the tool a chance, despite the dependence on a Microsoft OS, I think you'll find an outstanding tool and platform that makes solving your problem easy and enjoyable.

                        • 9. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                          norman.chahuares.collantes

                          You can always build your own tool for programming (code loading) psocs. The programming specifications have been available for a long time.

                             

                          PSOC5LP : http://www.cypress.com/?rID=72883

                             

                          PSOC3 : http://www.cypress.com/?rID=44327

                             

                          PSOC4 : http://www.cypress.com/?rID=78468

                             

                          Cypress even makes available a HSSP example proyect you can edit to build your own progranner.

                             

                           

                             

                          for the record Atmel didn't provide any tools. It was the open source comunity that build the tools that the guys from arduino copied/modified to build their IDE.

                             

                           

                             

                          I think the Open Source/Linux  kids nowadays have ground up spoiled. In the past, if there was a piece of hardware you wanted to use that didn't had opensource tools you would build the tools yourself. Now the kids just demand the tools to be available to them almost as ignoring the tools actually cost a lot to develop.

                          • 10. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                            norman.chahuares.collantes

                            btw, you can use m8ctools (open source, has schematics for hardware programmer too ) in linux to program psoc1 chips since 2005 and also there is FXloader for EZUSB that has also been available for quite a while.

                            • 11. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                              user_78878863

                              @Scott

                                 

                              First, thanks for all the great work on PSoC Creator!

                                 

                              Maybe I can suggest an easier route for Linux support: try to get Creator run on Wine (or more specfically: on Codeweavers Crossover). It would allow to run Creator without any modifications. I already had some success installing and using Creator (3.0) on the latest version of Crossover (though I needed to run all MSI installers manually, the main installer would abort). But I cannot open / create any projects, so I'm at loss. Maybe there are some simple modifications on Creator making it run much better, maybe its also possible to support the Wine team.

                                 

                              I can live with having it not running perfectly (e.g. integrated programmer in the IDE - maybe it needs to run standalone, or a missing document manager). But since I'm in the process of switching over to Linux as my main OS, the hurdles to using Creator are getting bigger right now... (and running it in a VM means a big performance hit)

                                 

                              Just my 2 cents,

                                 

                              hli

                              • 12. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                                user_37207811

                                 Hi,

                                   

                                In my opinion, just having the necesary tools to be accesed from command line would be all is needed, at least for now. With the time some kind of GUI interface or Eclipse plugin would do the trick. 

                                   

                                Using Wine or any other "Emulation" type of thing might work but it my hit perfomance almost as much as the VM approach. I'm trying to use the VM but is not worth it. 

                                   

                                All of this could be release with no support. 

                                • 13. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                                  kin
                                          @hli   
                                  We are looking at all options. That said, I was able to get further using standard wine then ever before. I can't say much more than that right now.   
                                     
                                  @twistx77   
                                  Actually you cannot use Creator without a GUI (you can build an existing project but that's it). The issue is logical connectivity and physical placement is done in the GUI. Unfortunately these systems do not translate easily to a textual representation, nor does instantiating the existing content. And instantiating content is part of what makes Creator/PSoC so easy and powerful to use.   
                                     
                                  I'm also concerned that your VM is acting so slow. Typically we've seen a loss of 5-10% of performance using a VM (barely perceivable). Have you checked the BIOS to make sure all VM optimizations are on (provided you're using a computer from the last 5+ years)? Additionally, Creator is mostly single threaded. That's because the placement/routing problem doesn't partition well for multiprocessor use. The processor and enough RAM are the two bottlenecks. If you have about a gig of ram free (true, physical ram) and a beefy processor, you're good to go. Also note, most multi-core CPUs will boost the speed if there's just one process on a single core. So having a quiet environment tends to make your build significantly faster as well. Most Linux distributions are like Windows 7, and very noisy. XP out of the box is fairly quiet.   
                                     
                                  One final thing to note, even if Creator ran under Wine today without any problems, you wouldn't be able to debug without using a third party debugger. Miniprog3/kit debugging is using special Windows drivers that have not been ported. Wine does not work for drivers so that needs to be addressed before talking about porting Creator.   
                                  • 14. Re: PSoC Creator on Linux (or OSX) w/ or w/o wine
                                    user_37207811

                                     Thank you Scott.

                                       

                                    I have a year old machine. Is a samsung laptop with an i7, 8 GBs of RAM. The VM is a windows 7 with 3.5gb and 4 cores.

                                       

                                    I've tried changing it to one core with no luck.  It compiles at least 5 times slower than in a regular Windows 7 machine.  And having autocompletion enable just makes it freeze for 3 to 5 seconds every time it tries to autocomplete.

                                       

                                    Right now, the best way to work for me is to have the VM open with Creator with autocomplete, I compile once to get all the generate souces. Then I create a (Normal C Project, not PSoC's) project in Eclipse in Linux and import all generated files and my own files and work from there.

                                       

                                    I've tried to create a project using the plugin you provide but once I try to create the project and get to the part where I choose the compilers prefix and location folder, I set the folder right but it doesn't let me finish, the button is disabled. I've downloaded the ARM gcc compiler for Linux.

                                       

                                    I gues that I've I could get working the plugin and had the drivers for miniprog, I could work almost fine with just having to design using the VM for the hardware part.

                                       

                                    I think is a shame that your software can't run in every platform. The pioneer kit or even better a PSoC 5 Eval board like the FreeSoC would be the next big thing in open hardware since is easier, faster and way more powerful to develop prototypes than Arduino.

                                       

                                    Anyway, thanks for the support.

                                    1 2 3 4 Previous Next