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。
对应的启动文件也不一样 这个代码不是直接兼容的吗? 移植printf性能不错。 IAR挺好用的,编译速度快。 这个移植还有问题吗? 最近都是使用的keil开发的代码。 iar很多的设置跟keil不一样的。 只需要在IAR新建工程,把Keil中的那个.C源程序复制过来,在IAR重新生成各种工程文件 keil和iar什么时候能兼容呢? Keil中的工程移植到IAR中需要做哪些修改? 推荐用IAR ,IAR在各方面都比KEIL做的要好。 不需要把整个工程移过来,只需要在IAR新建工程,把Keil中的那个.C源程序复制过来,在IAR重新生成各种工程文件即可 Keil MDK 和 IAR 两款ARM开发工具哪个比较好? IAR和KEIL只是编译环境和编译器的区别,只要程序本身没问题,移植没什么大问题。 KEIL在大工程的优化效果低于IAR.KEIL在编译速度上低于IAR。 这个库都互相兼容的。 移植printf有什么需要注意的》? 这个可以把printf用在lcd上吗? 据说IAR开发arm比keil方便?
页:
[1]
2