In the <>, all our routines use a startup file called STM32F10x.s, which defines the stack size of STM32, the names of various interrupts and the names of entry functions, as well as startup-related assembly code. STM32F10x.s is the startup code provided by MDK. From its content, it only defines 3 serial ports and 4 timers. In fact, the STM32 series products have models with 5 serial ports, and only models with 2 serial ports. The same is true for timers, with a maximum of 8 timers. For example, if you use STM32F103ZET6, and the startup file uses STM32F10x.s, you can use the interrupts of serial ports 1~3 normally, but the interrupts of serial ports 4 and 5 cannot be used normally. For another example, your interrupts of TIM1~4 can be used normally, but those of 5~8 cannot be used.
Therefore, STM32F10x.s cannot be applied to all STM32 models. In this way, we have to choose different startup files for different STM32 models. ST provides us with 3 startup files, which are suitable for STM32 chips of different capacities. They are:
startup_stm32f10x_ld.s
startup_stm32f10x_md.s
startup_stm32f10x_hd.s
Among them, ld.s is suitable for small-capacity products; md.s is suitable for medium-capacity products; hd is suitable for large-capacity products; the capacity here refers to the size of FLASH. The judgment method is as follows:
Small capacity: FLASH≤32K
Medium capacity: 64K≤FLASH≤128K
Large capacity: 256K≤FLASH
Our development board uses STM32F103RBT6, with a FLASH capacity of 128K, which is a medium-capacity product, and STM32F10x.s just meets the startup file for medium-capacity models, so there will be no problem using STM32F10x.s, it is equivalent to startup_stm32f10x_md.s. If you have a small-capacity or large-capacity STM32, you can choose startup_stm32f10x_ld.s or startup_stm32f10x_hd.s accordingly.
Keywords:STM32F10x.s
Reference address:About STM32F10x.s startup file
Therefore, STM32F10x.s cannot be applied to all STM32 models. In this way, we have to choose different startup files for different STM32 models. ST provides us with 3 startup files, which are suitable for STM32 chips of different capacities. They are:
startup_stm32f10x_ld.s
startup_stm32f10x_md.s
startup_stm32f10x_hd.s
Among them, ld.s is suitable for small-capacity products; md.s is suitable for medium-capacity products; hd is suitable for large-capacity products; the capacity here refers to the size of FLASH. The judgment method is as follows:
Small capacity: FLASH≤32K
Medium capacity: 64K≤FLASH≤128K
Large capacity: 256K≤FLASH
Our development board uses STM32F103RBT6, with a FLASH capacity of 128K, which is a medium-capacity product, and STM32F10x.s just meets the startup file for medium-capacity models, so there will be no problem using STM32F10x.s, it is equivalent to startup_stm32f10x_md.s. If you have a small-capacity or large-capacity STM32, you can choose startup_stm32f10x_ld.s or startup_stm32f10x_hd.s accordingly.
Previous article:STM32-USMART Study Notes
Next article:Port multiplexing and remapping
- Popular Resources
- Popular amplifiers
Recommended Content
Latest Microcontroller Articles
- 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)
He Limin Column
Microcontroller and Embedded Systems Bible
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
MoreSelected Circuit Diagrams
MorePopular Articles
- 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
MoreDaily News
- Detailed explanation of intelligent car body perception system
- How to solve the problem that the servo drive is not enabled
- Why does the servo drive not power on?
- What point should I connect to when the servo is turned on?
- How to turn on the internal enable of Panasonic servo drive?
- What is the rigidity setting of Panasonic servo drive?
- How to change the inertia ratio of Panasonic servo drive
- What is the inertia ratio of the servo motor?
- Is it better for the motor to have a large or small moment of inertia?
- What is the difference between low inertia and high inertia of servo motors?
Guess you like
- Power Amplifier
- The most detailed summary of embedded system knowledge and interface technology ever!
- Problems with current sinking and current sourcing of the I/O port of the msp430 microcontroller
- Newbie help, how to modify the contents of a file with the suffix bin
- From fail to pass, what does DDR debugging go through?
- [Mil MYS-8MMX] Part 1: Unboxing~
- How to keep one decimal place in C language
- Common problems and solutions in CCS compilation
- First week of SensorTile.box initial experiment
- [Fudan Micro FM33LC046N] FLASH basic time simple test