PSoC4S EXTCLK settings

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Hi,

I will discuss the contents of the past inquiries once again.

I have heard that the behavior in question has been reproduced.
Have you found this problem?

PSoC4S CY8C4126AXI-S445 EXTCLK settings

As we confirmed, even PSoC4 does not work depending on the series.

PSoC4S has confirmed the operation of changing clock.
However, it does not work with PSoC4S +.

PSoC4S : CY8CKIT-145

PSoC4S+ : CY8CKIT-149

Both of them have the same project contents and input the external clock to P0[6].

Is there any necessary steps to switch clocks?

Regards,

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello Masashi,

Please use the following code for switching clock to EXTCLK in case of PSoC 4100S Plus

#include "project.h"

int main(void)

{

    CY_SET_REG32((void *)(CYREG_HSIOM_PORT_SEL0), (CYVAL_HSIOM_IO0_SEL_ACT_0 << (6 * 4))); /* HSIOM_IO0_SEL_ACT_0 */

    CY_SET_REG32((void *)(CYREG_GPIO_PRT0_PC), (LED_DM_DIG_HIZ << (6 * 3))); /* High Impedance Digital */

    /* 6 is a pin number, 3 and 4 are bitfield widths */

    CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_EXTCLK);

    for(;;)

    {

        LED_Write(0);

        CyDelay(500);

        LED_Write(1);

        CyDelay(500);

    }

}

I have attached the sample project below.

Best Regards

Ekta

View solution in original post

0 Likes
4 Replies
lock attach
Attachments are accessible only for community members.
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello Masashi,

Please use the following code for switching clock to EXTCLK in case of PSoC 4100S Plus

#include "project.h"

int main(void)

{

    CY_SET_REG32((void *)(CYREG_HSIOM_PORT_SEL0), (CYVAL_HSIOM_IO0_SEL_ACT_0 << (6 * 4))); /* HSIOM_IO0_SEL_ACT_0 */

    CY_SET_REG32((void *)(CYREG_GPIO_PRT0_PC), (LED_DM_DIG_HIZ << (6 * 3))); /* High Impedance Digital */

    /* 6 is a pin number, 3 and 4 are bitfield widths */

    CySysClkWriteHfclkDirect(CY_SYS_CLK_HFCLK_EXTCLK);

    for(;;)

    {

        LED_Write(0);

        CyDelay(500);

        LED_Write(1);

        CyDelay(500);

    }

}

I have attached the sample project below.

Best Regards

Ekta

0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Ekta-san,

Thank you for your response.

Added changes to register settings suggested by you.
Then, it was confirmed that the clock switched normally.


I think that the compile contents set to ECO are different for each device or maybe the version of the boot component.
We hope there is an application note.

Regards,

0 Likes
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello Masashi -San,

This issue will be fixed in the next release of PSoC Creator.

Best Regards

Ekta

0 Likes
MiNe_85951
Level 7
Level 7
Distributor - TED (Japan)
50 likes received 500 replies posted 50 solutions authored

Ekta-san,

I understood that it will improve in the next version of PSoC Creator.
I appreciate your support.

Regards,

0 Likes