如何通过STVD编译器看自己的代码量

如何通过STVD编译器看自己的代码量,第1张

下载一个小工具

1、把解开后的size.exe复制到COSMIC\CXSTM8文件夹,就是你的COSMIC编译工具里有cpstm8.exe的那个文件夹。

2、在SVTD的Project->settings中打开Post-Build选项卡,在commands的最后一行加入:size $(OutputPath)$(TargetSName).map

3、保存返回,编迟唯译试试,最后会出现如:Program Size: Code=12470 Eeprom=0 ZeroPage=227 Ram=180 的结果。

思路:

打开map文件,统计各段的郑旦改长度,然后输出。

主要代码:

static void Main(string[] args)

{

StreamReader sr = new StreamReader(args[0])

string[] s

char[] charSeparators = new char[] { ' '喊判 }

int code_size = 0

int zeropage_size = 0

int ram_size = 0

int eeprom_size = 0

for (int i = 0i <8i++)

{

string s1 = sr.ReadLine()

}

while (true)

{

string s1 = sr.ReadLine()

s = s1.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries)

if(s.Length == 0)

{

break

}

else if (s[7] == ".text" || s[7] == ".const" || s[7] == ".init")

{

code_size += int.Parse(s[5])

}

else if (s[7] == ".eeprom")

{

eeprom_size += int.Parse(s[5])

}

else if (s[7] == ".bsct," &&s[8] == "initialized")

{

zeropage_size += int.Parse(s[5])

}

else if (s[7] == ".ubsct" || s[7] == ".share")

{

zeropage_size += int.Parse(s[5])

}

else if (s[7] == ".data," &&s[8] == "initialized")

{

ram_size += int.Parse(s[5])

}

else if (s[7] == ".bss")

{

ram_size += int.Parse(s[5])

}

}

Console.WriteLine(" ")

// Program Size: Code=5056 RO-data=288 RW-data=68 ZI-data=1140

Console.WriteLine("Program Size: Code=" + code_size.ToString() + " Eeprom=" + eeprom_size.ToString() + " ZeroPage=" + zeropage_size.ToString() + " Ram=" + ram_size.ToString())

Mapgis打开。

MAP文件是CCS软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。

MAP文件主要有两种生成方法,一种是由系统自动生成,默认文件名为所建立的项目名(如XXX为项目名)加上.map后缀xxx.map,另一种在CMD文件中指定生成MAP文件, *** 作方法为在MEMORY指令前面加上“源差数-m abc.map”,文件名可以任意。

扩展资料:

MAP文件大概分为文件头、内存配置、段映射、全局符号四部分。内存配置与CMD文件中的MEMORY指令关联,在CMD文件中定义的程序与数据区间定义,在该部分均可以找到对应,与CMD文件不同的时雹首,在MAP文件中加入了一个实际使用的区间,即在程序中实际用到的空间长度。

段映射部分与CMD文件中的SECTION指令关联,在该部分程序中所有的段实际映射的起始地址与实庆晌际长度均有详细说明。可以具体到程序中PROGMA指定的段和各个单独文件产生的OBJ文件。

全局符号可以是程序使用的每一个函数、程序中定义的全局变量均可以在此找到对应的起始地址。MAP文件中采用两种方式列举,一种为按相应地址排列,另一种按全局符号字母排列。

1、将附件压缩包中的mapinfo.exe解压并解压到stvd的\安装路径\STMicroelectronics\st_toolset\好运橡stvd中 2、 用友旁stvd打开你的工程文件,在工程上点右键选settings... 3、 右侧的选项卡选择Linker,将category的下悄辩拉框选成output,然后在Generate Map f


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12173893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存