在IAR编译器中使用NEC 78K0系列单片机
2016-08-03 来源:eefocus
最近在IAR编译器下针对NEC的78K0系列单片机作了一些开发。主要原因是IAR的编译器确实编译效果不错啊。最大体现就是编译出的代码空间比较小。毕竟人家是专门做编译器的。
下面是最近学会的一些扩展功能,写出来共享。如果以后会用其它功能的的话,我会及时更新。
1、__disable_interrupt();__enable_interrupt();
这两个大家一看应该就知道是干什么用的了——禁止中断和使能中断的。
2、#pragma constseg = OPTBYTE
__root const CPU_CHAR OptionByte[5]=
{
0x00,
0x00,
0x00,
0x00,
0x02
};
#pragma constseg = default
使用NEC单片机的工程师知道,NEC的单片机里面有option byte这个东东。那么在IAR编译器里面怎么设置option byte呢?如上所示。感觉IAR编译器把OPTBYTE也做成一个关键字了。
3、__saddr unsigned char tick_10ms;
之前我介绍过,在NEC的单片机里有短地址直接寻址区域,如果想把变量放在这个区域的话,在IAR编译器中是按照上述的格式书写的。如果你还不太清楚短地址直接寻址区域,可以去看俺前面的文章。
4、__root const unsigned char SecuIDCode[] @ 0x0085 = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
想把常量放在某个固定的地址,参考上面的格式就可以了。只要把0x0085改成你期望的地址就行了。
进入单片机查看更多内容>>
下面是最近学会的一些扩展功能,写出来共享。如果以后会用其它功能的的话,我会及时更新。
1、__disable_interrupt();__enable_interrupt();
这两个大家一看应该就知道是干什么用的了——禁止中断和使能中断的。
2、#pragma constseg = OPTBYTE
__root const CPU_CHAR OptionByte[5]=
{
0x00,
0x00,
0x00,
0x00,
0x02
};
#pragma constseg = default
使用NEC单片机的工程师知道,NEC的单片机里面有option byte这个东东。那么在IAR编译器里面怎么设置option byte呢?如上所示。感觉IAR编译器把OPTBYTE也做成一个关键字了。
3、__saddr unsigned char tick_10ms;
之前我介绍过,在NEC的单片机里有短地址直接寻址区域,如果想把变量放在这个区域的话,在IAR编译器中是按照上述的格式书写的。如果你还不太清楚短地址直接寻址区域,可以去看俺前面的文章。
4、__root const unsigned char SecuIDCode[] @ 0x0085 = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
想把常量放在某个固定的地址,参考上面的格式就可以了。只要把0x0085改成你期望的地址就行了。
上一篇:MSP430 时钟设置(一)
下一篇:单片机C语言优化
相关文章