- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
i need two UARTS, one for a debug log on the PC and the other for communication with another uC.
When i put one UART in my Top Design, everything works, but when i put another UART block in ther an compile i get the following error:
--------------- Rebuild Started: 04/28/2016 15:07:19 Project: emBrace_BLE2UART, Configuration: ARM GCC 4.9-2015-q1-update Debug ---------------
Deleting file ".\emBrace_BLE2UART.rpt"
cydsfit.exe -.appdatapath "C:\Users\Patrick\AppData\Local\Cypress Semiconductor\PSoC Creator\3.3" -.fdsnotice -.fdswarpdepfile=warp_dependencies.txt -.fdselabdepfile=elab_dependencies.txt -.fdsbldfile=generated_files.txt -p "C:\Users\Patrick\Documents\PSoC Creator\UART2BLE\emBrace_BLE2UART.cydsn\emBrace_BLE2UART.cyprj" -d CY8C4247LQI-BL483 -s "C:\Users\Patrick\Documents\PSoC Creator\UART2BLE\emBrace_BLE2UART.cydsn\Generated_Source\PSoC4" -- -yv2 -q10 -ygs -o2 -v3 -.fftcfgtype=LE
Elaborating Design...
HDL Generation ...
Synthesis ...
Place and Route ...
Tech mapping ...
Error: mpr.M0014: Resource limit: Maximum number of Macrocells exceeded (max=32, needed=48). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of Unique P-terms exceeded (max=64, needed=88). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of Datapath Cells exceeded (max=4, needed=6). (App=cydsfit)
Error: mpr.M0014: Resource limit: Maximum number of Status Cells exceeded (max=4, needed=6). (App=cydsfit)
Dependency Generation ...
Clean Temporary Files ...
Error: cdf.M0005: CyDsFit aborted due to errors, please address all errors and rerun CyDsFit. (App=cydsfit)
--------------- Rebuild Failed: 04/28/2016 15:07:28 ---------------
I thought the PSoC4 has two UARTs, can you please help me ? I need two UARTs!
Pat
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What makes you think that without any OS in the PSoC the function DBG_PRINTF() uses the UART_DEBUG component. (WHY CAPITAL LETTERS???)
Can you please post your complete project, so that we all can have a look at all of your settings. To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
There are two kinds uf UARTS: USB based (Free pin routing) and SCB based (Pins are dedicated).
Use an SCB based for debugging. This is usually connected to the USB-UART bridge in the Kits having got a Kitprog.
Use the UDB based for your "normal" project-
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
thanks for the answer. RIght now i modified the project and use a "real" UART for the communication to the other uC and a SCB UART for the USB debug on Pins P1[4] and P1[5].
Unfortunately its still not working. I get no signal from the SCB UART to my FTDI USB debugger. It works however with the BLE_AlertNotification example which also uses a SCB UART.
Somehow i must have missed a configuration step in my project. I just dropped the SCB component to the TopDesign and configured it for UART with 115200 baud. I named it UART_DEBUG. In clocks i see that its attached to the HFCLCK.
I call
UART_DEBUG_Start();
DBG_PRINTF("BLE Heart Rate Sensor Example Project \r\n");
but nothing happens.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What makes you think that without any OS in the PSoC the function DBG_PRINTF() uses the UART_DEBUG component. (WHY CAPITAL LETTERS???)
Can you please post your complete project, so that we all can have a look at all of your settings. To do so, use
Creator->File->Create Workspace Bundle (minimal)
and attach the resulting file.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bob,
project is working like a charm now, had to increase the Heap size in the memory manager.
Whay capital letters? Because its a redefinition of the printf function and define are in capital letters. Its exactly analogous to the debug.h file of Cypress' "BLE_Heart_Rate_Sensor" example project. Actual selection of the correct UART is done by tweaking the _write function in the debug.c file to use the correct UART.
Anyways, it was just the small Heap that crashed the program on the printf() call. I could solve it after a while with PSoC creator. Great IDE btw!
Regards,
Patrick