It can be entered before adding the bootloader, but it cannot be entered after adding it, but the main program does not crash and runs normally
It may be that the interrupt is turned off before jumping in the bootloader.
That is, it has been set in the bootloader:
__set_PRIMASK(1);
You need to add in the application layer:
__set_PRIMASK(0);
Re-enable interrupts
The program can be executed before adding the bootloader, but crashes into HardFault after adding it
Maybe this sentence was not added
SCB->VTOR = 0x08010000;
Or the C++ project does not use extern "C" to wrap the interrupt function
After adding the bootloader, the program runs randomly and JLink reports an error during debugging.
JLink News
**JLink Warning: T-bit of XPSR is 0 but should be 1. Changed to 1.
It may be due to the change of chip type, the IROM start address under Project - Option for Target - Target has been restored to 0x08000000.
Summarize
Note 3 points when adding bootloader:
1. Change SCB->VTOR
2. Change the IROM start address
3. Enable global interrupt
Previous article:About the problem of external interrupt not responding after adding bootloader to stm32f030
Next article:STM32 Bootloader and startup analysis
Recommended ReadingLatest update time:2024-11-15 07:49
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- Infineon's PASCO2V15 XENSIV PAS CO2 5V Sensor Now Available at Mouser for Accurate CO2 Level Measurement
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- A new chapter in Great Wall Motors R&D: solid-state battery technology leads the future
- Naxin Micro provides full-scenario GaN driver IC solutions
- Interpreting Huawei’s new solid-state battery patent, will it challenge CATL in 2030?
- Are pure electric/plug-in hybrid vehicles going crazy? A Chinese company has launched the world's first -40℃ dischargeable hybrid battery that is not afraid of cold
- CC3200 module first article - wlan_ap routine test
- Single-supply applications
- Share a problem of MOS tubes being frequently damaged.
- A summary of DIY blood oximeters. It is really rewarding to read it.
- CMOS Analog Integrated Circuit Design and Simulation.pdf
- How to enter debugging without hardware in MDK5
- How many computer screens do you usually use?
- [National Technology N32G457 Review] 9 RT_Thread Studio drives CAN and the difficult journey of filling the pit!
- The first time I played with FPGA applications, I played with the TSL1401 linear array sensor
- MKI109V3+MKI182V2 unboxing