PSoC™ Creator & Designer Forum Discussions
I accidently named a header file that I had added into the header section of the Workplace Explorer with a '.c' extension. I used the inbuilt right-click->rename function to rename the extension to '.h'.
However when attempting to build, the error
.\CortexM3\ARM_GCC_441\Release\CapSenseCommon.o: file not recognized: File format not recognized
was produced (the changed file was called CapSenseCommon.h).
To fix this (and it was not immediately obvious) I had to remove the file from the project and then add it back in, this fixed the bug. It was with a PSoC 5 device (and hence using the Code Soucery GCC compiler).
Not a biggy, but worth mentioning...
Show LessWhen i use the Update Manager, (ie check for updates) and one is available (psoc programmer), I expect to get an update installed when I click the update button. However, what always happens is: a CyInstaller Update is downloaded and intalled, then I'm given instructions to select the most appropriate installation type (custom, remove or repair). I believe remove is the proper choice but I have yet to get the new updated software. CREATOR help has none for Update Manager.
Would someone clue me in before I turn 80?
Thanks
Tim Miner
Show LessHave you ever wanted to add components to a schematic in Creator just to make it clearer to understand? Creator 2.0 now has Annotation components to allow significantly better documentation and readability of your PSoC Creator based schematics.
A view before:
Creator 2.0 with anotation components:
Checkout www.cypress.com/go/creator for more cool stuff about Creator 2.0!
Hi,
did you know that PSoC 3/5 has 24 DMA channels with highly sophisticated descriptors? There is an excellent application note that describes how to use DMA with 8- /16- / 32-bit wide peripherals, how to do burst transfers, how to combine the DMA with ADC, DAC, memory to memory transfers and so much more.
See how powerfull components in PSoC 3/5 are
The Application Note is here: http://www.cypress.com/?docID=29495
To support you and complement the Application Note, there is a Video as well.
Finding new ways of doing things that don't even use the CPU provides highly deterministic options for real-time critical systems. Best real-time performance usually does not include a latency of a CPU 🙂
Cheers, Robert
Show LessHello,
I have used the following code to generate a sinewave for freqiency 1 kHz.. But the frequency o/p that I'm getting is 35 Hz. Can anyone suggest me where I'm goin wrong? Also how do I use sine function with GCC compiler. If not supported, what's the other alternative ?
#include <device.h>
#include <math.h>
#define PI 3.14159265
void main()
{
float frequency = 10000.0;
float sample_per_seconds = 50000.0;
int var=0;
int i=0;
VDAC8_1_Start();
for(;;)
{
if(i==50000)
i = 0;
var = 255*(0.5 *(sin(2*PI*frequency*i/sample_per_seconds))+0.5);
i++;
VDAC8_1_SetValue(var);
CyDelayUs(20);
}
}
No need for early access program any more. This time PSoC Creator 2.0 is enjoying her graceful debut in public. Please click here for details.
The following features are included in this new release:
1.Keil µVision4 IDE Integration
2. PSoC 5 Production Devices
3. Static Timing Analysis
4. Timing-driven routing (TDR)
5. Annotation Wires and Terminals
6. Concept Components
7. Component State Reporting
8. Live Start Page
9. Multi-Application Bootloading
10. New Components
LIN Slave, Segment Display (for PSoC 5), Vector CAN, S/PDIF, External Memory (EMIF) and Sample/Track & Hold Components have been added.
Show LessHi Folks,
Have you noticed the follow button on the left side on the Cypress Forum webpage? Well, Cypress is on Facebook and it is probably time to catch up with updates from Cypress more regularly. You can do it by liking us on Facebook or via Twitter or by subscribing to RSS feeds via your favorite RSS reader. Keep yourself updated with the latest posts and updates !
I've just received the PSoC development kit complete with Miniprog3. The sample applications build and program nicely.
I would like to set some break points, step code and view data. Is there an application note or training aid for learning these basic skills in the Designer IDE? I found one training link but it mentions the need for an ICE (not included with the development kit). I am looking for basic break points and data viewing using the MiniProg3 and do not require full in circuit emulation.
Thank You,
Bill
Show LessOne of the more powerful aspects of PSoC 3 and PSoC 5 is the ability to use components that encapsulate both hardware and software functionality. Cypress provides a large library of the most common components that you might need (I2C, UART, DAC), but there is no end to the possible components that PSoC 3 and PSoC 5 can support. The Creator platform allows you to develop and use your own components using the same methodology as Cypress engineers.
There are 3 levels of components that a user might want to develop:
- Schematic Component
- Verilog Component
- Datapath Component
Each level gets progressively more involved and more powerful. A schematic based component provides a hierarchical schematic capability. Here you can combine any of the components in the current library and also encapsulate the APIs that go with that combination. With a Verilog based component you have the ability to pull in more complex unique digital content and take direct advantage of the PLDs built into PSoC 3 and 5. The capability to do either Schematic or Verilog based components is in Creator today. The third level, datapath based components, adds to a Verilog component the usage of the datapath resources in PSoC 3 and 5. With datapaths you can create denser designs and more flexibily communicate between your hardware component and the CPU.
In order to get you started on the right track, several training classes are developed that include:
- Video
- Slides
- Example Projects
They are all posted on the Cypress website under the Design Support tab, then Technical Training, then On-Demand Training, or you can skip directly there with the following links:
- PSoC Creator 110: Schematic Components
- PSoC Creator 111: Component Parameters
- PSoC Creator 112: Introduction to Component API Generation
- PSoC Creator 113: PLD Based Verilog Components
Show Less
This blog post tells you how to observe memory locations in the debugger watch window. This is useful if you want to group together and view separate memory locations that are linked by functionality such as DAC configuration, DAC routing and DAC trim.
To observe memory in the XDATA space, use the following in the watch window:
*((char*)0x01yyy)
Where YYYY is a 2 byte address. This limits the addressable range for XDATA to 64KB. The char designator restricts it to a single byte, which for most debugging purposes is sufficient.
*Note: There are no spaces in the name.
Other observable memory locations:
The address spaces are limited based on address type through the watch window (Keil limit), and everything must be addressed via the 24 bit address.
XDATA: 0x01YYYY 64k limit
DATA: 0x0000YY 128 byte limit
CODE: 0xFFYYYY 64k limit
PDATA: 0xFE00YY 256 byte limit
Other types: Char is not the only allowable type. For larger values (16 and 32 bit) you can also use int and long:
*((int*)0x01YYYY)
*((long*)0x01YYYY)
Be aware though, Keil is a big endian compiler, so it will interpret memory differently than if you read it out of the memory window. For example:
In the memory map:
0x7000 0x7001 0x7002 0x7003
FE 00 00 1F
The result of the watch window:
Watch window expressions:
You can also create interesting expressions in the watch window:
In the memory map:
0x4690 0x4691
77 02
(int)(*((char*)0x014690)+(*((char*)0x014691)<<8))
This generates the following value -> 0x0277
For PSoC 5 (GCC), there are no memory restrictions for PSoC 5 so the entire register space can be accessed in the debugger.
The same techniques apply for PSoC 5 when setting up watch variables for memory locations, although the compiler is little endian oriented, so the int and long values will look different from PSoC 3 to PSoC 5 for the same value:
In the memory map:
0x7000 0x7001 0x7002 0x7003
FE 00 00 07
The result of the watch window:
Quick Reference (PSoC 3):
XDATA: *((char*)0x01YYYY)
*Limited to 64 KB, no spaces in name
CODE: *((char*)0xFFYYYY)
*Limited to 64 KB, no spaces in name
DATA: *((char*)0x0000YY)
*Limited to 128 B, no spaces in name
Quick Reference (PSoC 5):
ALL MEMORY: *((char*)0xYYYYYYYY)
* no spaces in name