PSoC™ 6 Forum Discussions
I am adding an LCD to the CY8CKIT-062-WIFI-BT board which uses both SPI and parallel interfaces. Initialization must be done with the SPI. I am advised that the Cypress EmWin implementation for this display controller is missing the init code. I have added the SCB_SPI_PDL component, but the ways of talking to it seem higher level than the initialization code provided by the LCD vendor provided, below is the SPI code. My question is, are there ways to talk to the SPI similar to the low level way they are doing it (actually setting and clearing the signals), r is there a better (but simple) way? Any thoughts are appreciated.
void write_command (unsigned char y) // (uchar y,uchar x)
{
unsigned char i;
csb=0;
sclb=0;
sdi=0;
sclb=1;
for(i=0;i<8;i++)
{
sclb=0;
if (y&0x80)
{
sdi=1;
}
else
{
sdi=0;
}
sclb=1;
y=y<<1;
}
csb=1;
}
//------------------------
void write_data(unsigned char w) // (uchar w, uchar v)
{
unsigned char i;
csb=0;
sclb=0;
sdi=1;
sclb=1;
for(i=0;i<8;i++)
{
sclb=0;
if (w&0x80)
{
sdi=1;
}
else
{
sdi=0;
}
sclb=1;
w=w<<1;
}
csb=1;
}
Show LessHi,
I am trying to use a piece of code from a co-worker that is communicating with a micro SD by SPI using DMAs. The code was originally running on the CM0+, but for my application, I wanted to have it run on the CM4. I have copied the corresponding blocks from the TopDesign (I am using PSoC Creator) and enabled the interrupts in the CM4 instead of the CM0+. Everything builds fine, but when I try to run the application, I get a fault which seems to happen when the interrupt of the DMA triggers (I never reach the ISR).
I tried to run my application on the CM0+ and everything works fine.
Any idea what might be causing this?
Unfortunately, I cannot share my code, but I hope someone will be able to help me find a way to make it work.
Thanks
Show LessHello,
I have the following warning when running my application on PSoC Creator 4.2:
Programming device 'PSoC 63 CY8C6347BZI-BLD53 (CM4)' with file 'C:\Users\FreddyC\Documents\PSoC Creator\CNN_Project\PSoC 6 CNN_project.cydsn\CortexM4\ARM_GCC_541\Debug\PSoC 6 CNN_project.hex'.
Device ID Check
Warning: The connected PSoC6 MCU device is out of date. Please contact Cypress to get a replacement
I currently have the PSoC 6 BLE Pioneer Kit with the following specifications:
Box Label
CY8CKIT-062-BLE Rev *D
1812SO08026
Board Label
121-60367-01 Rev 13
1811SO01206
I already communicated with several Cypress Semiconductor representatives (Rou Shuang Ong from Inside Sales, and Ajay Basti), and they recommended to get in touch with technical experts because it seems that the board they gave me should have fixed the problem.
I tried using PSoC creator 4.3, but it didn't fix it. I get the same warning sign. Gladly my application is running, but is there a fix to this problem?
Kind regards,
Freddy
Show LessI am trying to generate a highly accurate 1PPS signal derivative from a external 100MHZ clock with no luck. I have tried a counter timer in multiple configurations, but I either get a NACK error or the the counter does not increment at all. Any other ideas or more explicit instructions would be very welcomed.
Show LessI’m needing 4 audio out channels at 96kHz, no audio inputs. I don’t care if it is two I2S ports, or one TDM.
1) Unfortunately, there is only one I2S port. Is there any way to repurpose the unused I2S input as a second output?
2) Unfortunately, the max TDM bit rate is too low, even when running at the max clock.
3) It doesn’t seem that there are enough UDB resources to implement the FIFO in programmable logic.
4) I can consider alternate parts to PSOC 6.
How might I accomplish this?
Thanks!
Show LessI am working to implement a High Speed Serial Programmer (HSSP) using a PSoC 6, to program other PSoC 6 devices using SWD.
I haven't found much information on the forum about PSoC 6 implementations.
My starting point is AN73054 "PSoC 3 and PSoC 5LP Programming Using an External Microcontroller (HSSP)", with additional info from the PSoC 6 MCU Programming Specifications Document.
1) Is there a PSoC 6 specific version of the AN73054 document and related code?
2) Are there any notable problems to watch out for when adapting the PSoC 5LP version for use on a PSoC 6 for programming PSoC 6 devices?
3) Is there any existing information on implementing the lifecycle / eFuse programming in an HSSP beyond the PSoC 6 MCU Programming Specs document?
Thanks!
Show LessI have a PSoC 6 BLE application that I am running on PSoC® 6 BLE Pioneer Kit (CY8CKIT-062-BLE) (https://www.cypress.com/documentation/development-kitsboards/psoc-6-ble-pioneer-kit-cy8ckit-062-ble) as well as Clicker 2 for PSoC® 6 | Mikroe. The BLE parts are based on CE220331_BLE_UI_RTOS01.
I can use CySmart to connect to the Pioneer Kit:
[21:56:10:691] : 'Resolve and Set Peer Device BD Address' request sent
[21:56:10:691] : BD Address Type: PUBLIC_ADDRESS
[21:56:10:691] : BD Address: 73:5F:B0:50:A0:00:00:00
[21:56:10:696] : 'Command Status' event received
[21:56:10:696] : Status: BLE_STATUS_OK
[21:56:10:696] : 'Resolve and Set Peer Device BD Address Response' event received
[21:56:10:696] : Status: 0x01
[21:56:10:696] : 'Command Complete' event received
[21:56:10:696] : Status: BLE_STATUS_OK
[21:56:10:696] : 'Establish Connection' request sent
[21:56:10:696] : BD Address Type: PUBLIC_ADDRESS
[21:56:10:696] : BD Address: 73:5F:B0:50:A0:00:00:00
[21:56:10:700] : 'Command Status' event received
[21:56:10:700] : Status: BLE_STATUS_OK
[21:56:10:717] : 'Establish Connection Response' event received
[21:56:11:093] : 'Enhanced connection complete' event received
[21:56:11:093] : Status: 0x00
[21:56:11:093] : Role: 0x00
[21:56:11:093] : BD Address Type: PUBLIC_ADDRESS
[21:56:11:093] : BD Address: 73:5F:B0:50:A0:00:00:00
[21:56:11:093] : Local resolvable address: 00:00:00:00:00:00:00:00
[21:56:11:093] : Peer resolvable address: 00:00:00:00:00:00:00:00
[21:56:11:093] : Connection Interval: 8.75 ms
[21:56:11:093] : Slave Latency: 0
[21:56:11:093] : Supervision Timeout: 100 ms
[21:56:11:093] : 'Command Complete' event received
[21:56:11:093] : Status: BLE_STATUS_OK
[21:56:11:093] : 'Data length changed notification' event received
[21:56:11:093] : Connection maximum Tx octet: 251
[21:56:11:093] : Connection maximum Tx time: 2120 µs
[21:56:11:093] : Connection maximum Rx octet: 251
[21:56:11:093] : Connection maximum Rx time: 2120 µs
[21:56:11:093] : 'Get local device security keys' request sent
[21:56:12:161] : 'Command Status' event received
[21:56:12:161] : Status: BLE_STATUS_OK
[21:56:12:161] : 'Get local device security keys response' event received
[21:56:12:161] : Key flags: INITIATOR_ENCRYPTION_INFORMATION, INITIATOR_IDENTITY_INFORMATION, INITIATOR_SIGNATURE_KEY, RESPONDER_ENCRYPTION_INFORMATION, RESPONDER_IDENTITY_INFORMATION, RESPONDER_SIGNATURE_KEY
[21:56:12:161] : Long Term Key (LTK): [D6:93:E8:A4:23:55:48:99:1D:77:61:E6:63:2B:10:8E]
[21:56:12:161] : Encrypted Diversifier (EDIV) and Random Number: [99:1F:26:1E:F6:09:97:2E:AD:7E]
[21:56:12:161] : Identity Resolving Key (IRK): [0A:2D:F4:65:E3:BD:7B:49:1E:B4:C0:95:95:13:46:73]
[21:56:12:161] : Identification Address: [0x00A050504320, PUBLIC_ADDRESS]
[21:56:12:161] : Connection Signature Resolving Key (CSRK): [90:D5:06:95:92:ED:91:D7:A8:9E:2C:DC:4A:93:5B:F9]
[21:56:12:162] : 'Command Complete' event received
[21:56:12:162] : Status: BLE_STATUS_OK
[21:56:12:162] : 'Set OOB data' request sent
[21:56:12:162] : OOB flag: Disable
[21:56:12:162] : OOB Key: [00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00]
[21:56:12:162] : OOB Data: [00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00]
[21:56:12:166] : 'Command Status' event received
[21:56:12:166] : Status: BLE_STATUS_OK
[21:56:12:168] : 'Command Complete' event received
[21:56:12:168] : Status: BLE_STATUS_OK
[21:56:12:168] : 'Exchange GATT MTU Size' request sent
[21:56:12:168] : MTU: 0x0200
[21:56:12:172] : 'Command Status' event received
[21:56:12:172] : Status: BLE_STATUS_OK
[21:56:12:187] : 'Exchange GATT MTU Size Response' event received
[21:56:12:187] : MTU: 0x0200
[21:56:12:187] : 'Command Complete' event received
[21:56:12:187] : Status: BLE_STATUS_OK
[21:56:12:187] : 'Read using Characteristic UUID' request sent
[21:56:12:187] : Start Handle: 0x0001
[21:56:12:187] : End Handle: 0xFFFF
[21:56:12:187] : UUID: 0x2A00
[21:56:12:193] : 'Command Status' event received
[21:56:12:193] : Status: BLE_STATUS_OK
[21:56:12:214] : 'Read using Characteristic UUID Response' event received
[21:56:12:214] : Characteristic value 1:
[21:56:12:214] : --------------------------------
[21:56:12:214] : Attribute Handle: 0x0003
[21:56:12:214] : Value: [53:74:61:6C:77:61:72:74]
[21:56:12:214] : 'Command Complete' event received
[21:56:12:214] : Status: BLE_STATUS_OK
but if I connect to the Clicker it aborts pretty quickly:
[21:57:08:480] : 'Resolve and Set Peer Device BD Address' request sent
[21:57:08:480] : BD Address Type: PUBLIC_ADDRESS
[21:57:08:480] : BD Address: 79:2E:E8:50:A0:00:00:00
[21:57:08:480] : 'Command Complete' event received
[21:57:08:480] : Status: BLE_STATUS_OK
[21:57:08:486] : 'Command Status' event received
[21:57:08:486] : Status: BLE_STATUS_OK
[21:57:08:486] : 'Resolve and Set Peer Device BD Address Response' event received
[21:57:08:486] : Status: 0x01
[21:57:08:486] : 'Command Complete' event received
[21:57:08:486] : Status: BLE_STATUS_OK
[21:57:08:487] : 'Establish Connection' request sent
[21:57:08:487] : BD Address Type: PUBLIC_ADDRESS
[21:57:08:487] : BD Address: 79:2E:E8:50:A0:00:00:00
[21:57:08:491] : 'Command Status' event received
[21:57:08:491] : Status: BLE_STATUS_OK
[21:57:08:518] : 'Establish Connection Response' event received
[21:57:08:868] : 'Enhanced connection complete' event received
[21:57:08:868] : Status: 0x00
[21:57:08:868] : Role: 0x00
[21:57:08:868] : BD Address Type: PUBLIC_ADDRESS
[21:57:08:868] : BD Address: 79:2E:E8:50:A0:00:00:00
[21:57:08:868] : Local resolvable address: 00:00:00:00:00:00:00:00
[21:57:08:868] : Peer resolvable address: 00:00:00:00:00:00:00:00
[21:57:08:868] : Connection Interval: 8.75 ms
[21:57:08:868] : Slave Latency: 0
[21:57:08:868] : Supervision Timeout: 100 ms
[21:57:08:868] : 'Command Complete' event received
[21:57:08:868] : Status: BLE_STATUS_OK
[21:57:08:868] : 'Data length changed notification' event received
[21:57:08:868] : Connection maximum Tx octet: 251
[21:57:08:868] : Connection maximum Tx time: 2120 µs
[21:57:08:868] : Connection maximum Rx octet: 251
[21:57:08:868] : Connection maximum Rx time: 2120 µs
[21:57:08:868] : 'Get local device security keys' request sent
[21:57:08:904] : 'Connection Terminated Notification' event received
[21:57:08:904] : Reason: CONNECTION_TIMEOUT
[21:57:08:976] : 'Command Status' event received
[21:57:08:976] : Status: BLE_STATUS_OK
[21:57:08:976] : 'Get local device security keys response' event received
[21:57:08:976] : Key flags: INITIATOR_ENCRYPTION_INFORMATION, INITIATOR_IDENTITY_INFORMATION, INITIATOR_SIGNATURE_KEY, RESPONDER_ENCRYPTION_INFORMATION, RESPONDER_IDENTITY_INFORMATION, RESPONDER_SIGNATURE_KEY
[21:57:08:976] : Long Term Key (LTK): [D6:93:E8:A4:23:55:48:99:1D:77:61:E6:63:2B:10:8E]
[21:57:08:976] : Encrypted Diversifier (EDIV) and Random Number: [99:1F:26:1E:F6:09:97:2E:AD:7E]
[21:57:08:976] : Identity Resolving Key (IRK): [0A:2D:F4:65:E3:BD:7B:49:1E:B4:C0:95:95:13:46:73]
[21:57:08:976] : Identification Address: [0x00A050504320, PUBLIC_ADDRESS]
[21:57:08:976] : Connection Signature Resolving Key (CSRK): [90:D5:06:95:92:ED:91:D7:A8:9E:2C:DC:4A:93:5B:F9]
[21:57:08:976] : 'Command Complete' event received
[21:57:08:976] : Status: BLE_STATUS_OK
Strangely, I can connect just fine to the Clicker using CySmart on Android, as well as nRF and LightBlue. Why doesn't CySmart for Windows like my Clicker?
Show LessHi,
I have broken off the KitProg3 part from the main CYPROTO-062-4343W.
I have used jumper wires between the pins on J4 (on the KitProg3) to the 5 pins on the main board (P6.6, P6.7, XRES, GND, VTARG), but I was not able to program the PSoC6. I have tried both ModusToolBox 2.1 and Cypress Programmer 2.1, but no success.
Here is the error log from Modus:
Open On-Chip Debugger 0.10.0+dev-3.0.0.665 (2020-03-20-10:13)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
adapter speed: 2000 kHz
** Auto-acquire enabled, use "set ENABLE_ACQUIRE 0" to disable
cortex_m reset_config sysresetreq
cortex_m reset_config sysresetreq
Info : Using CMSIS loader 'CY8C6xxA_SMIF' for bank 'psoc6_smif0_cm0' (footprint 6485 bytes)
Warn : SFlash programming allowed for regions: USER, TOC, KEY
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : KitProg3: FW version: 1.20.652
Info : KitProg3: Pipelined transfers enabled
Info : VTarget = 3.298 V
Info : kitprog3: acquiring PSoC device...
Error: kitprog3: failed to acquire PSoC device
Info : clock speed 2000 kHz
Error: DAP 'psoc6.cpu' initialization failed (check connection, power, etc.)
** OpenOCD init failed **
shutdown command invoked
** Program operation failed **
srst_only separate srst_gates_jtag srst_open_drain connect_deassert_srst
And here is the error log from Cypress Programmer:
Info : [CyBridge] Start API initialization
Info : [CyBridge] Connected - KitProg3 CMSIS-DAP BULK-09140C1C02179400
Info : [CyBridge] Hardware initialization complete (824 ms)
Info : Selected Device: CY8CPROTO-062-4343W-09140C1C02179400
Info : ** Probe-config: kit_CY8CPROTO-062-4343W.cfg
Info : Open On-Chip Debugger 0.10.0+dev-2.2.0.249 (2019-09-10-10:57)
Info : Licensed under GNU GPL v2
Info : For bug reports, read
Info : http://openocd.org/doc/doxygen/bugs.html
Info : debug_level: 2
Info : C:/Program Files (x86)/Cypress/Cypress Programmer
Info : ./openocd
Info : C:/Program Files (x86)/Cypress/Cypress Programmer/BT
Info : 09140C1C02179400
Info : 1:1
Info : 0
Info : swd
Info : soft
Info : off
Info : 0
Info : adapter speed: 1500 kHz
Info : serial: 09140C1C02179400
Info : transport: swd
Info : rst type: soft
Info : efuse: off
Info : sflash restrict: 0
Info : adapter speed: 1000 kHz
Info : ** Auto-acquire enabled, use "set ENABLE_ACQUIRE 0" to disable
Info : cortex_m reset_config sysresetreq
Info : cortex_m reset_config vectreset
Info : none separate
Info : SFlash programming disallowed, see 'sflash_restrictions' command
Info : init_target
Info : tcl server disabled
Info : Listening on port 4445 for telnet connections
Info : CMSIS-DAP: SWD Supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 0 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : VTarget = 3.297 V
Info : kitprog3: acquiring PSoC device...
Error: kitprog3: failed to acquire PSoC device
Info : clock speed 1000 kHz
Error: DAP 'psoc6.cpu' initialization failed (check connection, power, etc.)
Error: Failed to connect to the target device
Please advise, thank you.
Show LessHello,
I placed the UART and timer on PSoC 63 as follows.
Looking at the interrupt tab, IRQ46 and IRQ90 respectively.
This "Sysint_Timer" seems to be different from TCPWM.
What is "Sysint_Timer" and what does "CTI" stand for?
Best regards,
Yocchi
Show Less