色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 八位微控制器的代碼優(yōu)化技巧

          八位微控制器的代碼優(yōu)化技巧

          作者: 時(shí)間:2011-02-10 來(lái)源:網(wǎng)絡(luò) 收藏

          本文將介紹一些優(yōu)化技術(shù),幫助設(shè)計(jì)人員節(jié)約多達(dá) 10% 的代碼空間,從而讓容量有限的程序存儲(chǔ)器支持更多新特性和補(bǔ)丁。

          本文引用地址:http://cafeforensic.com/article/151041.htm

          良好的操作方法

          許多程序員在 32 位處理器上學(xué)習(xí)編寫(xiě)軟件,如 Intel 的 Pentium 處理器或某種 ARM 平臺(tái)。不過(guò),嵌入式領(lǐng)域的軟件編寫(xiě)需要不同的思路。在 32 位 CPU 上,存儲(chǔ)比特位的最佳方法通常是使用 32 位變量。對(duì) 8 位處理器而言,最好的辦法就是采用單字節(jié)。像增強(qiáng)型 8051s 等某些處理器可能提供特殊的 1 位變量。

          嵌入式處理器通常會(huì)超出標(biāo)準(zhǔn)的哈佛架構(gòu)將存儲(chǔ)器分散到不同的存儲(chǔ)器空間中,有的相互重疊,有的又是相互分離。例如,8051 中常見(jiàn)的存儲(chǔ)器空間包括 CODE、XDATA、DATA、IDATA、BIT 以及寄存器等。當(dāng)要決定在何處存放變量時(shí),了解每個(gè)存儲(chǔ)器空間的優(yōu)缺點(diǎn)顯得非常重要,特別是在各個(gè)存儲(chǔ)空間的容量都有限時(shí)更是如此。例如,IDATA 空間可能只能運(yùn)行 256 個(gè)字節(jié),不過(guò)它為間接存取進(jìn)行了優(yōu)化。雖然 DATA 空間也只能運(yùn)行 256 個(gè)字節(jié),但它包括了 位可尋址空間和寄存器。盡管 CODE 和 XDATA 只能通過(guò)慢速間接存取機(jī)制進(jìn)行訪(fǎng)問(wèn),但它們的尋址空間卻高達(dá) 64K。

          許多 8 位 CPU 的編譯器包含了很多優(yōu)化程序,不過(guò),這些優(yōu)化程序都有其局限性。如果可以,應(yīng)該盡可能簡(jiǎn)化表達(dá)。例如下面這段代碼:

          X = a * CONSTANT1;

          X *= CONSTANT2;

          通常要比下述代碼多占空間:

          X = a * CONSTANT1* CONSTANT2;

          因?yàn)榫幾g器能將兩個(gè)常量合并為一個(gè)。

          優(yōu)化——三思而后行

          經(jīng)驗(yàn)豐富的木匠都知道做事應(yīng)該事先作好計(jì)劃,三思而后行。嵌入式固件工程師也應(yīng)該遵循這一原則。所有嵌入式編譯器都提供了一個(gè)可給出有用信息映射文件。如圖 1 所示,該映射文件提供了本文所用代碼示例的有用信息。圖中所示的庫(kù) (LIB_CODE) 使用的空間超過(guò)了 1K,而且啟動(dòng)代碼 (c51startup) 使用的代碼超過(guò)了 140 字節(jié)。

          8位微控制器的代碼優(yōu)化竅門(mén)

          進(jìn)行優(yōu)化的另一原因是可以節(jié)約時(shí)間。在優(yōu)化之前,衡量程序的性能尤為重要。顯而易見(jiàn),如果源文件過(guò)大,肯定會(huì)占用大量的存儲(chǔ)器空間,但我們很難測(cè)定代碼的哪些關(guān)鍵部分在消耗寶貴的 MIPS。在此過(guò)程中,我們可將程序概要分析 (Profiling) 作為一個(gè)重要的工具來(lái)加以利用。

          我們可利用未使用的單一輸出引腳來(lái)進(jìn)行程序概要分析,不過(guò)輸出引腳越多,分析也就越容易。我們可創(chuàng)建一個(gè)宏來(lái)設(shè)置程序概要分析輸出,如下所示,再將宏放在每個(gè)例程的起點(diǎn)和終點(diǎn)處。

          8位微控制器的代碼優(yōu)化竅門(mén)

          了解支付情況

          8位微控制器的代碼優(yōu)化竅門(mén)


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉