icc到iar移植日志
来源:互联网 发布:mac切换大写字母 编辑:程序博客网 时间:2024/06/10 16:34
注意IAR中对unsigned char和signed char的比较同样都是1但是IAR认为这不相等
引用amobbs以为网友的总结
1、包含文件修改
新建一个 Workspace 文件和 Project 文件,移除默认建立的 main.c 文件,将
ICC 下的 C 语言文件添加进来
<iom128v.h> 改为<iom128.v>;
去除<macros.h>和<eeprom.h>;
2、中断函数定义修改
原为:
#pragma interrupt_handler TIMER3_OVF_ISR: 30
void TIMER3_OVF_ISR(void)
{
}
修改后为
#pragma vector=TIMER3_OVF_vect
__interrupt void TIMER3_OVF_ISR(void)
3、存储到 flash 中的常量定义修改
原为: const uchar item9[3]={5,6,50};
修改后为: __flash uchar item9[3]={5,6,50};
原为: void w_hzstr(uchar colum4,uchar page4,const uchar *str1)
修改后为: w_hzstr(uchar colum4,uchar page4, uchar __flash* str1)
4、eeprom 存储函数修改
原 为 直 接 调 用 : LanguageType= EEPROMread(127); 和
EEPROMwrite(126,dg_interval);
修改后两个函数需自定义如下:
uchar EEPROMread(uint EEAd)
{
uchar i;
__EEGET(i,EEAd);
return(i);
}
void EEPROMwrite(uint EEAd,uchar EEDa)
{
__EEPUT(EEAd,EEDa);
}
5、一些变量位的定义需手工添加或直接用相应数字代替
如: #define WDE 3
在程序中看到 WDE 直接用3代替掉就可以了
或将 WDTCR=(1<<WDE); 改为: WDTCR_WDE=1;
6、中断使能和中断关闭部分修改
原为: SEI(); 和 CLI();
修改后为 __enableinterrupt(); __disableinterrupt();
7、Linker - List 菜单下 generate linker listing 选项打勾,生成*.map 文
件,在其中找到 RSTACK CSTACK 的最大值,
然后在 general Options - System 菜单下设置一个大于刚才找到的 RSTACK 和
CSTACK 最大值,如下面可设为大于0x20和0x46的值即可
RSTACK CSTACK
| Stack used (prev) : 0000001C 00000046
02 __flashcpy
| Stack used (prev) : 0000001C 00000046
| + function block : 00000002 00000000
02 __memclr
| Stack used (prev) : 0000001C 00000046
| + function block : 00000002 00000000
01 __segment_init
| Stack used (prev) : 0000001E 00000046
| + function block : 00000002 00000000
<-Sub-tree of type: Function tree
| Stack used : 00000020 00000046
- icc到iar移植日志
- 移植keil到IAR
- 什么是GCC,ICC,IAR
- 移植IAR到 AVR GCC
- freakz移植到IAR的CC2530工程
- Keil工程到IAR工程的移植
- keil工程移植到IAR历程
- IAR(EWARM)下移植FreeRTOS到STM32F10x笔记
- IAR移植uCOS-II到STM32开发板(STM32F107VCT6)
- 关于把keil上的工程移植到IAR上
- iar环境下,ucosii移植到stm32f103ze上
- 从iar移植到Keil,keil编译错误,.a文件
- ICC
- 使用ICC AVR过渡到AVR STUDIO
- 移植linphone到arm-linux日志记录
- 移植linphone到arm-linux日志记录
- rtmpdump移植到 Windows VS2008 下的移植日志
- rtmpdump移植到 Windows VS2008 下的移植日志
- var, object, dynamic的区别及使用
- ThreadLocal是否会引起内存溢出?
- WebSphere7.0数据源配置与应用程序发布
- Linux多线程编程(2)
- ExtJS4学习--多表头Grid
- icc到iar移植日志
- python中的一些对数据的处理
- webdriver启动firefox浏览器
- Ajax局部刷新
- Android--ListView之SimpleAdapter的使用(转)
- python常用函数说明
- 快速排序算法
- std排序
- 让QT整合在VS2010(无需很麻烦的环境搭配)