When many netizens use Keil to download programs, the download line is connected normally, but the program cannot be downloaded, and it prompts that the chip is not connected. The possible cause of the error is BOOT0.
First, let’s introduce how BOOT0 and BOOT1 are connected and the connection method.
Application principle of BOOT0 and BOOT1 of STM32 microcontroller
The storage media corresponding to the three boot modes of STM32 are all built-in chips, which are:
1) Main flash memory = Flash built into the chip. This is also the normal working mode
2) SRAM = RAM area built into the chip, that is, memory.
3) System memory = A specific area inside the chip. A Bootloader is preset in this area when the chip leaves the factory, which is usually called
ISP program. No one can modify or erase the content of this area after the chip leaves the factory, that is, it is a ROM area.
There are two pins BOOT0 and BOOT1 on each STM32 chip. The level state of these two pins when the chip is reset determines the chip reset.
After the bit is set, the program will be executed from which area, see the following table:
It should be noted that the built-in SRAM is generally not used for startup (BOOT1=1 BOOT0=1), because the data
in the SRAM will be lost after power failure. In most cases, SRAM is only used for debugging, and it can also be used for other purposes. For example, to perform local fault diagnosis, write a small program and load it into the SRAM to diagnose other
circuits , or use this method to read and write the Flash or EEPROM on the board. This method can also be used to remove the read and write protection of the internal Flash. Of course, when the read and write protection is removed
, the contents of the Flash are automatically cleared to prevent malicious software from copying.
Generally, the BOOT0 and BOOT1 jumpers are both jumped to 0 (ground). Only in the case of ISP download, BOOT0=1, BOOT1=0. After the download is complete, put
Connect the jumper of BOOT0 back to 0, that is, BOOT0=0, BOOT1=0.
Should STM32F103 configure BOOT0 and BOOT1 to be directly grounded or through resistors?
Q: My STM32F103RET6 is down because BOOT0 and BOOT1 are directly grounded. It's very strange. Has anyone encountered this?
A: The hardware design guide of STM32 also recommends that BOOT0 and 1 be connected to resistors and then to ground.
BOOT0 and BOOT1 are grounded through 10k resistors respectively to facilitate serial port downloading. The downloader controls BOOT0 to a high level, and after downloading, BOOT0 is
restored to a low level. STM32 can enter the user program after resetting. Normally, the user program is directly entered when power is turned on. Whether
boot0 is connected to a 10k resistor or directly to ground, it will not cause chip damage.
Note: If the JTAG related pins are used as ordinary IO, downloading will fail (when BOOT0 is at low level). The solution is to download the program once through the serial port and then download it through JLINK, or configure BOOT0 to high level before downloading.
Previous article:STM32 common download methods
Next article:STM32 BOOT0, BOOT1 configuration
Recommended ReadingLatest update time:2024-11-16 14:35
- Popular Resources
- Popular amplifiers
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- Application of 4G solar energy monitoring
- GD32E231 analog IIC driver LPS22HH
- Pressure sensor problem
- Where does the number 1.6 in Figure 1 come from?
- In optical fiber communication, RF is converted to light and then to RF signal. If the optical link loss is 1dB, how much is the electrical attenuation? ? ?
- How to protect the microcontroller from read and write
- Has anyone used the SKY1311T card reader chip?
- The most powerful TI Bluetooth 5.0 solution CC2652R chip module
- [Help] What kind of software is this that can implement this host computer monitoring system?
- How to make the CLK of tms320c6678 SPI output 8 clock cycles each time