KEIL查看ARM-Cortex M架构soc的内核寄存器之 MSP

参考下图stm32l475的参考手册:

MSP指向地址基地址为0x20000000的内存处。参考STM32L475的memory map可知MSP指向的是SRAM的一块地址。并且由上面的编译信息可知,偏移量是0x480, 正好等于 RW-data + ZI-data 的值。
参考下图的内存模型:

可知MSP指向的是内存中bss段的最上方。
影响ZI-data值的因素:

影响ZI-data值的因素:
一是Stack_Size的值; 注意,Stack_Size增加1,ZI-data会增加4,因为当前是32位处理器。
二是Heap_Size的值(这个有前提条件:必须在程序中确确实实使用了malloc,否则会被编译器优化,不会把单片机启动汇编文件设置的Heap_Size计算入ZI-data。在上图中,程序中不使用malloc,ZI-data的值是1192。使用malloc申请了10个int对应的内存后,ZI-data多占用了512字节的内存空间。 这512字节的内存空间恰好就是我们设置的0x200大小的Heap_Size。)
其他验证渠道:


KEIL查看ARM-Cortex M架构soc的内核寄存器之 MSP的更多相关文章
- ARM Cortex M3(V7-M架构)硬件启动程序 二
解析 STM32 的启动过程 解析STM32的启动过程 当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择.如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main ...
- swddude -- A SWD programmer for ARM Cortex microcontrollers.
Introducing swddude I love the ARM Cortex-M series of microcontrollers. The sheer computational po ...
- ARM和X86架构
重温下CPU是什么 中央处理单元(CPU)主要由运算器.控制器.寄存器三部分组成.运算器起着运算的作用,控制器负责发出CPU每条指令所需要的信息,寄存器保存运算或者指令的一些临时文件以保证更高的速度. ...
- arm cpu的架构及分类说明
今天在编译mplayer for mx27ads的时候, 碰到了armv5te与armv6优化的问题. 默认的交叉编译器支持armv5te也支持armv6,就默认使用了mplayer中mpeg4的ar ...
- 【ARM-Linux开发】ARM7 ARM9 ARM Cortex M3 M4 有什么区别
ARM7 ARM9 ARM Cortex M3 M4 区别 arm7 arm9 可以类比386和奔腾, 不同代,arm9相比arm7指令集和性能都有所增强,arm7和arm9都有带mmu和无mmu的版 ...
- 灵动微电子ARM Cortex M0 MM32F0010 UART1和UART2中断接收数据
灵动微电子ARM Cortex M0 MM32F0010 UART1和UART2中断接收数据 目录: 1.MM32F0010UART简介 2.MM32F0010UART特性 3.MM32F0010使用 ...
- 灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置
灵动微电子ARM Cortex M0 MM32F0010 Timer定时器中断定时功能的配置 目录: 1.Timer1高级定时器Timer3通用定时器Timer14基本定时器简介 2.Timer1高级 ...
- 灵动微电子ARM Cortex M0 MM32F0010 GPIO 的配置驱动LED灯
灵动微电子ARM Cortex M0 MM32F0010 GPIO的配置 目录: 1.前言 2.学习方法简要说明 3.要点提示 4.注意事项 5.MM32F0010系统时钟的配置 6.MM32F001 ...
- 转载:Source Insight查看ARM汇编源程序 && 高亮显示程序 && Source Insight打开project窗口出错
(1)Source Insight查看ARM汇编源程序.做ARM嵌入式开发时,有时得整汇编代码,但在SIS里建立PROJECT并ADD TREE的时候,根据默认设置并不会把该TREE里面所有汇编文件都 ...
随机推荐
- python爬虫-贴吧
#!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 15:33# 文件 :spider_03.py# IDE :PyChar ...
- 一篇文章高效定位iframe
今天跟大家分享的是如何高效的定位iframe.我们来看一段最早的代码: # coding: utf-8from selenium import webdriverfrom time import sl ...
- oracle备份之恢复管理目录
一.管理恢复目录 #现实应用中一般都是专门新建一个rman 数据库,给所有的数据库做catalog1.建立恢复目录 #建立恢复目录表空间SQL> create tablespace rman_t ...
- 【Android】Android开发启动app弹出一张广告图片,Dialog可以查看大图,查看某个图片功能
作者:程序员小冰,GitHub主页:https://github.com/QQ986945193 新浪微博:http://weibo.com/mcxiaobing 首先给大家看一下我们今天这个最终实现 ...
- android studio 如何进行格式化代码 快捷键必备
在Eclipse中,我们一般使用Ctrl+Shift+F来格式化代码,Android Studio中需要换成: Reformat code CTRL + ALT + L (Win) OPTION + ...
- 02.Flink的单机wordcount、集群安装
一.单机安装 1.准备安装包 将源码编译出的安装包拷贝出来(编译请参照上一篇01.Flink笔记-编译.部署)或者在Flink官网下载bin包 2.配置 前置:jdk1.8+ 修改配置文件flink- ...
- HDU-多校2-Everything Is Generated In Equal Probability(公式+逆元)
Problem Description One day, Y_UME got an integer N and an interesting program which is shown below: ...
- P1004 方格取数(四维动态规划)
题目描述 设有N \times NN×N的方格图(N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A 0 0 0 0 0 0 0 0 ...
- 深入Spring Security-获取认证机制核心原理讲解
文/朱季谦 本文基于Springboot+Vue+Spring Security框架而写的原创笔记,demo代码参考<Spring Boot+Spring Cloud+Vue+Element项目 ...
- 线上环境去除console
npm i -D babel-plugin-transform-remove-console babel.config.js // 获取 VUE_APP_ENV 非 NODE_ENV,测试环境依然 c ...