PSoC™ Creator & Designer Forum Discussions
PSoC®3 and PSoC®5 devices feature a Direct Memory Access (DMA) engine, which can used for data transfer between on-chip elements without any CPU intervention. The DMA engine is part of a high performance bus known as the peripheral hub (PHUB). The PHUB is a programmable and configurable central bus backbone within PSoC3/PSoC5 devices that ties the various on-chip system elements together. It consists of multiple spokes; each spoke is connected to one or more peripheral blocks.
The DMA with the help of Transaction Descriptors (TD) can move data from a source to destination at very high speeds. The TDs can be chained together to perform complex data transfers. The following diagram illustrates a simple data transfer using DMA.
The key features of PSoC® 3 and PSoC® 5 DMA are:
- 24 DMA channels
- Each channel has one or more Transaction Descriptors (TDs) to configure channel behavior. Up to 128 total TDs can be defined
- TDs can be dynamically updated
- Eight levels of priority per channel
- Any digitally routable signal, the CPU, or another DMA channel, can trigger a transaction
- Each channel can generate up to two interrupts per transfer
- Transactions can be stalled or canceled
- Supports transaction size of infinite or 1 to 64k bytes
- TDs may be nested and/or chained for complex transactions
Please refer AN52705 - PSoC® 3 and PSoC 5 - Getting Started with DMA for information on different ways to configure the DMA channel and TD to perform data transfers. The application note also has example projects and a brief video.
Show LessHi, I used the multiple topology wizard for placing DelSig or LPFilters in any allowed position until some days ago. Something changed in the basic setup of the computer/PSoC Desiner and since then the Wizard does not open and it only shows an XML file instead the execution of the file. I have remove all .NET versions and reinstall. I have remove Designer 5.0 and install Designer 5.1 but the failure remains.
I have tried to open a case with the problem, but this time Cypress seems not wanted to answer. It is curious because they always have help us very responsively.
Any idea?
Thanks
Show LessGreeting all...
I am trying to update to sp2 on a vista machine and the insatller repeated crashes at about 7/8 of the way thrrough the install of the content section. I have seen a message at one stage about a compatibilty problem with some Adobe component.
The other programmer on this project is also experiancing similar problems.
Any advice? Ive tried the rip it out and start over approach ...
thanks
h
Show LessHi all,
I have PSocEval USB CY3214 board and the mcu included is CY8C24094-24AXI, I downloaded PSoC designer 5.1 and programmer 3.1. When I try to make a new project with the Designer, I couldn't found the chip reference above. I just found CY8C247xx-XXX, CY8C248xx-XXX, etc. The reason why I dont use the CDs with the kit is because the version I got for the designer was v4 (~2007) and for that version imagecraf compiler is not yet free. I'm asking how can I do to use my board (PSocEval USB CY3214 board and the mcu included is CY8C24094-24AXI) with the last version of the designer ? Note that the programmer works fine for me ( I used it with some old examples that I managed to open them with the version 5 of the designer).
Thanks for help.
Show LessCan anyone help with this:
I use the line
const struct array[0x800] __attribute__ ((section ("EEPROMDATA")));
in the C source to place an array in the eeprom space. I then added the linker custom flag
"-section-start EEPROMDATA=0x40008000" to provide an absolute load location.
The code compiles, and the map shows the variable assigned to the section EEPROMDATA, but it is located in the data section instead of at the eeprom location provided.
I know I can accomplish what is necessary with pointers to eeprom, but this approach allows the code to access structure elements directly.
Show LessHi,
where would I find information on the differences between the functionality provided in the embedded C libraries and what is provided in non-embedded environments, such as standard gcc c runtime on a pc?
For example, I see that the stdio sscanf function simply returns "0.000" when scanning floats.
Following that, are there linker options for specifying the extent of library support required, or which library to use - such as a stdio version that supports reals?
Thank you,
Darren.
Show LessIt's great to see that Creator starts working with commercial tools! I am an embedded software person and somebody else is responsible for the hardware configuration.
For software development I've been using Keil and other tools but there is another issue that was not covered in the press release. When I work with Keil uvision, I assume I can also work with ULink2.
Please advice.
Show LessI would like to build systems all based on one architecture. As PSOC1 is somewhat limited in memory space and performance, that should be preferably PSOC 5. Unfortunately from a price perspecitve just using PSOC5 is prohibitive.
The announcement for Creator to interact with Keil microvision shows me that Cypress is finally heading to use stadnard tools for software development. The compiler for PSOC1 has potential for improvement.
What are the plans to improve compiler output for PSOC1?
Show LessHi,
I read in the press release that Creator and Keil microvision will work together. For PSoC 3 Creator has been using the Keil compiler anyhow. How is this different now. Can I use the microvision debugger from now on? That would be a real improvement because I am not completely thrilled about the integrated debugger.
Bob
Show Less