CYW920719 Device on a custom board does not boot from on-chip flash

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

cross mob
PK
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

We have used CWY920719 device on a custom board with additional peripherals such as a NAND Flash Module, and an NTAG module.  We can successfully download our hex file to the board using Cypress Programmer version 4.0.0. Also, we can verify the device successfully using the 'Verify' button on Cypress Programmer tool bar. After that, we expect that our code runs on the device. But we have no indication that our code is running: we do not see the traces come out on PUART console. Even after a power on reset, we see nothing come out.

a. Is there some setting we have to enable in our code or in makefile to cause our board to run the code from on-chip flash on CWY920719 device?

b. The Cypress Programmer shows the launch address as 0x00000000 in the parameter for ChipLoad.exe command. E.g.,

    ChipLoad.exe -BLUETOOLMODE -PORT COM4 -LAUNCHADDRESS 0x00000000 -BAUDRATE 115200 ....

Does this value have to be different for our custom board? If yes, how do I know what it has to be?

We have prototyped using the CYW920719Q40EVB_01 board. We are able to run the same code just fine on this Evaluation board. We have been able to hook up our additional peripherals to the Evaluation board, and again  our code with all the same peripherals run just fine on the Evaluation board.

Thanks in advance for your reply. We are eagerly waiting for an answer.

Best regards,

PK

0 Likes
1 Solution
PK
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

I checked the schematic. We are indeed using the B1 device. Using the Wiced Studio 6.2, I am able to program this device on our custom board. 

I would recommend that Cypress Programmer software be updated to show more explicit warning/error for such a case.

Thank you for your answers. Please mark the issue as solved, and close the call.

Best regards,

PK

View solution in original post

0 Likes
6 Replies
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @PK ,

Can you try to load an example project from modustoolbox such as hello sensor and check if that works?

Would you be able to see the HCI logs to see if there is any transaction happening?

Regards,
Bragadeesh
0 Likes
lock attach
Attachments are accessible only for community members.
PK
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

I tried to load an example project, LE_Beacon, using Modus toolbox. But Modus is not able to download my code to our custom board. Please see the attached diagram for how I am connecting the custom board through the eval board.

I don't know where to find the HCI logs. In ModusToolbox it says - 'Detecting serial port ... Serial Port not detected... Download failed...'

Also, we have not populated our custom board with the low frequency, 32 kHz, clock as you have on the CYW920719B2Q40EVG-01 board. Would that be the reason why this custom board can not run the program even though CyProgrammer is able to download the hex file to it?

Thanks,

PK

0 Likes
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @PK ,

Which version of the MTB are you using? 

Detecting serial port ... Serial Port not detected... Download failed...'

-> Can you try to do a recovery procedure? Do you have provision to control the reset and recovery pin?

Can you share with us the log you got from the Cypress programmer using the custom board?

Also share with us the error message you got when using MTB with the custom board. They both use the same Chipload tool to load the hex file to the device's on chip flash.

Please let us know on how many boards is this reproducible? Did you try to replace the chip and test if it works?

32 kHz crystal oscillator is required only if low power is required with high accuracy timing requirements. The device datasheet does not mandate us to use this device. 

Regards,
Bragadeesh
0 Likes
lock attach
Attachments are accessible only for community members.
PK
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

Hi Bragadeesh,

I am using version 2.3 of Modus Tool Box for Windows. 

Yes, I have the ability to control the reset and recovery pin. But that works only with Cypress Programmer. It does not work with MTB. The detailed steps with Cypress Programmer are attached. Also, the error I get in MTB is attached.

We have about half a dozen of our custom boards, out of which we have used 2, and both the boards behaved the same. We cannot replace the chip as the board has non-removable cypress device. The board has been assembled by a manufacturer using our schematic. The only ports on our board are 2 micro USBs - one for HCI UART and the other for the PUART. The board is powered by a 3.3 volt battery.

If we do not use the 32kHz crystal, then in my application code, do I have to set some API call with certain value to indicate this? Is there documentation that describes this step? My idea has been that if I can use the existing sample code from Modus Tool box, e.g., the LE Beacon example on the Evaluation board, I should be able to use the same code onto my custom board and the code will run. Am I incorrect in this assumption? I do know that if I use different Pins for PUART in my custom board, then I will need to change the code to account for that to be able to see the printfs coming through PUART.

By the way, what kind of affiliation do you have with Cypress? Are you an application engineer/hardware designer? I am interested in speaking with a hardware/software engineer at cypress in US. Could you direct me to a contact person?

Thank you very much.

Best regards,

PK

0 Likes
BragadeeshV
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hi @PK ,

I'm working as an Applications Engineer at Infineon technologies.

Please confirm if you are using CYW20719B1 or CYW20719B2 in your custom board? From the log messages in the Cypress programmer, it clearly shows that you are using CYW20719B1 in your custom board. See image below:

BragadeeshV_0-1631100207332.png

You are trying to load the hex file of a B2 device onto a B1 device and this will NOT work. Although Cypress programmer did not catch this error as Modustoolbox IDE did, the application is not expected to run.

Now the question is why is the application working in the EVAL board? My guess is you are using a CYW920719B2Q40EVB-01 which has CYW920719B2 device and everything works as expected.

Please note that CYW920719B1 is deprecated and we recommend using only CYW920719B2 in your design. The Modustoolbox IDE supports only CYW920719B2 and that could be the reason why programming CYW920719B1 is failing in MTB.

Regards,
Bragadeesh
PK
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

I checked the schematic. We are indeed using the B1 device. Using the Wiced Studio 6.2, I am able to program this device on our custom board. 

I would recommend that Cypress Programmer software be updated to show more explicit warning/error for such a case.

Thank you for your answers. Please mark the issue as solved, and close the call.

Best regards,

PK

0 Likes