- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
In my project I am using the CY8CKIT-049-42XX prototype kit, my program consists of three UART blocks, one timer block, and one bootloader blocks.
One UART block connects to a RN171 wifi module, while the other to a serial TTL camera, the third block connects to PC (programmer USB port).
When building I get these error...
"Resource limit: Maximum number of UDB Macrocells exceeded (max=32, needed=43)."
"Resource limit: Maximum number of UDB Unique Pterms exceeded (max=64, needed=87)."
"Resource limit: Maximum number of UDB Datapath Cells exceeded (max=4, needed=5)."
"Resource limit: Maximum number of UDB Status Cells exceeded (max=4, needed=6)."
Please can anyone tell me how I can solve this...I hope the hardware does not need to be changed.
Please see attached workspace bundle.
thanks
a
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You should replace one of your UARTs with an SCB-version. This will reduce the number of UDBs needed.
Additionally think about using the ARM M0 - internal SysTick Timer (Look into the "System Reference Guide" from Help-menu) which uses NO Cypress resources or use a TCPWM configured as timer which will save an UDB as well.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
thanks for the help,
I will make those changes in my project, what is the maximum no. of UDBs available in the ARM M0 ? Does M1 have more ??
just for my information...
thanks
a
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Neither ARM M0 nor ARM M1 have got any UDBs. The PSoCs have got them:
PSoC4200 4 UDBs
PSoc5 24 (!) UDBs
PSoC4100 and 4000 None
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Having issues loading PsoC 3. keeps locking up.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Having issues loading PsoC 3. keeps locking up.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Welcome in the forum, Jon!
Not your thread, Jon. Better post that in the "Software" forum.
Which Creator? 3.2?? De-installation and re-install already tried? Which OS are you using?
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Systick Ref Material -
http://www.cypress.com/?id=4&rID=94607 PSOC 4 Systick
http://www.cypress.com/?docID=49253 AN90799 (Systick as well
Regards, Dana.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the help, I got the SysTick working now, and I removed the timer block, so now the schematic has one SCB block (for PC communication-essential for debugging and programming) and one UART block for communicating to the RN171 module, however when I add another UART block I again get the "Resource limit: Maximum number of UDB Macrocells exceeded...." error.
I had this possible solution in mind....
Is it possible to connect the RX pins of the serial devices to a virtual mux module (two RX inputs to Virtual Mux, and output to the Rx pin of the UART block), and then use the program to select the input to be read ?? On the TX side I see that there is no equivalent virtual de-mux, so I have to use a demux for this ...
Is the above described scenario possible ?? also how to use receive interrupts, with the mux ??
I do need interrupts as data can arrive on the serial peripherals at any given time, and the processor must be ready to process it. Perhaps an interrupt component connected to another pin (there will be one interrupt pin for each module) ??
So when the first bit arrives the interrupt is triggered and the program selects the input pin that triggered the interrupt, the program can then do a GetChar() and read all the incoming data...then select the appropriate output channel on the demux, then print out the data..
Please give your opinions...whether such a scenario is possible?? Or maybe there is a simpler solution..
thanks
a
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A virtual mux is what the name says: it is virtual, ie. not a mux. You just specify at build-time which of the mux paths shall be taken, not at run-time.
I cannot see yet that you are at the end of PSoC4 resources. Your PSoC has got 2 SCB communication blocks which you could use for 2 different UARTS. As an extra you may use an additional UDB-based UART resulting in three (3) full UARTs. Consider, there is a software Tx only UART and you may save resources when using a half-duplex UDB interface.
See attached project.
Happy coding
Bob