当前位置:首页 » 编程软件 » IAR预编译选项怎么设置

IAR预编译选项怎么设置

发布时间: 2022-07-29 00:40:40

⑴ IAR for STM8 编译选项 Target 里 code small 什么意思

这个选项会影响编译产生的代码大小,主要是寻址空间的不同。可参考www.amobbs.com/thread-5616110-1-1.html

⑵ 如何用IAR设置程序的基本属性

用IAR建立完一个新的工程后,需要对工程选项的参数进行设置,具体步骤如下:
选择 Project 菜单下的Options 配置与 CC2430 相关的选项。(快捷键Alt+F7)
1、General
Options选项,按下图配置Target标签,选择Code model 和Data model,以及其它参数。
a、单击 Derivative information 栏右边的按钮,
选择程序安装位置如这里是IARSystems\EmbeddedWorkbench4.05 Evaluation
version\8051\config\derivatives\chip-con 下的文件CC2430.i51。
b、Data Pointer 标签,如下图所示,选择数据指针数1 个,16 位。
c、Stack/Heap 标签,如图下图所示,改变XDATA 栈大小到0x1FF。
2、单击 Options 中右边框架内的Linker 选项,配置相关的选项。
a、Output 标签,选中 Override default 可以在下面的文本框中更改输出文件名。如果要用 C-SPY
进行
调试,选中 format 下面的 Debug information for C-SPY
b、Config 标签,如下图所示,单击 Linker command file
栏文本框右边的按钮,选择正确的连接命令文
件,如表所示。
3、单击Options 中右边框架内的Debugger 选项,配置相关的选项。在Setup 标签按下图所示设置。
在 Device Description file 选择CC2430.ddf 文件,其位置在程序安装文件夹下如
C:\Program Files\IAR Systems\Embedded Workbench 4.05 Evaluation
version\8051\
Config\derivatives\chipcon 。
最后按下“ok”保存设置。
4、便于记忆,总结下:3+2+1=OK
General Options选项:Target标签、Data Pointer 标签、Stack/Heap
标签;(3个)
Linker 选项:Output 标签、Config 标签;(2个)
Debugger 选项:Setup 标签;(1个)
OK了!

⑶ iar 如何配置项目 选择文件

用IAR建立完一个新的工程后,需要对工程选项的参数进行设置,具体步骤如下:

选择 Project 菜单下的Options 配置与 CC2430 相关的选项。(快捷键Alt+F7)

1、General
Options选项,按下图配置Target标签,选择Code model 和Data model,以及其它参数。

a、单击 Derivative information 栏右边的按钮,
选择程序安装位置如这里是IARSystems\EmbeddedWorkbench4.05 Evaluation
version\8051\config\derivatives\chip-con 下的文件CC2430.i51。

b、Data Pointer 标签,如下图所示,选择数据指针数1 个,16 位。

c、Stack/Heap 标签,如图下图所示,改变XDATA 栈大小到0x1FF。

2、单击 Options 中右边框架内的Linker 选项,配置相关的选项。

a、Output 标签,选中 Override default 可以在下面的文本框中更改输出文件名。如果要用 C-SPY
进行

调试,选中 format 下面的 Debug information for C-SPY

b、Config 标签,如下图所示,单击 Linker command file
栏文本框右边的按钮,选择正确的连接命令文

件,如表所示。

3、单击Options 中右边框架内的Debugger 选项,配置相关的选项。在Setup 标签按下图所示设置。

在 Device Description file 选择CC2430.ddf 文件,其位置在程序安装文件夹下如

C:\Program Files\IAR Systems\Embedded Workbench 4.05 Evaluation
version\8051\

Config\derivatives\chipcon 。

最后按下“ok”保存设置。

4、便于记忆,总结下:3+2+1=OK

General Options选项:Target标签、Data Pointer 标签、Stack/Heap
标签;(3个)

Linker 选项:Output 标签、Config 标签;(2个)

Debugger 选项:Setup 标签;(1个)

OK了!

⑷ 用IAR FOR AVR编译ATMEGA128A时必须要把STACK区设置为0才能通过编译

你用的是什么版本的?我看了4.12和5.11B都没有128A

另外STACK又分CSTACK和RSTACK,如果设为0,系统根本不可能工作

如果像你说的设为0才能编译不报错,否则会报错,那报的错是什么?

如果像你说的设为0才能编译不报错,否则会报错,你检查下是不是定义了太多变量,导致RAM不够了。

⑸ 用iar新建工程编译选项设置

主要是没有把包含的路径加进工程,可以这样操作: 1.打开工程,在工程名上右键,选择“Options。。。。”项; 2. 选择“C/C++ Compiler”菜单; 3. 在右边的选项中选择“Preprocessor”; 4. 在“Additional include directories:”下面查看路径。 把你...

⑹ 怎么设置IAR 编译快一点

主要是没有把包含的路径加进工程,可以这样操作:
1.打开工程,在工程名上右键,选择“Options。”项;
2. 选择“C/C++ Compiler”菜单;
3. 在右边的选项中选择“Preprocessor”;
4. 在“Additional include directories:”下面查看路径。
把你的路径加入进去,编译应该就可以通过了。

⑺ 用iar新建工程编译选项设置

error[cp001]:

protection
check,
no
valid
license
found
for
this
prod
t
[20]
原因:安装的时候没有把注册机的0x.....字串的小写字母改为大写字母。
warning[pe001]:
last
line
of
file
ends
without
a
newline
f:\emotion\iar\pk
升级\cc1110-8\main.c
原因:在使用iar时常常会弹出类似这样一个警告,其实只要在最后一行多加一个回车就不会再有这个警告了.
error[e72]:
segment
bank_relays
must
be
defined
in
a
segment
definition
option
(-z,
-b
or
-p)
原因:这是用730b编译的错误,可能是由于相对于目标工程版本过高的,后改用720h,没有发生错误。
error[pe005]:
could
not
open
source
file
"stdio.h"
原因:头文件路径不对造成,改正的方法是在设置选项卡的c/c++
compiler
->
preprocessor选项里,将$toolkit_dir$\inc\clib\添到incl?
paths中。

⑻ DOS下面 如何用IAR编译程序

第一种编译方法( 编译直接生成class 文件,执行需先创建包的路径)
假设当前目录为/src/java/ ,则编译命令为:
javac HelloWorld.java

假设当前目录为/src/ ,则编译命令为:
javac /src/java/HelloWorld.java
或者使用相对路径:
javac java/HelloWorld.java

执行完该命令后, 在/src/java/ 目录下生成一个HelloWorld.class 文件。执行文件(在java 目录下新建目录a ,在a 目录下新建目录b 将HelloWorld.class 至于b 目录下;执行java a.b.HelloWorld ),必须要按照包的结构先创建目录。

第二种编译方法( 编译直接生成包的路径)
假设当前目录为/src/java/ ,则编译命令为:
javac -d . HelloWorld.java
说明:"." 为指定编译路径为当前目录;生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。

javac -d c/d HelloWorld.java
说明:c/d 为指定编译路径为/src/java/c/d ,同样也可以写成绝对路径如javac -d d:/ HelloWorld.java ,前提是路径必须先存在;生成的HelloWorld.class 所有目录为/src/java/c/d/a/b /HelloWorld.class 。

假设当前目录为/src/ ,则编译命令为:
javac -d . java/HelloWorld.java
说明:生成的HelloWorld.class 所有目录为/src/a/b/HelloWorld.class 。

javac -d java/c/d java/HelloWorld.java
说明:生成的HelloWorld.class 所有目录为/src/java/a/b/HelloWorld.class 。

第三种编译方法(先把源文件按照包结构放到指定的目录中,然后执行编译命令)
假设当前目录为/src/java/,先在目录中创建目录/a/b,然后编译命令:
javac a/b/HelloWorld.java

下面总结一下对于带包的类进行编译和执行时的一些要点:
1、编译时可以不考虑包结构的问题,不论用哪种方法,其实本质都是一样的,只需要让javac命令找到所需要编译的原文件(*.java)即可。编译时可以用相对或者绝对路径来为javac命令提供源文件的位置信息。

2、初学者易混淆classpath的作用,对于java命令的-cp选项和javac命令的-classpath选项,以及配置环境变量时的 CLASSPATH.其作用是不变的:都是指定所需要的class文件的位置。所不同的是,执行javac编译时的-classpath选项用于指定被编译的源文件需要调用另外的用户自定义类的位置.。执行java命令是根据classpath来寻找所需要执行的class文件的位置;而javac命令不能根据classpath来找源文件,只能根据classpath来寻找所需要用到的类。

下面举例来说明该问题:
假设以下代码(位置:/src/java/code/a/b/TestT.java):
package a.b;
import c.d.T;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
}
}
package a.b;
import c.d.T;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
}
}
引入的文件(位置:/src/java/code/tmp/c/d/T.java)
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}
假设现在编译两个文件(目录:/src/java/),则编译命令为:javac -classpath code/tmp code/a/b/TestT.java 执行命令为:java -cp code;code/tmp a/b/TestT

如果当前目录为:/src/java/code/,则编译命令为:javac -classpath tmp a/b/TestT.java执行命令为:java -cp .;tmp a/b/TestT

假设现在编译不同磁盘的三个文件(目录:e:/src/java/),则编译命令为:
假设以下代码(位置:e:/src/java/code/a/b/TestT.java):
view plain to clipboardprint?
package a.b;
import c.d.T;
import e.f.T1;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
T1 t1 = new T1();
t1.p();
}
}

package a.b;
import c.d.T;
import e.f.T1;
public class TestT {
public static void main(String[] args) {
T t = new T();
t.p();
T1 t1 = new T1();
t1.p();
}
}
引入的文件1(位置:d:/java/code/tmp/c/d/T.java)

view plain to clipboardprint?
package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}

package c.d;
public class T {
public void p(){
System.out.println("class:T");
}
}

引入的文件2(位置:c:/code/tmp/e/f/T1.java)
view plain to clipboardprint?
package e.f;
public class T1 {
public void p(){
System.out.println("class:T1");
}
}

package e.f;
public class T1 {
public void p(){
System.out.println("class:T1");
}
}
如果当前目录为:e:/src/java/
编译命令为:javac -classpath d:/java/code/tmp;c:/code/tmp code/a/b/TestT.java
执行命令为:java -cp code;d:/java/code/tmp;c:/code/tmp a/b/TestT

说明:javac命令中的classpath必须指定引入类的路径;同样java命令中的cp必须引入引入类的class的路径也需指定执行类的路径

实例:
package test;
enum T{
HELLO,WORLD,HAA;
}

package test;
import static test.T.*;
public class A {
private T t;

public A(T t){
this.t = t;
}

public static void main(String[] args){
System.out.println(new A(HELLO));
System.out.println(new A(HAA));
}

@Override
public String toString(){
return this.t + " ";
}
}

编译命令:javac -d . T.java
javac -d . A.java

执行命令: java test.A

热点内容
o2o与数据库设计 发布:2025-02-07 11:35:27 浏览:926
ftp服务器推荐 发布:2025-02-07 11:35:16 浏览:698
吉利星瑞豪华加6000是有哪些配置 发布:2025-02-07 11:25:18 浏览:971
李字加工编程 发布:2025-02-07 11:23:50 浏览:880
linux安全运维 发布:2025-02-07 11:14:19 浏览:737
阿里云集群服务器 发布:2025-02-07 11:12:38 浏览:453
如何选择家庭最佳配置 发布:2025-02-07 11:06:50 浏览:89
javatomcat服务器搭建服务器 发布:2025-02-07 10:55:22 浏览:624
vcenter存储器集群 发布:2025-02-07 10:54:31 浏览:585
咖啡的脚本 发布:2025-02-07 10:46:18 浏览:523