iar生成hex

更新时间:2023-05-16 10:09:32 阅读: 评论:0

如何输出HEX文件?
方法一 最好用)在配置文件后面加入以下代码,便可输出HEX文件,A90文件与HEX文件一样,SLISP都能识别.
如图Override default 目录下的那个文件中最后面加入以下代码
// Output File 
-Ointel-extended,(XDATA)=.eep  //产生eeprom文件 
-Ointel-extended,(CODE)=.A90   //产生烧写文件 
-Ointel-extended,(CODE)=.hex   //产生烧写文件 
或者
不在配置文件后面加,直接在如下图的地方加入命令
方法二)
koji
Output 选择勃朗特三姐妹zax-i
这个方法会出现一点小问题,如果有__eeprom 则会出下面的错误提示,__flash eligible没事。
Error[e133]: The output format intel-standard cannot handle multiple address spaces. U format variants (-y -O) to specify which address space is wanted
.hex .eep不能同时放到一个文件中,如果没有.eep文件生成就不会报错,可以正常使用了)

中断向量的使用
IAR中定义中断函数的格式是德语培训 
///////////////////////////////// 
#pragma vector=中断向量 
__interrupt void 中断服务程序(void) 

//中断处理程序 

/
//////////////////////////////////// 
中断的初始化要另外加入代码,可在主程序内加入。如下是各个中断函数的定义。 
//staccato中断定义 
#include <iom16.h> 
#pragma vector=INT0_vect 
__interrupt void INT0_Server(void) 


#pragma vector=INT1_vect 
__interrupt void INT1_Server(void) 


#pragma vector=TIMER2_COMP_vect 
__interrupt void TIMER2_COMP_Server(void) 


#pragma vector=TIMER2_OVF_vect 
英语作文自我介绍__interrupt void TIMER2_OVF_Server(void) 


#pragma vector=TIMER1_CAPT_vect 
__interrupt void TIMER1_CAPT_Server(void) 


#pragma vector=TIMER1_COMPA_vect 
__interrupt void TIMER1_COMPA_Server(void) 
slimeball

#pragma vector=TIMER1_COMPB_vect 
__interrupt void TIMER1_COMPB_Server(void) 


#pragma vector=TIMER1_OVF_vect 
__interrupt   void TIMER1_OVF_Server(void) 


#pragma vector=TIMER0_OVF_vect 
__interrupt   void TIMER0_OVF_Server(void) 


#pragma vector=SPI_STC_vect 
__interrupt   void SPI_STC_Server(void) 
自贡学英语

#pragma vector=USART_RXC_vect 
__interrupt   void USART_RXC_Server(void) 


#pragma vector=USART_UDRE_vect 
__interrupt   void USART_UDRE_Server(void) 


#pragma vector=USART_TXC_vect 
__interrupt   void USART_TXC_Server(void) 
abl

#pragma vector=ADC_vect 
__interrupt void ADC_Server(void) 


#pragma vector=EE_RDY_vect 
__interrupt void EE_RDY_Server(void) 


#pragma vector=ANA_COMP_vect 
__interrupt void ANA_COMP_Server(void) 


#pragma vector=TWI_vect 
__interrupt void TWI_Server(void) 


#pragma vector=INT2_vect 
__interrupt void INT2_Server(void) 


#pragma vector=TIMER0_COMP_vect 
__interrupt void TIMER0_COMP_Server(void) 


#pragma vector=SPM_RDY_vect 
__interrupt void SPM_RDY_Server(void) 


如何把常数字符串定义在flash 空间?
法一:unsigned char __flash temptab[] = {1,2,3,4,5}; 
法二:__flash unsigned char temptab[] = {1,2,3,4,5}; 
法三:#pragma type_attribute=__flash  pot
      unsigned char temptab[]={1,2,3,4,5}; 
法四:const unsigned char temptab[]={1,2,3,4,5}; 
:第三种方式用#pragma说明后,下面的定义的变量将都在FLASH空间了,用于定义一批FLASH变量,但实际上一般只能作为常量使用了

本文发布于:2023-05-16 10:09:32,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/110484.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   定义   中断
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图