以STM32F103RCT6为例分析单片机的RAM以及ROM使用情况
1.stm32f103rct6的RAM:48k,ROM:256k
2.如果使用了原子的内存管理,在malloc.h中可以设置一片内存为动态内存,程序中用到的数组或为指针开辟内存就可以使用mymalloc,myfree来管理了
//内存参数设定
#define MEM_BLOCK_SIZE 32 //内存块大小为32字节
#define MEM_MAX_SIZE 25*1024 //最大管理内存,一般设置小于48k的90%,如果跑系统还要减去系统占用
#define MEM_ALLOC_TABLE_SIZE MEM_MAX_SIZE/MEM_BLOCK_SIZE //内存表大小
3.如果用了freertos,在FreeRTOSConfig.h中可以设置系统的内存,一般由小往大设置,够用就行,此处设置15k
/***************************************************************************************************************/
/* FreeRTOS与内存申请有关配置选项 */
/***************************************************************************************************************/
#define configSUPPORT_DYNAMIC_ALLOCATION 1 //支持动态内存申请
#define configTOTAL_HEAP_SIZE ((size_t)(15*1024)) //系统所有总的堆大小
4.目前已使用的内存为25+15=40k, 如果程序中不用原子的内存管理,那么定义的数组或使用自带的malloc()函数来分配内存就会消耗剩余的8k内存
5.可以用keil编译程序来查看已使用的RAM及ROM
编译提示:Program Size: Code=26976 RO-data=176724 RW-data=296 ZI-data=60712
RO-data为ROM:172.58k
RW-data+ZI-data为RAM:59.57k 这儿显示的并不一定准确,明显超了48k,主要keil将程序所有的定义都算了进去
当然在工程的.map文件中的最后也有相关定义和keil编译提示的一样
以STM32F103RCT6为例分析单片机的RAM以及ROM使用情况相关推荐
- Keil/MDK(1):查看STM32的RAM和ROM使用情况
目录 一.概述 二.编译结果 三.map文件 一.概述 本文主要记录下keil环境下,分析空间资源使用情况的基本方法. 二.编译结果 使用keil进行编译后,首先会得到如下信息: 其中: Code 表 ...
- android如何获取RAM和ROM使用情况
1.获取ram大小 两种方法: 第一从是从MemoryInfo中获取: private void getRamInfo1(){ActivityManager manager = (ActivityMa ...
- 如何通过8051单片机与片外存储器的连接来解决8051片内RAM和ROM容量不够用的问题
系列文章目录 上期文章回归: <你真的熟悉8051单片机的引脚功能及其使用吗?> 提示:读本文前可先阅读上期文章回归下51单片机的引脚,以便更好的阅读本文. 文章目录 系列文章目录 前言 ...
- 51单片机C语言程序100例分析(1)IO+C语言+头文件
51单片机C语言程序100例分析(1)IO+C语言+头文件 \\\插播一条:文章末尾有惊喜哟~/// P1=0xfe;//P1=11111110B,即P1.0输出低电平} 分析:通过这短短的几行代码 ...
- RAM测试方法 C语言实现,有哪些常用单片机系统RAM测试方法?基于种子和逐位倒转的RAM故障测试法有什么优点?...
在各种单片机应用系统中, 存储 器的正常与否直接关系到该系统的正常工作.为了提高系统的可靠性,对系统的可靠性进行 测试 是十分必要的.通过 测试 可以有效地发现并解决因 存储 器发生故障对系统带来的破 ...
- 关于谷歌浏览器主页被篡改无法修正的样例分析与解决方案
关于谷歌浏览器主页被篡改无法修正的样例分析与解决方案 首先写在前面,浏览器被修改主页的情况很多,此次分析的仅为一个样例且给出解决的方法.本文主要提供自身经历和解决的思路,因为水平有限,无法给出专业化的 ...
- stella forum v1.2 用例分析
最近一直在看<uml与模式应用>,想把里面的ooa/d思想应用到下一版的stella forum中,按照里面统一过程的思想,先要做用例分析,嘿嘿,于是就有了下面这个昨天写的用户的帖子操作的 ...
- Makefile 实际用例分析(一) ------- 比较通用的一种架构
这里不再说Makefile的基本知识,如果需要学习,那么请参考: 下载:makefile 中文手册 或者 点击打开链接 或者 跟我一起写Makefile( 陈皓 ) 这里说的是一般的实际的一个工程应该 ...
- 基于STM32分析栈、堆、全局区、常量区、代码区、RAM、ROM
目录 总体介绍 栈区(stack) 堆区(heap) 全局区(静态区) .bss段 .data段 常量区 代码区 RAM和ROM.Flash Memory的物理特性 RAM ROM Flash Mem ...
最新文章
- false shell 判断_Shell 流程控制
- Linux删除整行命令
- boost::mp11::mp_copy_if_q相关用法的测试程序
- libaio.so.1 mysql_libaio.so.1()(64bit) is needed by MySQL-server
- CWnd与HWND的区别与转换
- 前端界面请假管理java_小程序新请假界面
- 使用AppFabric 承载WCF和WF服务-安装和使用
- 数据科学 IPython 笔记本 9.2 NumPy 简介
- 交换机tftp服务器修改ip,华为交换机tftp服务器地址
- 有趣的 Mysql 存储引擎 1
- kaggle案例:数据科学社区调查报告(附学习视频)
- 简析Windows Linux的内核映射
- 如何用iso文件制作U盘启动
- 计算机通信技术【计算机网络】学习
- Python函数不定长参数之*args与**kwargs
- 微信小程序调用扫码功能
- html加密文件怎么解密,如何取消文件的加密保护,如何解密?
- 苹果mac系统隐藏文件的显示和取消显示
- 软考是什么?软考有什么作用?
- TexturePacker的用法