西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

CXSTM8編程工具

綠色版
  • CXSTM8編程工具綠色版
  • 軟件大小:8.2M
  • 更新時(shí)間:2013-05-03 16:08
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 編程工具
  • 軟件等級(jí):4級(jí)
  • 應(yīng)用平臺(tái):WinAll, WinXP
  • 官方網(wǎng)站:暫無
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

隨手寫的代碼,不完全測(cè)試,不保證好用,歡迎反饋。 使用C#寫的,要.net 2.0。歡迎感興趣的用其他語言改寫。

使用:


1、把解開后的size.exe復(fù)制到COSMIC\CXSTM8文件夾,就是你的COSMIC編譯工具里有cpstm8.exe的那個(gè)文件夾。
2、在SVTD的Project->settings中打開Post-Build選項(xiàng)卡,在commands的最后一行加入:size $(OutputPath)$(TargetSName).map
3、保存返回,編譯試試,最后會(huì)出現(xiàn)如:Program Size: Code=12470 Eeprom=0 ZeroPage=227 Ram=180 的結(jié)果。

思路:


打開map文件,統(tǒng)計(jì)各段的長(zhǎng)度,然后輸出。

主要代碼:

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 = 0; i < 8; i++)
{
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());
}
軟件標(biāo)簽: 編程工具

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載