cancel
Showing results for 
Search instead for 
Did you mean: 

Programm STM32f446 over CAN without BOOT Pins

mfrank9
Associate III
Posted on July 20, 2016 at 13:13

Hello

I have a PCB (STM32F429BIT) with a USB Plug. This USB Plug is led out from the device.

But some more PCBs (with STM32f446RC) are in the Device and not accessible from the outside. This PCBs are connected with the first PCB by a CAN interface.

+USB
| Device
+-------------------------------------------------------+
| | |
| +--------+--------+ |
| | | |
| | | |
| | STM32F429 | |
| | | |
| | | |
| +--------+--------+ |
| | |
| | |
| | |
| | CAN |
| +----------------+---------------+------+ |
| | | |
| | | |
| +-----+-----+ +-----+-----+ |
| | | | | |
| | | | | |
| | STM32F446 | | STM32F446 | |
| | | | | |
| | | | | |
| +-----------+ +-----------+ |
| |
+-------------------------------------------------------+

Here is my question:

Is it possible to program the STM32F446 Boards over CAN Bus without setting BOOT0 and BOOT1 pins, like the BFB2 Register on STM32F429 Controller?

Can i write a Bootmode in the SYSCFG memory remap register (SYSCFG_MEMRMP) in my Software and make a software reboot to switch in the CAN Bootloader?

#stm32f446
3 REPLIES 3
Amel NASRI
ST Employee
Posted on July 20, 2016 at 13:42

Hi frank.matthias,

For all bootlaoder options, please refer to

http://www.st.com/content/ccc/resource/technical/document/application_note/b9/9b/16/3a/12/1e/40/0c/CD00167594.pdf/files/CD00167594.pdf/jcr:content/translations/en.CD00167594.pdf

.

With a quick review of this application note, I see that it is possible to use CAN2 bootloader for STM32F446.

But as stated there, ''The STM32F446xx bootloader is activated by applying pattern1 ( Boot0(pin) = 1 and Boot1(pin) = 0)''.

-Mayla-

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

mfrank9
Associate III
Posted on July 21, 2016 at 09:40

Thanks you for your help.

I've already read the AN2606.

The problem is that the PCBs with the STM32F446 can be up to 16 pieces with the same can bus.

But when i programm them i want to choose a singel one.

Some Controllers have a BFB2 Register to activate the Bootloader. But the ST32F446 don`t have this.

Is there a similar option to activate the Bootloader over Can without using the Boot Pins? 
Posted on July 21, 2016 at 18:09

The issue of calling the System Loader in ROM from coding running in FLASH has been covered here dozens of times.

These might well be viable of the F446 w/CAN, not something I'm in a position to test/validate.

[DEAD LINK /public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=/public/STe2ecommunities/mcu/Lists/STM32Java/STM32F42xx3xx%20USB%20device%20DFU%20within%20a%20program&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21&currentviews=142]https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2FSTM32Java%2FSTM32F42xx3xx%20USB%20device%20DFU%20within%20a%20program&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21¤tviews=142

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