咿呀咿呀哟rui 发表于 2022-12-7 09:42

keil移植IAR部分注意点说明

1、IAR中需要重新配置以实现打印的功能,步骤如下:1、项目Options->C/C++ Complier->Preprocessor->Defined symbols添加:_DLIB_FILE_DESCRIPTOR(用于支持FILE类型的宏定义)2、项目Options->General Options->Library Configuration->Library中修改Normal为FULL,获取完整C库支持。
2、启动文件和分散加载
【1】分散加载修改注意1、中断向量表(Vector Table)地址2、存储地址分配3、堆(Heap Size)和栈(Stack Size)4、define memory mem with size = 【2】启动文件修改注意1、EXTERN__iar_program_start; // IAR程序暴露的入口地址名称2、EXTERNSystemInit; // 系统初始化时调用的地址,此次的启动文件直接设置了地址。3、PUBLIC__vector_table    ; // 中断向量表地址   4、;;Defaultinterrupt handlers. ; // 定义默认的中断函数,这里只是弱定义,可以被用户自己定义的中断向量函数覆盖。
3、指定函数位置
IAR在指定函数位置时,通过在要指定的函数后加__attribute__((section(“.testsection”)));(此处同keil)同时在.icf中加入以下内容,定义此函数在哪个地址区间内:define region irom_testData_region =mem:;place in irom_testData_region {readonlysection .testsection };keep {section .testsection};注意:keep不能少,否则编译优化有时会优化掉。
4、如要看输出编译后的代码/数据占用的内存大小。需在tool->option->Messages下的show build message中选择all。










weifeng90 发表于 2022-12-7 17:27

对应的启动文件也不一样

lzbf 发表于 2023-1-9 09:21

这个代码不是直接兼容的吗?            

minzisc 发表于 2023-1-9 12:18

移植printf性能不错。            

chenjun89 发表于 2023-1-11 19:35

IAR挺好用的,编译速度快。

dspmana 发表于 2023-2-4 18:45

这个移植还有问题吗?            

1988020566 发表于 2023-2-4 20:49

最近都是使用的keil开发的代码。

jonas222 发表于 2023-2-4 21:19

iar很多的设置跟keil不一样的。

geraldbetty 发表于 2023-2-4 21:40

只需要在IAR新建工程,把Keil中的那个.C源程序复制过来,在IAR重新生成各种工程文件

youtome 发表于 2023-2-5 13:43

keil和iar什么时候能兼容呢?

elsaflower 发表于 2023-2-6 13:25

Keil中的工程移植到IAR中需要做哪些修改?

eefas 发表于 2023-2-6 16:39

推荐用IAR ,IAR在各方面都比KEIL做的要好。

kkzz 发表于 2023-2-7 19:55

不需要把整个工程移过来,只需要在IAR新建工程,把Keil中的那个.C源程序复制过来,在IAR重新生成各种工程文件即可

qiufengsd 发表于 2023-2-7 20:01

Keil MDK 和 IAR 两款ARM开发工具哪个比较好?

houjiakai 发表于 2023-2-7 20:25

IAR和KEIL只是编译环境和编译器的区别,只要程序本身没问题,移植没什么大问题。

plsbackup 发表于 2023-2-7 20:42

KEIL在大工程的优化效果低于IAR.KEIL在编译速度上低于IAR。

sdlls 发表于 2023-2-7 21:44

这个库都互相兼容的。            

wilhelmina2 发表于 2023-2-7 21:58

移植printf有什么需要注意的》?

pmp 发表于 2023-2-8 12:37

这个可以把printf用在lcd上吗?

sdCAD 发表于 2023-2-8 13:29

据说IAR开发arm比keil方便?
页: [1] 2
查看完整版本: keil移植IAR部分注意点说明