ARM单片机的内存分布(重要)

news2024/11/16 10:12:26

ARM单片机的内存分布(重要)

一、S32K344的内存布局

MEMORY
{
    int_pflash              : ORIGIN = 0x00400000, LENGTH = 0x003D4000    /* 4096KB - 176KB (sBAF + HSE)*/
    int_dflash              : ORIGIN = 0x10000000, LENGTH = 0x00020000    /* 128KB */
    int_itcm                : ORIGIN = 0x00000000, LENGTH = 0x00010000    /* 64KB */
    int_dtcm                : ORIGIN = 0x20000000, LENGTH = 0x0001F000    /* 124KB */
    int_stack_dtcm          : ORIGIN = 0x2001F000, LENGTH = 0x00001000    /* 4KB */
	int_sram                : ORIGIN = 0x20400000, LENGTH = 0x000330F0    /* 184KB, needs to include int_sram_fls_rsv */
    int_sram_fls_rsv        : ORIGIN = 0x204330F0, LENGTH = 0x00000100
    int_sram_no_cacheable   : ORIGIN = 0x204331F0, LENGTH = 0x0000FF00    /* 64KB, needs to include int_sram_results  */
    int_sram_results        : ORIGIN = 0x2043FF00, LENGTH = 0x00000100
    int_sram_shareable      : ORIGIN = 0x20440000, LENGTH = 0x00004000    /* 16KB */
    ram_rsvd2               : ORIGIN = 0x20444000, LENGTH = 0             /* End of SRAM */

}
  • 对上述区域的的功能介绍:

int_pflash:
作用: 内部程序闪存(Program Flash),用于存储程序代码。
地址范围: 从0x00400000到0x007B3FFF(4096KB - 176KB)。
备注: 这里减去的176KB可能是用于存储启动引导程序(sBAF)和硬件安全环境(HSE)。

int_dflash:
作用: 内部数据闪存(Data Flash),用于存储初始化数据。
地址范围: 从0x10000000到0x1001FFFF(128KB)。

int_itcm:
作用: 内部指令TCM(Tightly Coupled Memory),用于存储需要快速访问的代码。
地址范围: 从0x00000000到0x0000FFFF(64KB)。

int_dtcm:
作用: 内部数据TCM,用于存储需要快速访问的数据。
地址范围: 从0x20000000到0x2001EFFF(124KB)。

int_stack_dtcm:
作用: 堆栈使用的内部数据TCM,用于存储函数调用时的堆栈信息。
地址范围: 从0x2001F000到0x2001FFFF(4KB)。

int_sram:
作用: 内部静态随机存取存储器(Static RAM),用于存储变量和堆栈。
地址范围: 从0x20400000到0x20433000(184KB)。

int_sram_fls_rsv:
作用: 内部SRAM中保留的一段内存,可能用于特定目的,如闪存模拟。
地址范围: 从0x204330F0到0x204330FF(256字节)。

int_sram_no_cacheable:
作用: 不可缓存的内部SRAM,用于存储需要直接内存访问的数据。
地址范围: 从0x204331F0到0x204430EF(64KB)。

int_sram_results:
作用: 内部SRAM中用于存储结果的区域。
地址范围: 从0x2043FF00到0x2043FFFF(256字节)。

int_sram_shareable:
作用: 可共享的内部SRAM,用于存储多个任务或进程共享的数据。
地址范围: 从0x20440000到0x20443FFF(16KB)。

ram_rsvd2:
作用: 保留的RAM区域,可能用于未来的扩展或特定的硬件需求。
地址范围: 从0x20444000开始,长度未指定。

  • 常见粗略的单片机内存分配:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2162965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PhpStudy | PhpStudy 安装

关注这个软件的其他相关笔记:PhpStudy —— README-CSDN博客 0x01:Windows 系统安装 PhpStudy 附件资源 PhpStudy - CSDN 配套资源:phpstudy_x64_8.1.1.3.zip PhpStudy - 官网地址:小皮面板-好用、安全、稳定的Linux服务器面板&a…

EfficientNet(2019):基于复合缩放的自动化架构搜索高效网络!

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks EfficientNet:重新思考卷积神经网络的模型扩展 论文下载地址: https://arxiv.org/abs/1905.11946 学习笔记参考了这位大佬:https://blog.csdn.net/qq_37541097/ar…

在C#中实现WebSocket的单聊和分频道聊天

在C#中实现WebSocket的单聊和分频道聊天,可以利用System.Net.WebSockets库。以下是如何实现这个功能的具体方案和代码。 方案概述: WebSocket Server: 通过HttpListener或ASP.NET Core来承载WebSocket服务。维护每个客户端的连接&#xff0c…

基于贝叶斯优化CNN-GRU网络的数据分类识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1卷积神经网络(CNN) 4.2 GRU网络 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 优化前: 优化后: 2.算法运行软件版…

Java网络编程、正则表达式、单例设计模式与Lombok

目录 Java网络编程、正则表达式、单例设计模式与Lombok Java网络编程 软件结构 网络基础知识 相关概念 IP地址 TCP协议和UDP协议介绍 TCP协议的三次握手和四次挥手 UDP协议编程 创建客户端 创建服务端 运行 TCP协议编程 创建客户端 创建服务端 运行 文件上传案例 创建客户端 创…

windows C++-同步数据结构与 Windows API

将并发运行时提供的同步数据结构的行为与 Windows API 提供的同步数据结构的行为进行比较。 并发运行时提供的同步数据结构遵循协作线程模型。 在协作线程模型中,同步基元显式将其处理资源传递给其他线程。 这与抢占式线程模型不同,其中处理资源由控制调…

Python | Leetcode Python题解之第434题字符串中的单词数

题目: 题解: class Solution:def countSegments(self, s):segment_count 0for i in range(len(s)):if (i 0 or s[i - 1] ) and s[i] ! :segment_count 1return segment_count

教授【优青】团队亲自指导-图解表观遗传学 | 组蛋白修饰!专业实验设计、数据分析、SCI论文辅助等全方位服务。精准高效,为农植物科研保驾护航!

教授【优青】团队亲自指导!提供专业实验设计、数据分析、SCI论文辅助等全方位服务。精准高效,为医学科研保驾护航! 专业实验外包服务,一站式解决您的所有需求; 还在犹豫?别让您的科研和论文停滞不前&#…

C# Socket 服务端

WPF 项目 引入 Socket using System.Net.Sockets; 声明 Socket 并创建对象等待客户端连接 开启线程等待客户端连接并接收消息 接收消息并解析 发送消息 完整代码

目标检测DOTA数据集

前言 ​ 之前对于xml格式的YOLO数据集,之前记录过如何用imgaug对其进行数据增强。不过DOTA数据集采用的是txt格式的旋转框标注,因此不能直接套用,只能另辟蹊径。 DOTA数据集简介 DOTA数据集全称:Dataset for Object deTection i…

Redis6 多线程模型

优质博文:IT-BLOG-CN 一、单线程的优缺点 对于一个请求操作Redis主要做3件事情:从客户端读取数据/解析、执行Redis命令、回写数据给客户端。所以主线程其实就是把所有操作的这3件事情串行一起执行,因为是基于内存,所以执行速度非…

区间合并算法

区间合并 区间合并就是有两个区间我们把两个区间合并成一个区间 我们来看一道题 Acwing 803 区间合并 1.题目 给定 n nn 个区间 [ l i , r i ] [li,ri][li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个…

C语言 | Leetcode C语言题解之第434题字符串中的单词数

题目&#xff1a; 题解&#xff1a; int countSegments(char * s){int count 0; //count用来记录单词个数for(int i0; i < strlen(s); i){ //遍历字符串 if((i 0 || s[i-1] ) && s[i] ! ) //一个…

C语言_指针(2)

1.指针与数组的关系 1.1 数组名 先看代码&#xff1a; #include <stdio.h> int main() {int arr[10] { 1,2,3,4,5,6,7,8,9,10 };printf("&arr[0] %p\n", &arr[0]);printf("arr %p\n", arr);return 0;}运行结果是这样的&#xff1a; 我…

数据结构 ——— 数组 nums 包含了从 0 到 n 的所有整数,但是其中缺失了一个,请编写代码找出缺失的整数,并且在O(N)时间内完成

目录 题目要求 代码实现 方法1&#xff08;异或法&#xff09;&#xff1a; 异或算法的时间复杂度&#xff1a; 方法2&#xff08;等差数列公式&#xff09;&#xff1a; 等差数列公式的时间复杂度&#xff1a; 题目要求 整型数组 nums 包含了从 0 到 n 的所有整数&…

【有啥问啥】 Self-Play技术:强化学习中的自我进化之道

Self-Play技术&#xff1a;强化学习中的自我进化之道 在人工智能的快速发展中&#xff0c;强化学习&#xff08;Reinforcement Learning, RL&#xff09;已成为推动智能体自主学习与优化的关键力量。Self-Play技术&#xff0c;作为强化学习领域的一项前沿创新&#xff0c;通过…

Java语法-类和对象(上)

1. 面向对象的初步认识 1.1 什么是面向对象 概念: Java是一门纯面向对象的语言(Object Oriented Program&#xff0c;简称OOP)&#xff0c;在面向对象的世界里&#xff0c;一切皆为对象。 1.2 面向对象VS面向过程 如:洗衣服 面向过程: 注重的是洗衣服的过程,少了一个环节也不…

SPSS26统计分析笔记——3 假设检验

1 假设检验原理 假设检验的基本原理源于“小概率事件”原理&#xff0c;是一种基于概率性质的反证法。其核心思想是小概率事件在一次试验中几乎不会发生。检验的过程首先假设原假设 H 0 {H_0} H0​成立&#xff0c;然后通过统计方法分析样本数据。如果样本数据引发了“小概率事…

《数据压缩入门》笔记-Part 2

一篇文章显得略长&#xff0c;本文对应原书6-10章。序言、前言、第1-5章&#xff0c;请参考Part 1&#xff0c;第11-15章&#xff0c;请参考Part 3。 自适应统计编码 位置对熵的重要性 统计编码有一个问题&#xff1a;在编码开始之前都需要遍历一次数据&#xff0c;以计算出…

Linux:八种重定向详解(万字长文警告)

相关阅读Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 本文将讨论Linux中的重定向相关问题&#xff0c;在阅读本文前&#xff0c;强烈建议先学习文件描述符的相关内容Linux&#xff1a;文件描述符详解。 重定向分为两类&#x…