PSoC Creator News and Information | Cypress Semiconductor
Our resident IOT Expert, Alan Hawse, has been blogging about PSoC and FreeRTOS for a few weeks now. He has built up quite the collection of articles on the subject and I thought some of you might want to take a look. He has some excellent information about using an RTOS as well as some tips on PSoC- and FreeRTOS-specific stuff. He also talks about a couple of things that most RTOS discussions gloss over, namely...
- How to use tasks and OS resources to interface to real-world sensors
- What is the best beer* to enjoy for optimal programming effectiveness?
Here is a handy list of links to the articles in chronological order.
I hope you find them interesting. Alan is writing more stuff all the time so I recommend subscribing to his blog. I'll try to re-post PSoC-focused articles here as well.
* if you ever find yourself in Lexington, try the West 6th IPA. If you need directions to the brewery then you probably don't deserve the beer anyway!
[re-printed from Cypress Developer Community - to learn more about PSoC 6 join the Cypress PSoC 6 EAP Community]
In Software Enablement for PSoC 6 – What to Expect I talked about what the Peripheral Driver Library (PDL) is. In PDL 3.0 – Designed for Flexibility I described the high-level design that supports multiple peripherals working on either core and operating on multiple data streams. You can use the PDL to take advantage of the power inherent in the PSoC 6 family, while simplifying software development.
There is an entirely different level of flexibility, and that's your choice of development tools. Until you get your hands on the PDL 3.0, this remains theoretical. But you’ll have some choices.
First, a tiny bit of background on the Cypress development tools. Then we’ll get back to PSoC 6.
Cypress provides PSoC Creator, an integrated design environment. If you aren’t familiar with PSoC Creator, let me describe it briefly. It enables the concurrent design of both the hardware system and the associated firmware. You drag components into a design, configure them and (when necessary) wire them together. You use a friendly UI to manage component configuration, pin assignments, system clocks, and interrupts. PSoC Creator is an expert system, and analyzes your design for conflicts or potential problems. Based on your design, PSoC Creator generates configuration and initialization code that you can use when writing the firmware. It supports iterative development – change the design, the generated code changes to match. PSoC Creator is free. It runs on the Windows OS.
PSoC Creator is a really good tool, and I thought that long before I joined the Cypress team. I have worked with code generators in one form or another for years, and I really like them. However, a fundamental principle that I subscribe to is, “your mileage may vary.” As much as I like PSoC Creator, you may not. We’re all about enablement, not about limits, and that includes your choice of IDE. This flexibility is designed into the PDL. We won’t make you change IDEs.
At a high level there are three paths you can take when you develop code using the PDL for PSoC 6.
Use PSoC Creator from beginning to end.
Use it for the system design, and as a development environment for your software. It includes a compiler and linker, a programmer to download the executable to the platform, and a debugger. It has all the features you would expect to find in a good IDE, like code browsing.
Use PSoC Creator generated code in your preferred IDE.
There are a couple of ways to do this. For supported IDEs (IAR Embedded Workbench and Keil µVision tools are on the list), PSoC Creator has defined an export/import process for project files. For any IDE, even if not “officially” supported, you can add PSoC Creator generated source files to the project file in your preferred IDE.
Use your preferred IDE from beginning to end.
While PSoC Creator can handle a lot of the system configuration for you (like clocks, setting up interrupts, and so forth), you absolutely can do this yourself. The PDL is, after all, a source code library. Just use the files you need. For example, the PDL includes code to manage the system and peripheral clocks. When PSoC Creator generates code to do this, it uses the PDL function API to get the work done. You can use the PDL source code directly, rather than the generated code.
When you use a third-party IDE from beginning to end, you lose access to only one PSoC feature. PSoC 6 devices have universal digital blocks (UDBs). A UDB contains programmable logic devices that enable you to build logic at the hardware level that links other hardware in your design, or to create a stand-alone block that performs a new function. If you want to develop a UDB, you must use PSoC Creator.
Of course, in the “real” world things can be a lot fuzzier. These three paths are real, but you can also find your personal sweet spot among these choices. For example perhaps you prefer to use snippets of code from the generated source files rather than complete files (a complex configuration structure perhaps). Or you like the PDL driver for one peripheral, but intend to create your own for another peripheral because of your unique requirements.
All of this is possible. The PDL is an enablement tool. You get all the source code. You can use it as you see fit.
Finally, you should be aware that choosing to use PSoC Creator components in your design presents some interesting benefits, and tradeoffs. I talk about that in a separate post, PSoC 6 Components and PDL Drivers.
I think this has to be one of the most frequently-requested enhancements to the product and I am really pleased that we have it in the tool. You can now automate the execution of your own commands before and after building a PSoC or FM0+project. Here is the Project->Build Settings dialog where you can set up the commands. Just add the commands here and the build system will reliably automate everything for you.
You can run source file checkers like lint or MISRA tools before running the compiler. You can automate data conversion on output files or run a bootloader host utility once the build is complete. It's all up to you! In my example I am calling a (fictitious) bootloader utility that downloads the project file through a serial COM port. The options are unlimited - what will you do?
A few months ago a colleague in our web team told us that the PSoC Creator News and Information was one of the most frequently accessed pages on cypress.com. Being the humble folk that we are... we were quite surprised. Then we became insufferably smug because, it turns out, we were never really as humble as we thought. Oh well!
So we took a closer look at the page. It became immediately obvious that, while the blogs section is working well (when we remember to write to it), there is a ridiculously long list of content down the left hand side that no-one is using. We had a "cannot see the wood for the trees" problem! Almost all of the content is readily found on cypress.com, so we trimmed out all those links and made a far more streamlined interface.
The new page is far cleaner than before. There are just three sections. Under Learn you will find the News and Information (default view), plus a couple of new pages talking about new features in the latest release and some information to help new users get started with the product. In the Start section you can quickly create or open projects. And the Recent section lists your most-recently used projects so you don't forget where you saved them.
We think it's a nice improvement. But we already know that we are not exactly humble about these things. What do you think? We always welcome feedback and opinion via firstname.lastname@example.org so drop us a line.
By now I am sure that many of you have downloaded and installed PSoC Creator 4.1 and are finding out about all the new features. I have already heard some compliments about the reduced size of the download file and the speedy installation. That's much appreciated. The reason for the improvement here is that we implemented a web content delivery system and, as a result, reduced the number of files that we need to include and install. You can now get new Code Examples, Components and even support for new devices in a matter of seconds (and without waiting for us to make a new release of PSoC Creator).
For all Components, we still ship the latest versions so the projects you have made in PSoC Creator 4.0 will still open and build without having to fetch new component versions. If you have projects from older releases though, just click "Find New Components" in the main Tools menu and select the component versions you need. Here is a picture showing how to download a version of the Component.
Experienced users will know about the Component Pack releases we used to make. They have now been replaced by Web Content Delivery and so we can distribute them to you as soon as they are ready without making a software release.
Web Content Delivery also supports Code Examples and the interface for that is even simpler. When you open the Code Example Finder dialog all the web-hosted content has a "globe" icon next to it. Just click on the icon and the project is downloaded in no time. In this picture I am downloading the ADC_DMA_VDAC Code Example - I had to be quick with the screenshot tool because the whole process completes in about a second!
I hope you are doing well with PSoC Creator 4.1 and enjoy the new features. I'll post some more new feature articles later in the week.
- 1 of 50
- next ›
ALL CONTENT AND MATERIALS ON THIS SITE ARE PROVIDED "AS IS". CYPRESS SEMICONDUCTOR AND ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY OF THESE MATERIALS FOR ANY PURPOSE AND DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THESE MATERIALS, INCLUDING BUT NOT LIMITED TO, ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL PROPERTY RIGHT. NO LICENSE, EITHER EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, IS GRANTED BY CYPRESS SEMICONDUCTOR. USE OF THE INFORMATION ON THIS SITE MAY REQUIRE A LICENSE FROM A THIRD PARTY, OR A LICENSE FROM CYPRESS SEMICONDUCTOR.
Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms and Conditions of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms and Conditions of this site. Cypress Semiconductor and its suppliers reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.