新聞中心

IAR編譯器的常見問題

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
最近因?yàn)轫?xiàng)目需要開始使用IAR for AVR,我用的是5.40版本的,主要是5.40以上才包括了aTtiny87,至于安裝文件和和諧文件,大家自己找吧,很好找的。

本文引用地址:http://butianyuan.cn/article/201611/323854.htm

1.編譯報(bào)錯(cuò)如圖所示:

很顯然你沒有使能寄存器的位定義。方法如下:Project ——> Option ——> General Options ——> System(如下圖所示),勾選

Enable bit definitions in I/O-Include files即可

2.MCU型號(hào)選擇

如果和我一樣都次都是以空工程創(chuàng)建的話,不過忘了第一步先進(jìn)Project ——> Option ——> General Options ——> Target選擇所使用的MCU型號(hào),不然編譯免不了要報(bào)錯(cuò),如下圖所示。

3. 堆棧大小

今天下午編譯一個(gè)程序,0錯(cuò)誤0警告,挺好,可一運(yùn)行就跑飛,根本不能正常運(yùn)行。

其實(shí)是我沒有正常設(shè)置堆棧大小導(dǎo)致的這種問題,尤其是在寫大工程時(shí),這種錯(cuò)誤出現(xiàn)的概率很高。GCC和IAR分配堆棧的方式不同,IAR先分配堆??臻g,相當(dāng)于定義一個(gè)全局?jǐn)?shù)組為堆??臻g,堆棧初始為堆??臻g最高地址;GCC不用先分配堆棧,自動(dòng)把RAM剩余空間作為堆棧空間,堆棧初始為RAM最高地址。


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

關(guān)鍵詞: IAR編譯

評(píng)論


技術(shù)專區(qū)

關(guān)閉