cancel
Showing results for 
Search instead for 
Did you mean: 

ST ROM Bootloader FDCAN CANBUS

KoS
Associate

The configuration:

STLINK-V3SET

Connected the two PCBs together via the three connectors (page 11).

Attached jumper JP7 CAN_ON on MB1440 PCB (page 18).

(STLINK-V3SET pages 17 & 23) & (NUCLEO-H723ZG page 37) & (Bootloader AN page 199) & (STM32H723 Manual page 143):

Connected the T_CAN_VCC to 5V of NUCLEO-H723ZG; tried also the 3V3, same outcome.

Connected the T_CAN_TX to the PD0 CAN1_RX pin 29 of CN9 connector of NUCLEO-H723ZG.

Connected the T_CAN_RX to the PD1 CAN1_TX pin 29 of CN9 connector of NUCLEO-H723ZG.

Reversed the PD0 and PD1, same outcome.

NUCLEO-H723ZG

Connected the boot0 pin to 3V3.

Power cycled the Nucleo and verified that the bootloader is running and communicating via USB with the latest Cube Programmer.

Power cycled the Nucleo and attempted to connect via CANBus. The Nucleo does not respond. The Cube Programmer reports a connection error message (similar to this). I have attached a logic analyser to the T_CAN_TX, CAN1_RX, T_CAN_RX and PD1 CAN1_TX and I see pulses on the bus when I click the connect button on the Cube Programmer, hence the STLINK-V3SET is sending CAN messages but the Nucleo does not respond to those.

I verified via the Cube Programmer and the Nucleo on board STLINK that the Nucleo is executing code in the bootloader memory section following these guidelines from ST.

I grounded the Rx pins of the other bootloader buses SPI I2C UART so that the bootloader does not accidentally identify any other bus and lock to it (a suggestion found in one of the ST datasheets).

I cannot establish a connection between ST Bootloader in the STM32H723 and Cube Programmer via STLINK-V3SET over CANBus.

The same setup works fine for the STM32F446.

It seems like the version of the embedded bootloader in the H7 chip is running FD CANBus as opposed to the classic CANBus the examples and tools (Cube Programmer) are using. What should we use in terms of host software to communicate with the bootloader and be able to flash firmware?

I assume the Cube Programmer is using this protocol for the F series of chips:

https://www.st.com/resource/en/application_note/an3154-can-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

And the H7 requires the FDCAN protocol:

https://www.st.com/resource/en/application_note/dm00660346-fdcan-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf

Is there an equivalent to Cube Programmer PC software tool that I can use to test the embedded ST bootloader?

12 REPLIES 12

If you're in the CAN Bus device business, expect to have your own PC based stack, and user facing applications in support of that.

ST's not in that business, and all their solutions will be clunky and unrefined.

The protocols at a bus level should be documented.

There might be better and more efficient method, you might need to implement them in your own loader, and user space applications.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

@Sara BEN HADJ YAHYA​ @Laura C.​ Is there a CAN / CAN-FD equivalent to this?

https://community.st.com/s/article/how-to-use-stm32cubeprogrammer-and-the-stlink-V3set-to-access-the-i2c-bootloader-on-my-stm32-board

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
LauraCx
ST Employee

Hi @Community member​ ,

I am checking with our authors, if they validate the proposal it will be put in the backlog of content to create and notify you when it will be available.

Thank you,

Laura

mskumar_mtech
Associate II

Hello

I have a similar issue and I have few inputs as well. Please email me or call me back, if you are available.

sivakumar.mariappan@electro-flight.com

+44 7934 466587

Thanks

Siva

MHoll.2
Associate III

As You say the H7xx and other FD-CAN capable MCU's are using an FD-CAN protocollo for the Bootloader (up to 64 Byte per message) to speed up programming. the STLINK-V3SET has an F723 MCU (only CAN 2.0b!) there is no chance that the STLINK-V3SET can communicate with the FDCAN bootloader in the H7xx MCU.

I have made a small example program (Windows, with PEAK PCAN dongle), if You are interested I can send You the source.

Martin

mskumar_mtech
Associate II

Hi Martin,

Good morning. Many thanks for your quick response. I'm sorry. I meant I have similar issue with CAN based bootloader. What is your small example program does? Yes. It will be grateful, if you could share the source. When we press the "Connect" button to establish the connection between STM32CubeProgrammer and STLINK-V3SET, kindly share the log file to see the communication between STLINK-V3SET and Target board please.

Many thanks

With kind regards

Mskumar

Hi,

I think You did not understand what I intended, You can not use the STLINK-V3SET to connect to the H7xx MCU Bootloader.

You need to use a USB to CAN converter with FD-CAN capability (I'm using the PEAK PCAN-USB FD).

Martin

mskumar_mtech
Associate II

Hi Martin,

I'm sorry again. I'm suing STM32L432 MCU on my target board.  

We have developed a CAN based custom Bootloader and we would like to flash the application software using STM32CubeProgrammer and STLINK-V3SET. We have provided 3.3V Supply, ground to STLINK_V3SET module and connected CAN_Tx and CAN_Rx through a CAN transceiver board. Jumper J7 is closed as well. STLINK-V3SET module is detected by the STM32CubeProgrammer when powered and connected through microUSB cable. Selected the STLINK-V3SET module and enabled the CAN interface option with default values. We pressed the connect button, we are getting the following timeout error.

When we press the "Connect" button to establish the connection between STM32CubeProgrammer and STLINK-V3SET, What is the communication happens between STLINK-V3SET and Target board? kindly share the log file to see the communication between STLINK-V3SET and Target board please.

Also kindly clarify the following.

1. Are you using Custom Bootloader (your own Bootloader) or System Bootloader (available as part of the MCU)?

2. Kindly share a small example program you have made. If we use it with USB to CAN dongle, Will it work for us considering that we have implemented all CAN commands from AN3154.

Many thanks

With kind regards

Mskumar

 

 

 

Please do not hijack threads, this thread is about FDCAN bootloader, you need a "standard" CAN (2.0b) bootloader application. I can not help You with this.

Martin