为什么我的emac通信主程序中加了中断地址入口的程序就运行

[复制链接]
2359|1
 楼主| ccjchen 发表于 2009-6-4 13:36 | 显示全部楼层 |阅读模式
为什么我的emac通信主程序中加了中断地址入口的程序就运行不了了?IRQ_setVecs(vectors);&nbsp;&nbsp;//Sets&nbsp;the&nbsp;base&nbsp;address&nbsp;of&nbsp;the&nbsp;interrupt&nbsp;vectors&nbsp;&nbsp;我在主函数main()中添加的一句话,哪位高手给指点一下?<br />以下是ves_dm642.asm的程序,我没有动:<br />*<br />*&nbsp;Copyright&nbsp;(C)&nbsp;2003&nbsp;Texas&nbsp;Instruments&nbsp;Incorporated<br />*&nbsp;All&nbsp;Rights&nbsp;Reserved<br />*<br />*<br />*---------vecs_edma1.asm---------<br />*<br />*&nbsp;Assembly&nbsp;file&nbsp;to&nbsp;set&nbsp;up&nbsp;interrupt&nbsp;service&nbsp;table&nbsp;(IST)<br />*<br /><br />*------------------------------------------------------------------------------<br />*&nbsp;Global&nbsp;symbols&nbsp;defined&nbsp;here&nbsp;and&nbsp;exported&nbsp;out&nbsp;of&nbsp;this&nbsp;file<br />*------------------------------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vectors<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_c_int00<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector1<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector2<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector3<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector4<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector5<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector6<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector7<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector8&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector10&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Hookup&nbsp;the&nbsp;c_int08&nbsp;ISR&nbsp;in&nbsp;main()&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector12&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Hookup&nbsp;the&nbsp;c_int08&nbsp;ISR&nbsp;in&nbsp;main()<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector13&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector14&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.global&nbsp;_vector15&nbsp;&nbsp;&nbsp;<br /><br />*------------------------------------------------------------------------------<br />*&nbsp;Global&nbsp;symbols&nbsp;referenced&nbsp;in&nbsp;this&nbsp;file&nbsp;but&nbsp;defined&nbsp;somewhere&nbsp;else.&nbsp;<br />*&nbsp;Remember&nbsp;that&nbsp;your&nbsp;interrupt&nbsp;service&nbsp;routines&nbsp;need&nbsp;to&nbsp;be&nbsp;referenced&nbsp;here.<br />*------------------------------------------------------------------------------<br />&nbsp;&nbsp;&nbsp;.ref&nbsp;_c_int00<br /><br />*------------------------------------------------------------------------------<br />*&nbsp;This&nbsp;is&nbsp;a&nbsp;macro&nbsp;that&nbsp;instantiates&nbsp;one&nbsp;entry&nbsp;in&nbsp;the&nbsp;interrupt&nbsp;service&nbsp;table.<br />*------------------------------------------------------------------------------<br />VEC_ENTRY&nbsp;.macro&nbsp;addr<br />&nbsp;&nbsp;&nbsp;&nbsp;STW&nbsp;&nbsp;&nbsp;B0,*--B15<br />&nbsp;&nbsp;&nbsp;&nbsp;MVKL&nbsp;&nbsp;addr,B0<br />&nbsp;&nbsp;&nbsp;&nbsp;MVKH&nbsp;&nbsp;addr,B0<br />&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B0<br />&nbsp;&nbsp;&nbsp;&nbsp;LDW&nbsp;&nbsp;&nbsp;*B15++,B0<br />&nbsp;&nbsp;&nbsp;&nbsp;NOP&nbsp;&nbsp;&nbsp;2<br />&nbsp;&nbsp;&nbsp;&nbsp;NOP&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;NOP&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;.endm<br /><br /><br />*------------------------------------------------------------------------------<br />*&nbsp;This&nbsp;is&nbsp;a&nbsp;dummy&nbsp;interrupt&nbsp;service&nbsp;routine&nbsp;used&nbsp;to&nbsp;initialize&nbsp;the&nbsp;IST.<br />*------------------------------------------------------------------------------<br />_vec_dummy:<br />&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;B3<br />&nbsp;&nbsp;NOP&nbsp;&nbsp;5<br /><br />*------------------------------------------------------------------------------<br />*&nbsp;This&nbsp;is&nbsp;the&nbsp;actual&nbsp;interrupt&nbsp;service&nbsp;table&nbsp;(IST).&nbsp;It&nbsp;is&nbsp;properly&nbsp;aligned&nbsp;and<br />*&nbsp;is&nbsp;located&nbsp;in&nbsp;the&nbsp;subsection&nbsp;.text:vecs.&nbsp;This&nbsp;means&nbsp;if&nbsp;you&nbsp;don't&nbsp;explicitly<br />*&nbsp;specify&nbsp;this&nbsp;section&nbsp;in&nbsp;your&nbsp;linker&nbsp;command&nbsp;file,&nbsp;it&nbsp;will&nbsp;default&nbsp;and&nbsp;link<br />*&nbsp;into&nbsp;the&nbsp;.text&nbsp;section.&nbsp;Remember&nbsp;to&nbsp;set&nbsp;the&nbsp;ISTP&nbsp;register&nbsp;to&nbsp;point&nbsp;to&nbsp;this<br />*&nbsp;table.<br />*------------------------------------------------------------------------------<br />&nbsp;.sect&nbsp;&quot;.text:vecs&quot;<br />&nbsp;.align&nbsp;1024<br /><br />_vectors:<br />_vector0:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_c_int00&nbsp;&nbsp;&nbsp;&nbsp;;RESET<br />_vector1:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy&nbsp;&nbsp;;NMI<br />_vector2:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy&nbsp;&nbsp;;RSVD<br />_vector3:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector4:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector5:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector6:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector7:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector8:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy&nbsp;&nbsp;&nbsp;<br />_vector9:&nbsp;&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector10:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector11:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy&nbsp;;&nbsp;Hookup&nbsp;the&nbsp;c_int08&nbsp;ISR&nbsp;in&nbsp;main()<br />_vector12:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy&nbsp;&nbsp;;&nbsp;Hookup&nbsp;the&nbsp;c_int08&nbsp;ISR&nbsp;in&nbsp;main()<br />_vector13:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector14:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br />_vector15:&nbsp;&nbsp;VEC_ENTRY&nbsp;_vec_dummy<br /><br />*------------------------------------------------------------------------------<br /><br />相关头文件我也加了:<br />#include&nbsp;&ltcsl.h&gt<br />#include&nbsp;&ltcsl_emifa.h&gt<br />#include&nbsp;&ltcsl_irq.h&gt<br />
 楼主| ccjchen 发表于 2009-6-4 15:00 | 显示全部楼层

下面就是添加这句话的情况

main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;/******************************************************/<br />&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;open&nbsp;CSL&nbsp;DAT&nbsp;module&nbsp;for&nbsp;fast&nbsp;copy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;/******************************************************/<br />&nbsp;&nbsp;&nbsp;&nbsp;CSL_init();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;IRQ_setVecs(vectors);&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 />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_enableCaching(CACHE_EMIFA_CE00);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_enableCaching(CACHE_EMIFA_CE01);<br />&nbsp;&nbsp;&nbsp;&nbsp;DAT_open(DAT_CHAANY,&nbsp;DAT_PRI_LOW,&nbsp;DAT_OPEN_2D);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCOM_init();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;Glitter&nbsp;the&nbsp;indicator&nbsp;to&nbsp;indicate&nbsp;bootloader&nbsp;successfully<br />&nbsp;&nbsp;&nbsp;&nbsp;//Led_glitter();<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setL2Queue(0x3,&nbsp;0x7);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setL2Queue(0x1,&nbsp;0x7);<br />&nbsp;&nbsp;&nbsp;&nbsp;CACHE_setPriL2Req(CACHE_L2PRIHIGH);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;create&nbsp;all&nbsp;SCOM&nbsp;and&nbsp;message&nbsp;objects&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;SCOM_create(&quot;NETOK&quot;,&nbsp;NULL);&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}----------------------------------------<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

446

帖子

1

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