For beginners - suggestions for learning STM32

Publisher:DazzlingSpiritLatest update time:2017-11-12 Source: eefocus Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

S3C2440, the official documents are all in English, most engineers can only read books published in China. Students who are good at English, please don't think you are great and can only read English documents. After all, you are Chinese, and the language you are most familiar with and understand best is Chinese. Reading English is still slower than reading Chinese. What we want is the shortest time, not the pursuit of remembering all the details in a short time. Of course, if it is a paper, it is still beneficial to recommend reading the original English version. When the STM32 processor entered the domestic market, ST official (or third party) did a very good job of promotion. A large number of English documents were translated to cater to the thinking of many domestic engineers. So now most of the STM32F103xxx user datasheets have Chinese versions. Therefore, you don't need to buy books, just read the electronic files. Of course, friends with strong financial conditions can buy this book~ When studying, pay attention to two more important documents: "STM32F103xxx Reference Manual" and "STM32 Firmware Library User Manual". All official Chinese and English documents of ST can be downloaded from ST's mainland China website: http:/www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm This website is for students who have sufficient time and energy. It is recommended to download the documents you need to consult for more information. When reading the "STM32F103xxx Reference Manual", you must pay attention that you don't need to read it all - there is no time. It is recommended to read it selectively, but the first few chapters must be read. The first few chapters of memory and bus architecture, power control, backup registers, reset and clock control, general and multiplexed function I/O, interrupts and time, etc. must be read in time. The following chapters describe the specific functional module design. If we use a module, we can read that module. For example, when using AD, we need to read Chapter 10 ADC. No other examples are given. I believe that every beginner has his own research direction and judgment. Reading the "STM32 Firmware Library User Manual" is mainly to simplify programming. STM32 provides us with a very good firmware function library, we just need to call it. Of course, we can also not touch these firmware libraries - it is said that using them will make the code less efficient, which makes sense. There are also many codes written by netizens on the Internet, which do not use the firmware library functions. How to choose depends on your choice. Here I mainly emphasize that when reading the "STM32 Firmware Library User Manual", the first few chapters must also be read. For example, the naming rules and encoding rules in the first chapter of the document and library specifications, these are all things that need to be paid attention to. Chapter 2 is the most critical, and I hope everyone will read it carefully. Chapter 2 describes the architecture of the firmware library, how we use the firmware library, etc. With the foundation of Chapter 2, we can write our own code with the help of the firmware library. After starting Chapter 4, you can read according to your needs. In fact, the subsequent chapters all describe what functions a certain module has, how to use each function, etc. Regarding the following chapters, it is recommended to be familiar with the GPIO library functions, interrupt library functions, reset and clock setting library functions, because they are often used in daily life. The two documents mentioned above are enough for you to read, haha. I hope you can get a lot of basic knowledge of STM32 from them. 30-day STM32 mastering plan

    (1) The so-called "mastering" here means being able to understand and master some commonly used STM32 peripherals. If you really want to master a processor, 30 days does not mean anything. It can only say that you have already gotten started. However, this is enough for us beginners.

    (2) The so-called "30 days" here varies according to each person's schedule.

           If you have enough time to study every day, you can set a time limit for yourself to be able to independently perform simple STM32 development as soon as possible. If you only have spare time to study STM32 every day, it is recommended that you arrange your time according to your specific situation. After all, if the planned time is too tight, it will not achieve good results and will only enter a vicious circle, which is what we want to avoid. However, it is recommended that you make a plan for yourself regardless of whether you have enough time or not! !

    Here is an idea for reference only.

    Step 1. Install the STM32 learning software, such as J-Link, Keil for ARM (MDK), and ISP (if you need to download from the serial port). For detailed steps for installing these software, please refer to the corresponding tutorials we have launched.

    Step 2, select the HEX of some routines, such as the HEX file of the LED lamp routine, download it to the Xinda STM32 development board, and observe the flashing of the two LED lights. For this part of the operation, you can refer to the corresponding tutorial we launched.
    In fact, the above two steps are just to familiarize yourself with the tool software to be used. It belongs to the stage of finding the feeling. In fact, we haven't started learning STM32 yet!

    Step 3, prepare several commonly used documents, such as "STM32 User Manual", "STM32 Firmware Library User Manual" and other documents. For daily reference. These documents can be found in the chip manual directory in the CD.

    Step 4, start to check the writing of the routine, see how the routine is written, and whether you can modify the routine to achieve the effect you want? The CD of the Xinda STM32 development board provides you with a wealth of routine codes for reference. You can definitely modify a more exciting routine!

    Step 5, do you need to try the transplantation of Ucos-II? Congratulations, at this point, you can already freely carry out independent development. The last step is to set a goal (project) for yourself and realize it!

    Once again, the above is just an idea for learning STM32 for your reference. The following lists the key steps in the previous steps, and I hope you can get started as soon as possible. The programming of each subsequent module will be continuously updated.

Reference address:For beginners - suggestions for learning STM32

Previous article:A topic about STM32 FLASH programming application
Next article:STM32 Getting Started Learning Experience Summary

Recommended ReadingLatest update time:2024-11-16 15:42

STM32 memory distribution and bus
1. Bus system structure The system consists of a matrix of multiple interconnected 32-bit AHB buses 8 main buses     – Cortex-M4 with FPU core I-bus, D-bus and S-bus     – DMA1 memory bus     – DMA2 memory bus     – DMA2 peripheral bus     – Ethernet DMA bus     – USB OTG HS DMA bus123456 7 slave buses:     – Int
[Microcontroller]
STM32 Analog I2C (STM32F051)
/**    ******************************************************************************    * @file i2c phone.c    * @brief     simulation function    * @CPU       STM32F051    * @compiler  Keil uVision V4.74    * @author    MetalSeed    * @copyright WSHHB    * @version   V1.0.0    * @date      18-Sept-2014    * @modifyd
[Microcontroller]
STM32 EXTI external interrupt
External interrupt pin configuration initialization: Take PA0 as an example 1. Peripheral port clock is turned on  RCC->APB2ENR|=1 2. Port is set as input  GPIOA->CRL&=0XFFFFFFF0; //PA0 is set as input     GPIOA->CRL|=0X00000008;  3. Port selects pull-up/pull-down mode  GPIOA->ODR&=0xFFFFFFFE; //A0 defaults to p
[Microcontroller]
stm32 usart can only send once in DMA mode
  Problem description: Use STM32 cube to generate usart2 DMA direct mode (not using FIFO, normal mode, STM32f407) configuration code. usart2 can use blocking mode to send, but using DMA to send can only send for the first time, and can only send once after reset.   Single-step debugging found that after the first tran
[Microcontroller]
STM32 self-study serial port interrupt mode
    Today is the 7th day of my self-study of STM32. I will catch up on the previous learning of running lights, buttons, query serial ports, PWM, counters and infrared when I have time. Let’s start with the interrupt serial port that I debugged today.     I would like to state in advance that I am writing this blog ju
[Microcontroller]
Strange phenomenon of stm32 interrupt offset in IAR debugging
A strange thing happened today when I was working on the STM32F207 bootloader. In IAR, I set the interrupt offset of my APP function to That is, the offset is 64KB, and the first 64KB is used to place the bootloader program. Compile and link to generate the map at the end, and check it and there is no error
[Microcontroller]
Strange phenomenon of stm32 interrupt offset in IAR debugging
【STM32】JTAG IO multiplexing (PB4, PB3, PA15)
When I was working on a project with STM32F103VCT6 recently, the IO of PA15 kept outputting a high level.  I checked the program many times and found that there was no problem with the IO initialization program.  Later, I tried to erase the MCU program directly, but it still output 3.3V. Finally, in the chip data shee
[Microcontroller]
STM32 USB Design-MCU Program
First, let's take a look at the working process of USB. When a USB device is connected to the host, the host begins to enumerate the USB device and sends a command to the USB device to obtain the relevant description information of the USB device, including device description (device descriptor), configuration
[Microcontroller]
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号