Problem with SWD after Flash on STM32L432 Nucleo Board


Chuck Link
 

I am developing an application currently running on STM32L432 KC Nucleo reference board. I have created an STMCubeMX startup file and simple application that works flawlessly.  I can program and reprogram at 4000 kHz using the STM programmer tool.    I want to use Zephyr RTOS so I’ve built the Zephyr 2.5.0 L432KC project exactly as documented.  I can build either the “Blinky” or “HelloWorld” and load the image the first time flawlessly using The onboard ST-LINK at 4000 kHz.   However as soon as the Zephyr project is loaded, the SWD becomes troublesome.  West Flash loses complete control.  Moving back to STM tools I can sometimes connect.   I can not communicate at any speed other that 5 kHz. Sometimes not at all.   Usually it requires a power cycle and holding reset to erase (at 5 kHz) to reprogram.   Then I can use West Flash again.   


Most interesting, I can program the STMCubeMX image and reprogram multiple times at 4000 kHz.  If I move over to the Zephyr tools and image, I can use West Flash the first time at full speed and subsequently I can reprogram the Zephyr image at 480 kHz.  If I remove power from the target, I have to go back to the STM Programmer to erase the Zephyr image at 5 kHz and start the process again.  It appears at the Zephyr image is not initializing at least one register at startup.  Once the register is set using the STMCubeMX image, as long as power is not removed, the Zephyr image works OK (not great since programming speed is only 480 kHz.)

Has anyone else seen this or resolved this issue?  It appears that something is not being initialized completely.  I will continue the research, as well as try this on other STM boards.   

Thanks for the fantastic OS.  We are using it successfully on several other projects based on Nordic chips.   This is my first experience with STM chips.  


Thanks, Chuck

Join users@lists.zephyrproject.org to automatically receive all group messages.