external Jtag support for CYW920719Q40EVB

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

cross mob
kach_1524451
Level 3
Level 3
25 replies posted 10 replies posted 5 replies posted

Hi,

I am using CYW920719Q40EVB-01 with revision 01. I am looking for external programmer support for this development board. In this forum, what i can found is not working for me.

I was following the below discussion thread

Cypress CYW920719Q40-B1 eval kit debugging

The schematic i can get from https://www.cypress.com/documentation/development-kitsboards/cyw920719q40evb-01-evaluation-kit  is belongs to board revision 2.1, where the board i have is revision 01.

Can anyone guide me the schematic for board revision 01?

I am also looking for how can i perform firmware upgrade  / flash firmware using J-LINK in this board?

Thank you.

Best regards.

kc

0 Likes
1 Solution

Hi kach_1524451,

Sorry for the delay.

The issue here means you have not programmed a properly enabled debug firmware. Could you please check whether you have made below changes properly in your firmware. And then could you please try your experiment once again.

Filename: spar_utils.h

------------------------------

1) Modify the debugging enable macros as shown below. (Or copy the below code and comment out the original macro definition)

NOTE: If you are using some other pin as SWDCK and SWDIO (other than P33 and P34), you will have to wire up the debug hardware accordingly to the EVAL kit.

#include "gpiofunction.h"

void _tx_v7m_set_int(unsigned int posture);

unsigned int _tx_v7m_get_int(void);

#ifdef DEBUG

/// When debugging is enabled, sets up the HW for debugging.

#define SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED()  do{        \

        wiced_hal_gpio_select_function(WICED_P33, WICED_SWDCK); \

        wiced_hal_gpio_select_function(WICED_P34, WICED_SWDIO); \

        wiced_hal_wdog_disable(); \

    }while(0)

/// Optionally waits in a pseudo while(1) until the user allows the CPU to continue

#define BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED()    do{  \

        volatile UINT8 spar_debug_continue = 0;                    \

        unsigned int interrupt_save = _tx_v7m_get_int();\

        while(!spar_debug_continue);                                \

        spar_debug_continue = 0; \

        _tx_v7m_set_int(interrupt_save);                            \

        }while(0)

#else

#define SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED()

#define BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED()

#endif

Filename: gpiofunction.h

---------------------------------

1) Replace  #include "gpiodriver.h" with  #include "wiced_hal_gpio.h".

//#include "gpiodriver.h"

#include "wiced_hal_gpio.h"

2) Remove/comment out below code.

//typedef enum GPIO_STATUS_e

//{

//    GPIO_FAILURE,

//    GPIO_SUCCESS,

//    GPIO_REMAPPED,

//    GPIO_MOVED

//} GPIO_status_t;

3) Replace all gpio_numbers_t with wiced_bt_gpio_numbers_t.

4) Replace GPIO_status_t with wiced_bt_gpio_select_status_t.

Filename:  spp.c

----------------------

1) Add below macros in APPLICATION_START()

SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED();

BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED();

Filename: makefile.mk

------------------------------

1) add below flag.

C_FLAGS+= -DDEBUG

Filename:  maketarget string (when downloading)

------------------------------------------------------------------

In the Eclipse “Make target”, ensure DEBUG=1 is on the command line.

Please let me know if it works for you.

Thanks,

-Dheeraj

View solution in original post

0 Likes
7 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hello,

1. You should be able to do HW debug by following steps mentioned in the thread Cypress CYW920719Q40-B1 eval kit debugging 

Could you please let us know which step you are facing issues?

2. Programming via Jlink interface is not supported on 20719. Customer should use HCI UART interface for programming or upgrading the FW. Please refer to WICED-HCI-Control-Protocol.pdf in WICED Studio

3. Could you please double check the board revision ? I will check internally for 1.0 files.

Thanks,

Anjana

Note: 20719B2 is now available: CYW20719B2 Product Guide

0 Likes

Hi Anjana,

thanks for your reply.

I) I am facing issue with GDB server connection with evaluation board. please refer attached error image

error_jtag.JPG

2) is there any specific tool available to update firmware? we are looking for a standalone programmer for flash?

3) my board revision is 1.0, we purchased this from mouser.

Thank you.

Best regards,

kc

0 Likes

Hi KC,

1.

  • Can you check in the device manager if Jlink port is enumerated and listed ( To confirm if drivers are installed correctly)?
  • Just to double confirm, did you removed PUART code and pins as mentioned in the previous thread?
  • As mentioned in that thread, if you are using Windows 10 or earlier causing driver issue , please follow the below links:

     GoJimmyPi: Fixing J-Link "No emulators connected via USB": How to have J-Link work for both Segger U...

https://sysprogs.com/w/forums/topic/segger-j-link-no-emulators-connected-via-usb-after-configuring-f...

2. is there any specific tool available to update firmware? we are looking for a standalone programmer for flash?

A) Please check if Cypress programmer will be helpful or not : https://www.cypress.com/products/psoc-programming-solutions

Thanks,

Anjana

0 Likes
lock attach
Attachments are accessible only for community members.

Hi,

Attached Rev 1.0 schematics

Thanks,
Anjana

0 Likes

Hi Anjana,

Thanks for your reply and schematic.

I will go through this.

Just to let you know, The issue of GDB server still there. I already checked with my computer device manager, the JTAG populated correctly. I also do not have those 4 jumpers, which are mentioned in that thread.

What i understand is JTAG is not able to get connect with evaluation board. JTAG successfully able to connect with computer.

If you look into the thread you mentioned, before start debugging, the GDB server should show, "wait for connection". But, i don't see that.

As i mentioned earlier, my evaluation board revision is 0.1, where in that thread, they person successfully able to connect was using board revision 2.1. the person used 2.0 was unsuccessful to get JTAG connection establish. Any clue what else i need to do?

Thank you.

Best Regards,

kc

0 Likes

Hi kach_1524451,

Sorry for the delay.

The issue here means you have not programmed a properly enabled debug firmware. Could you please check whether you have made below changes properly in your firmware. And then could you please try your experiment once again.

Filename: spar_utils.h

------------------------------

1) Modify the debugging enable macros as shown below. (Or copy the below code and comment out the original macro definition)

NOTE: If you are using some other pin as SWDCK and SWDIO (other than P33 and P34), you will have to wire up the debug hardware accordingly to the EVAL kit.

#include "gpiofunction.h"

void _tx_v7m_set_int(unsigned int posture);

unsigned int _tx_v7m_get_int(void);

#ifdef DEBUG

/// When debugging is enabled, sets up the HW for debugging.

#define SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED()  do{        \

        wiced_hal_gpio_select_function(WICED_P33, WICED_SWDCK); \

        wiced_hal_gpio_select_function(WICED_P34, WICED_SWDIO); \

        wiced_hal_wdog_disable(); \

    }while(0)

/// Optionally waits in a pseudo while(1) until the user allows the CPU to continue

#define BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED()    do{  \

        volatile UINT8 spar_debug_continue = 0;                    \

        unsigned int interrupt_save = _tx_v7m_get_int();\

        while(!spar_debug_continue);                                \

        spar_debug_continue = 0; \

        _tx_v7m_set_int(interrupt_save);                            \

        }while(0)

#else

#define SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED()

#define BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED()

#endif

Filename: gpiofunction.h

---------------------------------

1) Replace  #include "gpiodriver.h" with  #include "wiced_hal_gpio.h".

//#include "gpiodriver.h"

#include "wiced_hal_gpio.h"

2) Remove/comment out below code.

//typedef enum GPIO_STATUS_e

//{

//    GPIO_FAILURE,

//    GPIO_SUCCESS,

//    GPIO_REMAPPED,

//    GPIO_MOVED

//} GPIO_status_t;

3) Replace all gpio_numbers_t with wiced_bt_gpio_numbers_t.

4) Replace GPIO_status_t with wiced_bt_gpio_select_status_t.

Filename:  spp.c

----------------------

1) Add below macros in APPLICATION_START()

SETUP_APP_FOR_DEBUG_IF_DEBUG_ENABLED();

BUSY_WAIT_TILL_MANUAL_CONTINUE_IF_DEBUG_ENABLED();

Filename: makefile.mk

------------------------------

1) add below flag.

C_FLAGS+= -DDEBUG

Filename:  maketarget string (when downloading)

------------------------------------------------------------------

In the Eclipse “Make target”, ensure DEBUG=1 is on the command line.

Please let me know if it works for you.

Thanks,

-Dheeraj

0 Likes