rust-embedded / cortex-m

Low level access to Cortex-M processors
Apache License 2.0
832 stars 152 forks source link

asm::bootload #520

Closed charleselie closed 4 months ago

charleselie commented 8 months ago

I am using an STM32F411 and I want to do place my stm32in dfu mode by software.

I am trying to do it by using asm::bootload ( *correct system memory address ), it correctly goes into the function, but then I don't know what happen to my MCU, but it does not go in DFU mode.

I have implemented an USB communication, and I still can see the usb port, but it doesn't respond after calling the bootload function.

seems to be better working after a system reset using cortex_m::peripheral::SCB::sys_reset();

is this the best way ? and why is it needed ?

newAM commented 4 months ago

I'm triaging Cortex-M issues today.

I think this question is better for folks with an STM32F411. I think this is related to how the STM342F11 handles DFU rather than a general Cortex-M issue. Can you move this issue to the HAL you are using?

Feel free to re-open the issue if I missed anything!