[ZLG-MCU] 求助:IAR startup.c g_pfnVectors总是在RAM里面

[复制链接]
3503|4
 楼主| ATmega32L 发表于 2008-2-23 08:51 | 显示全部楼层 |阅读模式
求助:IAR&nbsp;startup.c&nbsp;&nbsp;g_pfnVectors总是在RAM里面<br /><br /><br />#pragma&nbsp;language=extended<br />#pragma&nbsp;segment=&quot;CSTACK&quot;<br /><br />typedef&nbsp;void&nbsp;(*pVectorEntry)(void);<br /><br />extern&nbsp;&quot;C&quot;&nbsp;void&nbsp;__program_start(&nbsp;void&nbsp;);<br />void&nbsp;NmiSR(void);<br />void&nbsp;FaultISR(void);<br />void&nbsp;IntDefaultHandler(void);<br /><br /><br />__root&nbsp;static&nbsp;const&nbsp;&nbsp;pVectorEntry&nbsp;g_pfnVectors[]&nbsp;@&nbsp;&quot;INTVEC&quot;&nbsp;=<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(pVectorEntry)__segment_end(&quot;CSTACK&quot;)&nbsp;,&nbsp;//&nbsp;The&nbsp;initial&nbsp;stack&nbsp;pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;__program_start,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;reset&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;NmiSR,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;NMI&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;FaultISR,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;hard&nbsp;fault&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;MPU&nbsp;fault&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;bus&nbsp;fault&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;usage&nbsp;fault&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reserved<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reserved<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reserved<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reserved<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;SVCall&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Debug&nbsp;monitor&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Reserved<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;PendSV&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;SysTick&nbsp;handler<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;B<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;C<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;D<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;E<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;UART0&nbsp;Rx&nbsp;and&nbsp;Tx<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;UART1&nbsp;Rx&nbsp;and&nbsp;Tx<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;SSI&nbsp;Rx&nbsp;and&nbsp;Tx<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;I2C&nbsp;Master&nbsp;and&nbsp;Slave<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM&nbsp;Fault<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM&nbsp;Generator&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM&nbsp;Generator&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PWM&nbsp;Generator&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Quadrature&nbsp;Encoder<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ADC&nbsp;Sequence&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ADC&nbsp;Sequence&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ADC&nbsp;Sequence&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;ADC&nbsp;Sequence&nbsp;3<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Watchdog&nbsp;timer<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;0&nbsp;subtimer&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;0&nbsp;subtimer&nbsp;B<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;1&nbsp;subtimer&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;1&nbsp;subtimer&nbsp;B<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;2&nbsp;subtimer&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;2&nbsp;subtimer&nbsp;B<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Analog&nbsp;Comparator&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Analog&nbsp;Comparator&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Analog&nbsp;Comparator&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;System&nbsp;Control&nbsp;(PLL,&nbsp;OSC,&nbsp;BO)<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;FLASH&nbsp;Control<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;F<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;G<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;GPIO&nbsp;Port&nbsp;H<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;UART2&nbsp;Rx&nbsp;and&nbsp;Tx<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;SSI1&nbsp;Rx&nbsp;and&nbsp;Tx<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;3&nbsp;subtimer&nbsp;A<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Timer&nbsp;3&nbsp;subtimer&nbsp;B<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;I2C1&nbsp;Master&nbsp;and&nbsp;Slave<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Quadrature&nbsp;Encoder&nbsp;1<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CAN0<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CAN1<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CAN2<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Ethernet<br />&nbsp;&nbsp;&nbsp;&nbsp;IntDefaultHandler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Hibernate<br />};<br /><br /><br />&nbsp;void&nbsp;&nbsp;NmiSR(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />&nbsp;void&nbsp;&nbsp;&nbsp;FaultISR(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;IntDefaultHandler(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br /><br /><br />-carm<br />-DROMSTART=00000000<br />-DROMEND=0003FFFF<br />-DRAMSTART=20000000<br />-DRAMEND=20000FFF<br /><br />-Z(CODE)INTVEC=ROMSTART-ROMEND<br />-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND<br />-Z(CODE)SWITAB=ROMSTART-ROMEND<br />-Z(CODE)CODE=ROMSTART-ROMEND<br />-Z(CONST)CODE_ID=ROMSTART-ROMEND<br />-Z(CONST)INITTAB,DATA_ID,DATA_C=ROMSTART-ROMEND<br />-Z(CONST)CHECKSUM=ROMSTART-ROMEND<br /><br /><br />-Z(DATA)DATA_I,DATA_Z,DATA_N=RAMSTART-RAMEND<br />-Z(DATA)CODE_I=RAMSTART-RAMEND<br /><br />-Z(DATA)VTABLE=RAMSTART-RAMEND<br /><br />-QCODE_I=CODE_ID<br /><br />-D_CSTACK_SIZE=100<br />//&nbsp;-D_SVC_STACK_SIZE=10<br />-D_IRQ_STACK_SIZE=100<br />-D_HEAP_SIZE=100<br /><br />-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND<br />//&nbsp;-Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND<br />-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND<br /><br /><br />&nbsp;-Felf<br /><br /><br />
hotpower 发表于 2008-2-24 02:01 | 显示全部楼层

startup.c+.xcl

__root&nbsp;static&nbsp;const&nbsp;uVectorEntry&nbsp;g_pfnVectors[]&nbsp;@&nbsp;&quot;INTVEC&quot;&nbsp;=<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;.ulPtr&nbsp;=&nbsp;__sfe(&nbsp;&quot;CSTACK&quot;&nbsp;)&nbsp;},<br />&nbsp;&nbsp;&nbsp;&nbsp;__program_start,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;The&nbsp;reset&nbsp;handler<br />//.......<br />};
 楼主| ATmega32L 发表于 2008-2-24 10:11 | 显示全部楼层

找不出哪里有错

#pragma&nbsp;language=extended<br />#pragma&nbsp;segment=&quot;CSTACK&quot;<br />extern&nbsp;&quot;C&quot;&nbsp;void&nbsp;__program_start(&nbsp;void&nbsp;);<br />void&nbsp;NmiSR(void);<br />void&nbsp;FaultISR(void);<br />void&nbsp;IntDefaultHandler(void);<br /><br />typedef&nbsp;union<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;(*pfnHandler)(void);<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;ulPtr;&nbsp;&nbsp;<br />}<br />uVectorEntry;<br /><br />__root&nbsp;static&nbsp;const&nbsp;&nbsp;uVectorEntry&nbsp;g_pfnVectors[]&nbsp;@&nbsp;&quot;INTVEC&quot;&nbsp;=<br />{<br />&nbsp;&nbsp;&nbsp;{&nbsp;.ulPtr&nbsp;=&nbsp;(unsigned&nbsp;long)&nbsp;__segment_end(&quot;CSTACK&quot;)&nbsp;},<br />__program_start,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /><br />-DROMSTART=00000000<br />-DROMEND=0003FFFF<br /><br />-Z(CODE)INTVEC=ROMSTART-ROMEND<br /><br />可是用IAR软件仿真显示g_pfnVectors[]在0x20000000<br /><br />找不出哪里有问题。
hotpower 发表于 2008-2-24 22:58 | 显示全部楼层

__segment_size???

  
 楼主| ATmega32L 发表于 2008-2-25 10:19 | 显示全部楼层

__segment_size("INTVEC") = 16

__segment_size(&quot;INTVEC&quot;)&nbsp;=&nbsp;16<br /><br />hotpower能否给个可以直接编译的实例(包括库文件和头文件,仿真用simlator,可以直接编译)<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

144

主题

376

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部