Well, when i boot my FC in DFU mode, my computer doesnt recognize it. So i know I f'd something up here, maybe the CADDx was actually connected to UART1(The only diagram im able to find of the FC is slightly different that my FC(mine doesnt seem to have the SCL and SDA ports)īut i think, no big deal, i can just flash the firmware to it, and start over. Now the quad will not connect to betaflight, but it does open the serial port succesfully. I disable MSP on UART2(possible the root of my trouble) and enable GPS and set the baud rate to auto. I plug the quad into my PC, open betaflight and in the ports screen i enable MSP on soft serial, and disable GPS. So i do the soldering, everything goes well. I was doing some reading and I came to the conclusion that i should move the gps to a hardware UART port and run the caddx vista off of the soft serial port. Well earlier this year, i decided that i was going to upgrade the GPS because the stock flywoo one is pretty terrible. ![]() For some reason that escapes my mind now, i put the GPS on the Soft serial port, and it all seemed to be working fine. I successfully took the caddx vista off of the 85x and got it on the flywoo. I will mark this topic as "closed", but you must correct those issues with CubeMX v5.So I bought a 2nd hand analog flywoo explorer and also a digital betafpv 85x digital last year. ![]() The only obvious thing is when I raised clock frequency from 16 to 32Mhz (max) the blue screen rarely happened on the USB plugin event (on 16Mhz clock it happened all the time). With L0 microcontroller I got "Bad firmware" error a couple of times, but it's rare. I didn't have too much time to analyze the DFU protocol and at that time I've found this fix satisfying. With these two lines of code (14 and 15), the bootloader was slow, but it worked, and never show a "Bad firmware" error. Hdfu = (USBD_DFU_HandleTypeDef*) pdev->pClassData Static void DFU_GetStatus(USBD_HandleTypeDef *pdev) I've solved it with a 2-line fix inside dfu class driver : /** Till then, I'm using member You can install the latest driver version from path I've posted above ( C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver\Win10) but you need to install DfuSe v3.0.6 from ST official web site.ĭo you have problems with STM32L series? I've already had some similar problems with STM32L1 couple of years ago, but without blue screen, just "Bad firmware" error inside DfuSe software. I will mark this topic as "closed", but you must correct those issues with CubeMX v5. Those problems are not a big deal, but they've consumed a lot of my time. Obviously, there are more problems which I didn't catch, because when I've fixed those I mentioned above, I get the same result (blue screen). Also, in the usbd_conf.h file, it defines macro USBD_SUPPORT_USER_STRING_DESC, but it should be USBD_SUPPORT_USER_STRING.In my L0 project, it does not include SysTick_Handler inside the stm32l0xx_it.c, and the main program gets stuck in the Infinite loop.For Eclipse Stm32 Workbench it does not generate a linker script, and I need to manually set the mcuId inside.Secondly, I've managed to solve my issue with CubeMX v4. To fix this I've corrected the erase method to erase 8 pages which are equal to 1024b. The result is the DfuSe demo waits indefinitely for the write operation. From the flash string, the flash memory is divided into 1Kb sectors and the erase method erases only 1 page (128b, not 1024b). There was a little bug inside the example, the flash string and erase method are not matched. I've bought the STM32L0538-Discovery board and I've successfully implemented the DFU-Standalone example. I've attached some pictures of the error message, driver version, and. ![]() My firmware is almost the same as an example for 32L0538DISCOVERY inside Cube L0 repository, and I'm using the latest version of L0 Cube firmware (V1.11.2). I've tried different solutions, running DfuSe from STM32L folder, but nothing helped. When Upgrade button is pressed inside DfuSe demo.The problem appears in the following moments: Windows does not complain about the driver when the USB is plugged in, when I try to update it, it says that I'm already using the newest version. It's not deterministic, I've succeeded couple of times to write my firmware via DfuSe, and successfully run the main program, but in most cases it fails. I've done many bootloader standalone firmwares for STM32 MCUs, for F0, F1, F3, F4 series, and had never encountered this kind of a problem. ![]() I'm using STM32L072KZT6 microcontroller, and I'm trying to make USB DFU Standalone bootloader.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |