From v1.20 on, the bootloader will only use RTC backup register 1 and check for 0x4F42 on targets with 16-bit backup registers and 0x544F4F42 on targets with 32-bit backup registers. In version v1.11 and earlier, the bootloader for STM32F103 targets looks for 0x544F in RTC backup register 2 and 0x4F42 in RTC backup register 1 (together they spell "BOOT" in ASCII). Writing the magic value and then resetting will run the bootloader instead of the main application. The bootloader can be built to look for arbitrary patterns, but the default looks for a magic value stored in the RTC backup registers. As an example, to compile for a Bluepill board with 128 KiB flash, use: The high memory bootloader is a variation that doesn't require the application to be at an offset, the bootloader resides in the top 7 KiB of ROM and hides its reset and stack vectors inside unused entries of the application vector table. High memory bootloader for 256 KiB chips (experimental) High memory bootloader for 128 KiB chips (experimental) High memory bootloader for 64 KiB chips (experimental) Standard bootloader, using first 8 KiB of flash LeafLabs Maple Mini board and clone derivativesīigTreeTech SKR MINI E3 V2.0 (3D printer motherboard)įor the above targets there are some potential variants that can be added to the target name based on what the target supports: Target Variant ↳ STM boards (Discovery, Eval, Nucleo.↳ Let us know a bit about you and your projects.I apologize for the long message but I spent many hours trying to get this to work, since I have used libmaple for years without problems. Is there some issue with some USB chipsets and/or USB XHCI drivers under windows that make them unable to recognize the libmaple or STM32F1? My laptop has an NVIDIA USB chipset, and my tablet as an Intel USB chipset. It does not enumerate if I use the DFU bootloader, or if I directly write a sketch to the Bluepill that implements USB CDC serial so it should enumerate immediately as a USB CDC serial device, so I don't think it could be a problem with just the bootloader implementation. I can otherwise use the Bluepill ok by programming it over ST-LINK and seeing the output (for example of a Blink sketch) over the serial port using a USB serial dongle. I have tried it with the USB port providing power to the Bluepill and with an external 5V supply providing power to the Bluepill. I have tried it plugged into the computer itself, into a USB 3 hub, and into a USB 2 hub. I have verified that both boards have a 1.5k resistor to +3.3V of the USB+ line. On another Lenovo laptop and a Lenovo tablet, it says for both "The last USB you connected to this computer malfunctioned, and Windows does not recognize it." These show up in the device manager without any VID/PID. The other board I built myself also enumerates ok. For example, if I flash the DFU bootloader using a ST-Link on a new Bluepill board, it will be recognized as Maple DFU as shown in the device manager. So I can get the devices to be recognized on one particular Lenovo laptop most of the time. I am both using a commercially purchased Bluepill and one I designed and built myself so I know that I know it contains a real STM32F103CBT6: I am using Roger's (libmaple) DFU bootloader and the libmaple CDC serial USB drivers on a Bluepill board.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |