stm32 memory structure

Publisher:ziyuntingLatest update time:2017-11-07 Source: eefocusKeywords:stm32 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

This is the onboard SRAM, which belongs to the external SRAM. The starting address is 0x68000000. I don’t understand why this address is used.

This is the SRAM inside the core, which is divided into two parts: normal memory, starting at address 0x20000000, totaling 128KB, which can be accessed by any peripheral, and CCM memory, starting at address 0x10000000, totaling 64KB, but can only be accessed by the CPU.



In the memory management experiment, we mainly used the malloc and free functions to apply for and release memory. After using malloc to apply for memory, the returned value is the first address after the application. At the same time, after applying for an address and pointing the pointer to the address, the application must be freed after using it once, otherwise it will cause the so-called "memory leak". Over time, it will affect the use of memory.


I am using Atom's program. Regarding the final definition of memory, Atom uses three arrays to represent the starting address and size respectively. It makes me dizzy, but I can still understand it by looking back step by step.


Keywords:stm32 Reference address:stm32 memory structure

Previous article:stm32 serial port dma receives asynchronous data
Next article:STM32 simulated I2C program

Recommended ReadingLatest update time:2024-11-16 12:24

[STM32] Overview of external interrupts, registers, library functions (EXTI general steps)
STM32F1xx official information: "STM32 Chinese Reference Manual V10" - Chapter 9 Interrupts and Events   External Interrupt Overview External interrupt (EXTI) is different from the external interrupt of CM3 core described in NVIC interrupt priority management (interrupt vector table). Specifically refers to the
[Microcontroller]
[STM32] Overview of external interrupts, registers, library functions (EXTI general steps)
Data type definition in stm32
STM32F10X.H  1 #include "core_cm3.h"  2 #include "system_stm32f10x.h"  3 #include stdint.h  4   5 /** @addtogroup Exported_types  6   * @{  7   */    8   9 /*! STM32F10x Standard Peripheral Library old types (maintained for legacy purpose) */ 10 typedef int32_t  s32; 11 typedef int16_t s16; 12 typedef int8_t  s8;
[Microcontroller]
STM32 learning startup code comments
;Reset_Handler subroutine starts  Reset_Handler PROC ; Output subroutine Reset_Handler to external file  EXPORT Reset_Handler ; Import the __main function from an external file  IMPORT __main ;Introduce SystemInit function from external file  IMPORT SystemInit ; Load the SystemInit function call address into
[Microcontroller]
STM32 timer single pulse mode
The STM32 timer can be set to single pulse mode (OPM). The so-called single pulse is to generate a pulse with controllable pulse width after a certain controllable delay through the program. The delay time and pulse width here can be set, mainly by comparing: the timer count value TIM_CNT, the timer comparison value TI
[Microcontroller]
STM32 timer single pulse mode
STM32 interrupt control process
For STM32 (still taking Timer2 as an example), external interrupt channel position 28 (priority 35) is for external device TIME2, but TIME2 itself has many interrupt sources or events that can cause interrupts, such as update events (overflow/underflow), input capture, output match, DMA application, etc. All TIME2 int
[Microcontroller]
STM32 log summary 1--marquee experiment
//================================================ ======// **Based on the study of STM32 for a while, I specially wrote an article about a simple marquee I hope my understanding can help some beginners who are learning STM32. //================================================ ======// First, there are 8 types of GPI
[Microcontroller]
STM32 learning notes: how to initialize variables to non-zero after reset
     Some products, when the system is reset (not power-on reset), may require to keep the data in RAM before reset, so as to quickly restore the site, or to avoid restarting the site equipment due to instant reset. However, by default, any form of reset in Keil MDK will clear the non-initialized variable data in RAM
[Microcontroller]
Analysis and arrangement of Zhilin STM32 program source code 04
1. Timer Configuration 1 Overview      The STM32 timer has many functions and complex configurations. I don't know much about it now, so I'll learn while using it. There are two places where the timer is used on the Zhilin development board. One is the backlight power supply of the LCD, which requires the output of
[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号