刚刚安装的STVD编译器,编译时候不显示用了多少RAM和ROM?对于此问题,有两个方法:一是看.map文件 另一种是 增加一个补丁,具体操作如下,可以在我的资源里下载相应的文件。
http://download.csdn.net/detail/chuangwu2009/7350127
网上找到的:
1. 将附件压缩包中的mapinfo.exe解压到stvd的安装路径STMicroelectronicsst_toolsetstvd中;
2. 用stvd打开你的工程文件,在工程上点右键选settings...
3. 右侧的选项卡选择Linker,将category的下拉框选成output,然后在Generate Map file前打勾;
4. 再将选项卡上选择到Post-Build,在下方文本框中去掉旧的文本,重新粘贴一行内容“mapinfo $(OutputPath)$(TargetSName).map”;--记得不要加双引号哦
5. 点OK按键确定,菜单File->save workspace,保存工程;
6. 重新编译下,你就能看到flash,ram,eeprom占用字节数了 。
看我的结果:
ram:130 flash:7483 eeprom:0 stack:40
关键字:stvd 编译 STM8S RAM ROM
引用地址:
使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法
推荐阅读最新更新时间:2024-11-08 11:32
STVD下配置Cosmic编译器
之前一直用IAR编写stm8的程序,一直没用上st官方自带的IDE。 后来听说Cosmic编译出来的代码要比IAR优化要好,特此来试一下stvd+Cosmic。 系统环境:w7 x64 配置过程也比较简单 首先下载一个Cosmic for stm8,官方有免费32k的。 然后打开STVD找到Tools- Options 打开后再找到Toolset卡项 选择Cosmic for stm8的安装目录并确定 选好之后会弹出一个警告,直接点确定即可。 就是这样基本设置完成。 接下来创建一个工程验证一下。 新建工程 选择创建工作空间和工程 指定工作空间名称跟位置 工具链选择STM8 C
[单片机]
DDR4内存标准关键属性大公开:电压仅1.2V
JEDEC固态技术协会今天公布了DDR4内存标准中的部分关键属性,并宣布将在2012年年中正式发布新一代内存标准规范,相比于DDR3取得重大性能提升,同时继续降低功耗。 JEDEC固态技术协会宣称,DDR4将具备一系列创新特性,可带来更快的运行速度和广泛的实用性,包括服务器、笔记本、台式机、消费电子产品等等,其频率、电压和架构也都在进行重新定义,目标是简化新标准的迁移和部署。 提议中的路线图显示, DDR4内存的VDDQ电压将设定在仅仅1.2V,并在未来进一步降低VDD电压,此外还会保证I/O电压的稳定。 相比之下,DDR3标准版电压为1.5V,低压版也有1.35V。 DDR4内存每个针脚的数据传输率将达到1.6Gbps,最
[嵌入式]
Keil C编译器常见警告与错误信息解决方法
Keil C编译器常见警告与错误信息解决方法 1. Warning 280: i :unreferenced local variable 说明局部变量i 在函数中未作任何的存取操作解决方法消除函数中i 变量的宣告 2 Warning 206: Music3 :missing function-prototype 说明Music3( )函数未作宣告或未作外部宣告所以无法给其他函数调用 解决方法将叙述void Music3(void)写在程序的最前端作宣告如果是其他文件的函数则要写成extern void Music3(void),即作外部宣告 3 Compling :C:\8051\MANN.C Error:318:ca
[单片机]
51单片机局部变量占用ram的问题
一、问题 自从工作以来基本不使用51或者增强型51之类的单片机。最近调试芯圣HC89S003F4增强型51,移植了32的实用代码,结果发现RAM爆了!!! 二、实践 为了看出问题,我又重新建立了一个简单工程。 #include reg52.h int test(void) { char a ; return 1; } void main(void) { test(); while(1); } 结果a改多大,RAM就加多少。 再看STARTUP.A51文件,发现跟stm32的启动程序不一样,根本没有定义heap堆,stack也是追加在被使用RAM的末尾。 最后看了这个帖子 http://bbs.2
[单片机]
ARM状态和编译器状态统一
整个预编译段就是为了说明要ARM的当前状态和编译器的状态要统一。这是个标准的例子,实际大多数情况不需要。但是上面的config==16只说明你编译器当前在使用的TASM.EXE 但你现在 Thumb-capable ARM processors start in ARM state(注意是MCU的状态和编译器无关)。所以要使两者一致编译出来的代码才能被运行,使用CO DE32 使编译器也处于ARMASM.EXE状态,CO DE16/32只会影响编译器,只有BX会改变processors state.只要两者一致就好 ;Check if tasm.exe(armasm -16 @ADS 1.0) is used. GBLL TH
[单片机]
Spansion携手ISSI开发基于Spansion HyperBus™接口的RAM产品
2014年10月14日,中国北京 —— 全球行业领先的嵌入式市场闪存解决方案创新厂商 Spansion 公司(NYSE:CODE)与先进存储解决方案领导厂商Integrated Silicon Solution公司(NASDAQ:ISSI)今天共同宣布,双方将联手开发基于Spansion HyperBus™接口的HyperRAM™产品,该产品可以极大地改善性能,同时减少引脚数量。根据ISSI所履行的长期供应协议,两家公司有权在市场上销售HyperRAM产品。 芯片组厂商通过将HyperFlash™和HyperRAM部件组合到一条总线上,减少了控制器引脚数量,满足更小型封装尺寸需求并简化PCB设计,还可以替换或减少DRAM
[嵌入式]
STM32 内存分配详解
1、KEIL 编译后数据 code RO-data RW-data ZI-data flash 实际存储数据 2、内存段 bss 段、data段、text段、堆(heap)和栈(stack)。 2.1、bss 段 bss 段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域; bss 是英文Block Started by Symbol的简称; bss 段属于静态内存分配。 2.2、data 段 数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域; 数据段属于静态内存分配。 2.3、text 段 代码段(code seg
[单片机]
一种嵌入式系统的内存分配方案
摘要:实时性、可靠性的要求,使得许多嵌入式应用使用自己的内存管理程序。本文探讨嵌入式系统中对内存管理的要求、存在的问题以及可能的解决策略;介绍一种“一次分配,多次使用”的动态内存分配方法,并给出2个例子。 关键词:嵌入式系统 内存管理 一次分配多次使用 1 嵌入式系统中对内存分配的要求 ①快速性。嵌入式系统中对实时性的保证,要求内存分配过程要尽可能地快。因此在嵌入式系统中,不可能采用通用操作系统中复杂而完善的内存分配策略,一般都采用简单、快速的内存分配方案。当然,对实性要求的程序不同,分配方案也有所不同。例如,VxWorks采用简单的最先匹配如立即聚合方法;VRTX中采用多个固定尺寸的binning方案。 ②可靠性。也就是内存分配的
[嵌入式]