cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to bring up ST67

JohnWick1
Associate II

Hi,

1. [Part Number] STM32H7R7I8T6
2. [Environment] x-cube-st67 1.2 version and latest cube IDE.
3. [Schematics] If it is a custom board --> Share the schematics using “Attach file” option or inserting some image.
4. [Details] 

I am using STM32H7R7I8T6 MCU and integrate the x-cube-st67 related codes.

But i am facing this error: sem_if_ready not received.

xReturned = xSemaphoreTake( mdm->sem_if_ready, pdMS_TO_TICKS(time_ms) ); if (xReturned != pdPASS) { SYS_LOG_ERROR("sem_if_ready not received\n"); return W61_STATUS_ERROR; }

 

i compared the h7r3 example included ioc file, no idea what's difference.

Meanwhile, I also update the ST67 firmware by this command:

.\QConn_Flash\QConn_Flash_Cmd.exe --port COM11 --config .\NCP_Binaries\mission_t01_flash_prog_cfg_v2.0.89.ini --efuse .\NCP_Binaries\efusedata.bin

But still got the issue.

 

The CS pin, RDY PIN, EN pin are all Hi. boot pin is low.

SPI CLK no output.

 

Any ideas? codes  is in attached.


5. [Expected behavior] We should get "ready" from ST67, but timeout.
6. [How to reproduce] Just pull up chip en and pull low boot pin.
7. [Occurrence] 100%.
8. [Sanity checks] 

I have compared st67 example on h7s3, the only diff is spi bus and we have external power control "wifi_sleep" to pull low to supply 3.3v.

 

Thanks a lot for the support.


Edited to apply source code formatting - please see How to insert source code for future reference.

1 ACCEPTED SOLUTION

Accepted Solutions
Louis AUDOLY
ST Employee

Hello @JohnWick1,

 

It seems there is an issue on your SPI configuration. MOSI, MISO and CLK pins seems not configured correctly.
You can refer to the ST67W6X_CLI project (Firmware\Projects\NUCLEO-H7S3L8\Applications\ST67W6X\ST67W6X_CLI\Appli) provided in the X-CUBE-ST67W61 v1.2.0 package, to compare to your SPI configuration.

 

Regards

View solution in original post

10 REPLIES 10
Andrew Neil
Super User

Welcome to the forum.

 

Please give more details of your setup - see: How to write your question to maximize your chances to find a solution

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

okay, updated.

BTW, I just measured that the SPI no CLK and not sure why the MISO keep hi around 1 sec then pull down.

Then nothing happened.

KushalGandhi108
Associate II

@JohnWick1 

I am facing exactly the same issue. I have made a custom board using stmh563zit6 and st67w611m1 as the NCP. While initializing the AT Modem, it fails to receive the semaphore (w61_at_sys.c:W61_WaitForReady)

  xReturned = xSemaphoreTake(mdm->sem_if_ready, pdMS_TO_TICKS(time_ms));
  if (xReturned != pdPASS)
  {
    SYS_LOG_ERROR("sem_if_ready not received\n");
    return W61_STATUS_ERROR;
  }


Also, how do we update the firmware on ST67 in linux. I have the scripts in X-CUBE-ST67W61, (NCP_update_mission_profile_t01.sh and similar), but these scripts fail to recognize the custom board.   

I have ever update FW by script on h7rs mcu, after I have integrated NCP_Loader example inside SDK.

so maybe you need do something similar like NCP_Loader.

JohnWick1
Associate II

I just found that the magic seem incorrect: it will run into line 297...any ideas? :(

1.jpg
 
And what i got is 0xAA54
1.jpg
 
But most of time, i got 0x00 magic number,  i just double checked the SPI/GPDMA setting in ioc, just follow this page:
 
Still no luck ...
Louis AUDOLY
ST Employee

Hello @JohnWick1,

 

It seems there is an issue on your SPI configuration. MOSI, MISO and CLK pins seems not configured correctly.
You can refer to the ST67W6X_CLI project (Firmware\Projects\NUCLEO-H7S3L8\Applications\ST67W6X\ST67W6X_CLI\Appli) provided in the X-CUBE-ST67W61 v1.2.0 package, to compare to your SPI configuration.

 

Regards

Hello @Louis AUDOLY 

I tried flashing the ST67 NCP using Qconn_Flash_Cmd-ubuntu in standalone mode, after putting the ncp in flash mode. But the shake hand fails between NCP and the host.

❯ ./QConn_Flash/QConn_Flash_Cmd-ubuntu --port /dev/ttyUSB0 --config ./NCP_Binaries/mission_t02_flash_prog_cfg.ini --efuse NCP_Binaries/efusedata.bin

[17:46:22.644] - Serial port is /dev/ttyUSB0
[17:46:22.644] - ==================================================
[17:46:22.645] - FW get address from partiton file /home/gandhi/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-ST67W61/1.2.0/Projects/ST67W6X_Scripts/Binaries/NCP_Binaries/./partition.bin
[17:46:22.645] - Address=0x10000
[17:46:22.645] - FW get size from partiton file /home/gandhi/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-ST67W61/1.2.0/Projects/ST67W6X_Scripts/Binaries/NCP_Binaries/./partition.bin
[17:46:22.645] - Size=1785856
[17:46:22.646] - Program Start
[17:46:22.646] - ========= eflash loader cmd arguments =========
[17:46:22.647] - serial port is /dev/ttyUSB0
[17:46:22.647] - cpu_reset=False
[17:46:22.854] - com speed: 2000000
[17:46:22.854] - ========= Interface is uart =========
[17:46:22.855] - Bootrom load
[17:46:22.855] - ========= get_boot_info =========
[17:46:22.855] - ========= image get bootinfo =========
[17:46:23.108] - tx rx and power off, press the machine!
[17:46:23.108] - cutoff time is 0.05
[17:46:23.158] - power on tx and rx
[17:46:24.063] - reset cnt: 0, reset hold: 0.05, shake hand delay: 0.1
[17:46:24.063] - clean buf
[17:46:24.064] - send sync
[17:46:24.165] - ack is b''
[17:46:24.165] - retry
[17:46:24.416] - tx rx and power off, press the machine!
[17:46:24.416] - cutoff time is 0.05
[17:46:24.467] - power on tx and rx
[17:46:25.372] - reset cnt: 0, reset hold: 0.05, shake hand delay: 0.1
[17:46:25.372] - clean buf
[17:46:25.372] - send sync
[17:46:25.473] - ack is b''
[17:46:25.474] - retry
[17:46:25.725] - tx rx and power off, press the machine!
[17:46:25.725] - cutoff time is 0.05
[17:46:25.775] - power on tx and rx
[17:46:26.680] - reset cnt: 0, reset hold: 0.05, shake hand delay: 0.1
[17:46:26.680] - clean buf
[17:46:26.680] - send sync
[17:46:26.781] - ack is b''
[17:46:26.781] - retry
[17:46:26.781] - shake hand fail
[17:46:26.781] - shake hand fail
[17:46:26.782] - ========= ChipID:  =========
[17:46:26.782] - Get bootinfo time cost(ms): 3927.554443359375
[17:46:26.782] - {"ErrorCode": "0050","ErrorMsg":"CHIP IMG LOAD SHAKEHAND FAIL"}
[17:46:26.782] - Burn Retry
[17:46:26.782] - Burn return with retry fail

 

I have connected usb to ttl converter to directly flash the NCP using QConn in the standalone mode over UART. To bring the NCP in flash mode I use stm32h563zit6 host to toggle the boot and chip_en pin.
any idea what's going wrong? or what other things I can try?


@KushalGandhi108 wrote:

any idea what's going wrong? 


No, but looks similar to this: ST67W611M1 QConn_Flash failure

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Dear Louis,

I had compared the SPI config in ioc, included DMA. it almost the same but just change to SPI2, not spi1.

I also found i had an error about DMA RX setting then correct it, but now, I got random magic number...

No idea what's wrong about SW.

JohnWick1_0-1775835472958.png

SPI2 setting:

JohnWick1_1-1775835526805.png

JohnWick1_2-1775835551234.png

DMA setting:

JohnWick1_3-1775835582399.png

JohnWick1_4-1775835604181.png