ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
27 апреля
907591 Топик полностью
evgeniy1294 (28.02.2019 19:18 - 19:21, просмотров: 327) ответил Vit на Попробовал перейти из софта в стоковый бутлодырь STM32L476. DFU без пина BOOT0 не стартует. Ищу волшебное слово. Аппаратное решение с временным заданием состояния BOOT0 не годится.
Тут дока на бут, судя по ней все должно работать и так. Вы сброс PLL перед переходом делаете? Там целый список требований для успешного перехода. https://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
In addition to patterns described above, user can execute bootloader by performing a jump to system memory from user code. Before jumping to bootloader user must: • Disable all peripheral clocks • Disable used PLL • Disable interrupts • Clear pending interrupts System memory boot mode can be exited by getting out from bootloader activation condition and generating hardware reset or using Go command to execute user code. Note: If you choose to execute the Go command, the peripheral registers used by the bootloader are not initialized to their default reset values before jumping to the user application. They should be reconfigured in the user application if they are used. So, if the IWDG is being used in the application, the IWDG prescaler value has to be adapted to meet the requirements of the application (since the prescaler was set to its maximum value). Note: For STM32 devices having the Dual Bank Boot feature, in order to jump to system memory from user code, the user has first to remap the System Memory bootloader at address 0x00000000 using SYSCFG register (except for STM32F7 series), then jump to bootloader. For STM32F7 series, the user has to disable nDBOOT and/or nDBANK features (in option bytes), then jump to bootloader. Note: For STM32 devices embedding bootloader using the DFU/CAN interface in which the external clock source (HSE) is required for DFU/CAN operations, the detection of the HSE value is done dynamically by the bootloader firmware and is based on the internal oscillator clock (HSI, MSI). Thus, when due to temperature or other conditions, the internal oscillator precision is altered above the tolerance band (1% around the theoretical value), the bootloader might calculate a wrong HSE frequency value. In this case, the bootloader DFU/CAN interfaces might dysfunction or might not work at all.