CYW20719 HCI port ram download from CYW43907 not working

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

cross mob
lock attach
Attachments are accessible only for community members.
akent777
Level 1
Level 1
5 sign-ins First like received First reply posted

Using Modus Toolbox I am able to update the firmware on my CYW920719B2Q40EVB-01 Evaluation Kit via the HCI port. The firmware runs normally and I can see the desired data from the PUART port to my console.

However, when I connect the 20719 HCI uart to my CYW943907AEVAL1F kit UART0 and try to perform the firmware upgrade I get mixed results.

From the cyw43907 I can send a HCI reset command and get the correct cyw20719 response:

hci_uart_write
01 03 0c 00
hci_uart_read
04 0e 04 01 03 0c 00

However when I send the HCI update baudrate command, I do not get a response:

hci_uart_write
01 18 fc 06 00 00 00 c2 01 00
hci_uart_read

(no response)

If I choose to NOT send the HCI update baudrate and just proceed to send the minidriver command followed by many write ram commands (using the same HCD file generated by Modus Toolbox), I get the correct responses from the 20719:

Example reset, minidriver and first two write ram:

hci_uart_write
01 03 0c 00
hci_uart_read
04 0e 04 01 03 0c 00
hci_uart_write
01 2e fc 00
hci_uart_read
04 0e 04 01 2e fc 00
hci_uart_write
01 4c fc 46 00 00 50 00 42 52 43 4d 63 66 67 53 00 00 00 00 32 00 00 00 01 01 04 c0 5d 00 00 00 03 06 cf 3f 24 9b 71 20 00 01 1c 00 30 50 00 00 20 58 00 00 10 50 00 00 20 50 00 00 10 00 00 00 00 00 00 00 00 00 00 fe 00 00
hci_uart_read
04 0e 04 01 4c fc 12
hci_uart_write
01 4c fc f4 00 30 50 00 42 52 43 4d 63 66 67 44 00 00 00 00 e8 6b 00 00 03 01 08 5c 20 20 00 00 00 00 00 1f 03 03 03 02 00 16 03 02 00 00 02 01 60 f4 07 41 00 ff ff ff ff 35 f6 00 00 f8 07 41 00 ff ff ff ff 55 e0 00 00 b8 02 60 00 ff ff ff ff e0 00 00 00 80 03 60 00 ff ff ff ff 50 00 00 00 50 04 60 00 ff ff ff ff 00 00 00 00 4c 04 60 00 ff ff ff ff 14 00 00 00 54 04 60 00 ff ff ff ff 03 00 00 00 34 04 60 00 ff ff ff ff 05 00 00 00 0b 01 04 64 05 00 00 03 01 08 7c 06 28 00 c1 81 10 08 03 01 0b 14 06 28 00 00 00 00 00 00 00 04 09 01 04 02 21 00 00 f0 01 10 04 00 00 00 28 15 32 00 fe 00 7f 02 08 10 29 02 f0 01 28 01 00 00 00 28 15 32 00 fe 00 7f 02 08 10 39 02 74 07 60 00 c0 00 00 00 c0 00 00 00 78 07 60 00 02 00 00 00 0f 00 00 00 f0 01
hci_uart_read
04 0e 04 01 4c fc 12

I seem to be able to send all the firmware upgrade packets with responses and then issue the launch ram command:

hci_uart_write
01 4e fc 04 ff ff ff ff
hci_uart_read
04 0e 04 01 4e fc 00

However, I see no activity from the cyw20719 PUART port which suggests that the 20719 is not actually running and the firmware upgrade did not happen correctly.

I have attached the Tera Term log file.

Thank you.

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

"Downloading to RAM (the first scenario) is not supported by CYW20xxx devices that have On-Chip-Flash (OCF).
These devices include the CYW20719, CYW20721, CYW20819, and CYW20820. OCF devices only support
downloading to serial flash"

Minidriver is kind of mandatory for the Bluetooth discrete chips.

Please refer https://github.com/cypresssemiconductorco/btsdk-docs/blob/master/docs/BT-SDK/WICED-HCI-Control-Proto... to know the procedure.

 

I checked the upate_baud_rate command on 20719B2 and I also don't see the response coming. I will check the issue with internal teams and let you know. 

FYI.

https://community.cypress.com/t5/Knowledge-Base-Articles/Programming-CYBLE-013025-Module-using-HCI-C... 

Thanks,

-Dheeraj

View solution in original post

0 Likes
4 Replies
akent777
Level 1
Level 1
5 sign-ins First like received First reply posted

I see in the download log of the LE_Hello_Sensor project that the minidriver.hex file was in fact downloaded to the CYW20719. Is this required for upgrading the CYW20719 firmware?

0 Likes

Is it required to download the minidriver.hex file that I see in the build folder of my Modus Toolbox project to the CYW20719 before upgrading the firmware? If so, is there an example hex file parser available for this?

0 Likes
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

"Downloading to RAM (the first scenario) is not supported by CYW20xxx devices that have On-Chip-Flash (OCF).
These devices include the CYW20719, CYW20721, CYW20819, and CYW20820. OCF devices only support
downloading to serial flash"

Minidriver is kind of mandatory for the Bluetooth discrete chips.

Please refer https://github.com/cypresssemiconductorco/btsdk-docs/blob/master/docs/BT-SDK/WICED-HCI-Control-Proto... to know the procedure.

 

I checked the upate_baud_rate command on 20719B2 and I also don't see the response coming. I will check the issue with internal teams and let you know. 

FYI.

https://community.cypress.com/t5/Knowledge-Base-Articles/Programming-CYBLE-013025-Module-using-HCI-C... 

Thanks,

-Dheeraj

0 Likes
akent777
Level 1
Level 1
5 sign-ins First like received First reply posted

Hello,

I now download minidriver to CYW20719.

After  a successful download of minidriver and launch ram command to 0x00220000 address, I am able to send the update_baud_rate command for 3MBPS and now I DO get a correct response. After this, I am able to successfully download the new firmware image at 3MBPS and launch it.

What made the process more clear to me was to precisely follow the HCI actions in a generated download log from one of the Modus Toolbox example projects. I figured that if it worked for Modus Toolbox, it should work for me.

Thank you.

-Adam