ModusToolbox
The ModusToolbox forum includes discussions regarding multi-platform development tools and a comprehensive suite of GitHub-hosted firmware libraries accompanied by thoroughly tested code example applications.
The ModusToolbox forum includes discussions regarding multi-platform development tools and a comprehensive suite of GitHub-hosted firmware libraries accompanied by thoroughly tested code example applications.
Discussion forum regarding PSoC Creator & Designer Software topics.
Hello,
We have custom board with a 43012 connected via SDIO to a Xilinx ZynqMP. We are using the latest Xilinx release which run the 5.4.0 kernel. Based on information in the v5.4.18-2020_0625 version of the backport driver and cypress-yocto-scripts I have added support into yocto to build everything.
I am using the following firmware/nvram files:
BCM43012C0_003.001.015.0102.0141.1LV.hcd* brcmfmac43012-sdio.1LV.txt cyfmac43012-sdio.bin cyfmac43012-sdio.clm_blob
I get the timeout error so the wlan0 interface is never created.
Based on the kernel logs the chip is powered up and the driver can talk to it.
================================================================
[ 12.985101] brcmfmac: brcmf_sdio_kso_init Enter
[ 12.985117] brcmfmac: brcmf_sdio_drivestrengthinit No SDIO driver strength init needed for chip BCM43012/2 rev 2 pm0
[ 12.985353] brcmfmac: brcmf_sdio_probe completed!!
[ 12.985359] brcmfmac: brcmf_fw_alloc_request: using cypress/cyfmac43012-sdio for chip BCM43012/2
[ 12.994144] brcmfmac: brcmf_fw_get_firmwares enter: dev=mmc1:0001:1
[ 12.994149] brcmfmac: brcmf_ops_sdio_probe F2 init completed...
[ 12.994254] usbcore: registered new interface driver brcmfmac
[ 13.000643] brcmfmac: brcmf_fw_complete_request firmware cypress/cyfmac43012-sdio.bin found
[ 13.000692] brcmfmac mmc1:0001:1: Direct firmware load for cypress/cyfmac43012-sdio.xlnx,zynqmp.txt failed with err2
[ 13.011657] brcmfmac: brcmf_fw_complete_request firmware cypress/cyfmac43012-sdio.txt found
[ 13.011662] brcmfmac: brcmf_fw_request_nvram_done enter: dev=mmc1:0001:1
[ 13.011690] brcmfmac: brcmf_nvram_handle_key warning: ln=33:col=10: '=' expected, skip invalid key entry
[ 13.011788] brcmfmac: brcmf_fw_request_nvram_done nvram 00000000d6229003 len 2356
[ 13.011796] brcmfmac: brcmf_sdio_clkctl Enter
[ 13.011798] brcmfmac: brcmf_sdio_htclk Enter
[ 13.011849] brcmfmac: brcmf_sdio_htclk CLKCTL: turned ON
[ 13.011852] brcmfmac: brcmf_sdio_clkctl 1 -> 3
[ 13.011856] brcmfmac: brcmf_sdio_download_firmware firmware rstvec: 0
[ 13.011858] brcmfmac: brcmf_sdio_download_code_file Enter
.
.
[ 13.070357] brcmfmac: brcmf_sdio_download_nvram Enter
[ 13.070399] brcmfmac: brcmf_sdiod_ramrw write 2356 bytes at offset 0x000076cc in window 0x00098000
[ 13.070581] brcmfmac: brcmf_sdio_verifymemory Compare RAM dl & ul at 0x0009f6cc; size=2356
[ 13.070586] brcmfmac: brcmf_sdiod_ramrw read 2048 bytes at offset 0x000076cc in window 0x00098000
[ 13.070711] brcmfmac: brcmf_sdiod_ramrw read 308 bytes at offset 0x00007ecc in window 0x00098000
[ 13.070755] brcmfmac: brcmf_chip_set_active Enter
[ 13.071159] brcmfmac: brcmf_sdio_clkctl Enter
[ 13.071161] brcmfmac: brcmf_sdio_htclk Enter
[ 13.071177] brcmfmac: brcmf_sdio_htclk CLKCTL: turned OFF
[ 13.071180] brcmfmac: brcmf_sdio_clkctl 3 -> 1
[ 13.071185] brcmfmac: brcmf_sdio_clkctl Enter
[ 13.071187] brcmfmac: brcmf_sdio_htclk Enter
[ 14.072857] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
[ 14.080236] brcmfmac: brcmf_sdio_clkctl 1 -> 1
[ 14.080244] brcmfmac: brcmf_sdio_firmware_callback failed: dev=mmc1:0001:1, err=0
[ 14.080268] brcmfmac: brcmf_ops_sdio_remove Enter
======================================================================
It appears that the firmware is loaded and the nvram. However, after the nvram is loaded and this code from brcmf_sdio_htclk is executed I get the timeout error.
/* Otherwise, wait here (polling) for HT Avail */
timeout = jiffies +
msecs_to_jiffies(PMU_MAX_TRANSITION_DLY/1000);
while (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
clkctl = brcmf_sdiod_readb(bus->sdiodev,
SBSDIO_FUNC1_CHIPCLKCSR,
&err);
if (time_after(jiffies, timeout))
break;
else
usleep_range(5000, 10000);
}
if (err) {
brcmf_err("HT Avail request error: %d\n", err);
return -EBADE;
}
if (!SBSDIO_CLKAV(clkctl, bus->alp_only)) {
brcmf_err("HT Avail timeout (%d): clkctl 0x%02x\n",
PMU_MAX_TRANSITION_DLY, clkctl);
return -EBADE;
}
It looks like the the code is trying to re-initialize certain things after loading the nvram and what looks like a status register, SBSDIO_FUNC1_CHIPCLKCSR, has an error it it.
Any ideas of what could be happening here? Is this process trying to switch from an internal to external clock? We do have an external osc. connected to EXT_LPO. I know it's unlikely, but is there any available documentation that would describe SBSDIO_FUNC1_CHIPCLKCSR?
thanks
jeff
Show Less
Hi All.
Our customer going to make Audio device through CYBT-343026-01.
Can i embody A2DP in the Non-OS through CYBT-343026-01?
And Can distribute with Firmware form possible?
Please check this question.
Thank you.
Show LessAlthough ota2 files exist for platform/MCU/STM32F4xx/GCC/STM32F469, I've discovered then read on this site that there is insufficient RAM on the STM family e.g. 384K vs 640K as indicated by the diagram in WICED OTA2 pdf 2.1.2 OTA2 RAM Requirements.
The code size isn't the culprit but the loosing of 200K+ of SRAM. I tracked it down to:
WICED/platform/MCU/STM32F4xx/GCC/STM32F469/ota2_memory_with_bootloader.ld
/*SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 96K*/
SRAM (rwx) : ORIGIN = 0x20000000, LENGTH = 320K
BTLDR_SRAM (rwx) : ORIGIN = 0x2004BC00, LENGTH = 17k /* Boot loader stack at the end. */
/*BTLDR_SRAM (rwx) : ORIGIN = 0x20010000, LENGTH = 32k / * Boot loader stack at the end. */
Thanks!
Show Lesshello,
i've succesfully tried and reproduced the example called "qspi_read_write_using_sfdp".
When i'm importing the rights function in my project, the init function fails (cy_serial_flash_qspi_init).
When i'm digging into the details, it fails when calling Cy_SMIF_MemInit which return CY_SMIF_SFDP_SS0_FAILED
i've compared everything, and i'm not able to find what i'm doing wrong.
is there anybody who experienced the same issue ? thanks
Show LessHi
I am use CYW20706A2. and I want to connect special central device(BLE)
special central device prefer use LE 2M.
so it send LL_PHY_REQ after device connected. But CYW20706A2 don't send LL_PHY_RSP
(my SDK is wiced studio6.4 and modus2.2(BTSDK2.8))
According to "BT Core Doccument", if device receive LL_PDU_REQ, device have to send LL_PDU_RSP
But CYW20706A2 don't send it and LE data packet for connection.
so device is disconnected. why don't send LL_PHY_RSP on CYW20706A2??
Hello,
I use the CY8CMBR3108.
I want to program 4 touch sensors on one output. Or function. How can and must I do this?
Hello,
I am trying to configure SPI Slave on STM32F4xx in the Laird EWB Platform. The Host MCU is STM32F412.
I have added SPI4 on the STM32 to the Wiced definitions in platform.c. I can use this as SPI master without issues.
When I use the Wiced SPI Slave functions, I am getting a build errors.
build/laird.ampnet_app-LAIRD_EWB-ThreadX-NetX-SDIO/libraries/STM32F4xx.a(wiced_platform_common.o): In function `wiced_spi_slave_init':
C:\Data\AMP_WORK\WICED-Studio-6.6\43xxx_Wi-Fi/WICED/platform/MCU/STM32F4xx/../wiced_platform_common.c:429: undefined reference to `platform_spi_slave_drivers'
collect2.exe: error: ld returned 1 exit status
Another developer had the same issue some years ago. Here is a link to that thread.
The Laird EWB platform has platform_spi_slave_init(...) in the platform file.
...WICED\platform\MCU\STM32F4xx\peripherals\platform_spi.c
This same source file has the functions I used for SPI master.
What step am I missing to use this source for SPI slave?
Thank you,
-Rocko
Module
Mfr : Laird Connectivity
P/N : Sterling-EWB
MCU : STM32F412VEH6
WLAN : BCM4343W Wi-Fi CoB
Antenna : chip
Show Less大佬们好!
我在使用CYW 20706模块调试AVRCP协议时(IDE ModusToolbox, bt_sdk 2.5),调用avrc_app_pass_through(uint16_t handle, uint8_t op_id,uint8_t state)函数控制音量,函数反馈“WICED_SUCCESS”,但手机端音量无变化,更换多个手机测试无果。调试过程AVRCP协议连接正常,上/下曲、播放/暂停等功能都正常。
手机端关键LOG:
D Avrcp_ext: Avrcp current play state: 2 isMusicActive: false A2dp state: 11 Cached passthrough command: 0
W Avrcp_ext: Passthrough non-media key 65 (code 24) state 0
D Avrcp_ext: cached passthrough: 0current passthrough: 24
W MediaSessionService: Attempted to dispatch null or non-media key event.
V Avrcp_ext: Exit handleMessage
我查看了Android的KEYCODE定义,KeyEvent.KEYCODE_VOLUME_UP = 24.
请问导致这个问题的原因可能有那些?是否存在解决的方法?
Show Less
Hi,
I am using the CYW20819EVB-02 board and I am trying to enable notifications with web ble
https://googlechrome.github.io/samples/web-bluetooth/notifications.html
https://googlechrome.github.io/samples/web-bluetooth/read-characteristic-value-changed.html
I keep getting errors, even though enabling notifications work fine with the cypress app on mobile.
Is there something I am missing? (do i need to respond to the start notification?)
Any help would be greatly appreciated
Thanks in advance!
Show LessI'm using a CY8CPROTO-063-BLE board. When I try to initialize the BLE ECO clock, Cy_BLE_EcoConfigure() returns CY_BLE_ECO_HARDWARE_ERROR. The proximate cause is a time-out waiting for the BLE_BLESS_MT_STATUS.BLESS_STATE bit to be set, at line 409 in cy_ble_clk.c.
I have previously had BLE working in both Central Device and Peripheral roles, on two different copies of the board, and both boards now display the same behavior, so it's unlikely actually to be a hardware error. It's almost certainly a configuration problem, but I have no idea where to start looking.
/* Wait for BLESS in ACTIVE state */
while(((BLE_BLESS_MT_STATUS & BLE_BLESS_MT_STATUS_BLESS_STATE_Msk) == 0U) && (timeout > 0U))
{
timeout--;
Cy_SysLib_DelayUs(CY_BLE_DELAY_TIME);
}
if(timeout == 0U)
{
status = CY_BLE_ECO_HARDWARE_ERROR;
}
Any suggestions would be appreciated.
Thanks,
-Nick
Show LessEmployee
Employee
Honored Contributor
Employee
Employee
Employee
Employee
Employee