can't program CYBT_333047-02 via HCI UART

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

cross mob
ArBe_4594276
Level 2
Level 2

I tried to download the latest Wiced Firmware V1.1.14 received from here https://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform into my CYBT-333047-EVAL board but it failed with error "BluetoolDownloadMinidriver failed!"

I installed WICED Studio 6.4 and all the necessary tools. I am using "Chipload.exe" tool to download the HEX file via command line interface.

I also installed the plattform files needed for CYBT_343026 that is part of the EVAL board from here Platform Files for CYBT-343026-EVAL – KBA221025

I plugged the USB port into my PC that gave me two UART ports COM8 and COM9. I am using the COM8

pastedImage_7.png

The SW4 (HCI UART) positions 1, 2, 3, and 4 for HCI UART are ON.

Here is my command line:

C:\Users\armin\Documents\WICED\WICED-Smart-SDK-2.2.3\WICED-Smart-SDK\Tools\ChipLoad\Win32\ChipLoad.exe -BLUETOOLMODE -BAUDRATE 115200 -PORT COM8 -MINIDRIVER C:\Users\armin\Documents\WICED-Studio-6.4\20706-A2_Bluetooth\platforms\CYBT_343026_EVAL\UART.hex -BTP C:\Users\armin\Documents\WICED-Studio-6.4\20706-A2_Bluetooth\platforms\CYBT_343026_EVAL\CYBT_343026_EVAL_SFLASH.btp -CONFIG C:\Users\armin\Documents\WICED\WICED-Smart-SDK-2.2.3\WICED-Smart-SDK\Tools\ChipLoad\Win32\ezserial_343026-CYBT_343026_EVAL-rom-ram-Wiced-release.hex

It says "BluetoolDownloadMinidriver failed!"

What am I doing wrong?

0 Likes
1 Solution

Thank you SheetalJ_96 for you response.

I solved my problem. The problem was that two USB ports have been mapped into my Windows system. COM8 and COM9. I tried always COM8 cause I thought programming goes through lower COM port number. But this isn't true, it goes trough higher COM port number 9.

With COM9 it works as expected. Finally it says:

Chip reset to address 0x00000000 succeeded

Downloaded 0 code bytes ( 0.0%) and 110570 data bytes (100.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%).   Current state: Completed successfully

A total of 2 contiguous memory areas were filled:

[FF000000..FF000080] DATA (129 bytes)

[FF004000..FF01EF68] DATA (110441 bytes)

Total execution time: 16.09 seconds     Net downloading time: 16.09 seconds

View solution in original post

0 Likes
7 Replies
SheetalJ
Moderator
Moderator
Moderator
First comment on KBA 750 replies posted 500 likes received

Hi ArBe_4594276​,

Can you please check Programming Using Chipload.exe - KBA228316 and verify your command? Check if you have provided the correct path of the files.

0 Likes

Thank you SheetalJ_96 for you response.

I solved my problem. The problem was that two USB ports have been mapped into my Windows system. COM8 and COM9. I tried always COM8 cause I thought programming goes through lower COM port number. But this isn't true, it goes trough higher COM port number 9.

With COM9 it works as expected. Finally it says:

Chip reset to address 0x00000000 succeeded

Downloaded 0 code bytes ( 0.0%) and 110570 data bytes (100.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%).   Current state: Completed successfully

A total of 2 contiguous memory areas were filled:

[FF000000..FF000080] DATA (129 bytes)

[FF004000..FF01EF68] DATA (110441 bytes)

Total execution time: 16.09 seconds     Net downloading time: 16.09 seconds

0 Likes

But SheetalJ_96​ as you can see in the log file it says

Downloaded 0 code bytes ( 0.0%) and 110570 data bytes (100.0%). Verified 0 code bytes ( 0.0%) and 0 data bytes ( 0.0%). 

Why it does say 0 code bytes? So am I right that no firmware code was programmed? Or am I wrong?

0 Likes

At the end you can see bytes getting filled in memory area so downloading is successful. The board is programmed successfully.

Attached screenshot shows similar logs.

pastedImage_0.png

You are right.

I checked the code is running using my iPhone and turned bluetooth scanning "on". Immediately the iPhone found a bluetooth device "EZ-Serial 17:1C:B1_BT". So the WICED code is running.

Now I wanted to make use of the HCI commands on the USB side on my Linux Raspberry Pi. When I plugin the EVAL board USB cable into my Raspberry Pi two interfaces are added (similar to Windows COM8 and COM9) called /dev/ttyACM0 and /dev/ttyACM1.

As usual for Linux I was using the "hciattach" Linux command to attach the Bluez Linux socket to the HCI interface of the EVAL board.

# hciattach -s 115200 /dev/ttyACM0 any 115200 noflow nosleep

# device setup complete

So this works. Then I looked to the hci devices attached using the command "hciconfig"

# hciconfig

# hci1:   Type: Primary  Bus: UART

          BD Address: F9:9C:84:17:1C:B1  ACL MTU: 1021:6  SCO MTU: 64:1

          DOWN

          RX bytes:113 acl:0 sco:0 events:9 errors:0

          TX bytes:40 acl:0 sco:0 commands:10 errors:0

You see Linux bluetooth stack has attached to the F9:9C:84:17:1C:B1 device which is the EZ-serial device. And also you see there is a bidirectional communication running over /dev/ttyACM0 based on the RX/TX bytes counted. So this seems to work fine also.

Now usual in Linux is to bring up a HCI device into "UP" state using "hciconfig hci1 up" command

# hciconfig hci1 up

# Can't init device hci1: Device or resource busy (16)

But as you can see Linux is giving back an error. Do you have idea why this happens?

0 Likes

Hello SheetalJ_96​ I still have no success getting hci interface of EVAL board running with Linux. Please read my previous post.

In another thread I read about a "patch" that is needed to have full HCI access. Where I can find this patch?

Thank you

0 Likes