!!请教ARM 启动代码???(图0

[复制链接]
2608|13
 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层 |阅读模式
;/*****************************************************************************/<br />;/*&nbsp;STARTUP.S:&nbsp;Startup&nbsp;file&nbsp;for&nbsp;Blinky&nbsp;Example&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 />;/*&nbsp;&lt&lt&lt&nbsp;Use&nbsp;Configuration&nbsp;Wizard&nbsp;in&nbsp;Context&nbsp;Menu&nbsp;&gt&gt&gt&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 />;/*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;the&nbsp;uVision/ARM&nbsp;development&nbsp;tools.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />;/*&nbsp;Copyright&nbsp;(c)&nbsp;2005-2006&nbsp;Keil&nbsp;Software.&nbsp;All&nbsp;rights&nbsp;reserved.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />;/*&nbsp;This&nbsp;software&nbsp;may&nbsp;only&nbsp;be&nbsp;used&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;a&nbsp;valid,&nbsp;current,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />;/*&nbsp;end&nbsp;user&nbsp;licence&nbsp;from&nbsp;KEIL&nbsp;for&nbsp;a&nbsp;compatible&nbsp;version&nbsp;of&nbsp;KEIL&nbsp;software&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />;/*&nbsp;development&nbsp;tools.&nbsp;Nothing&nbsp;else&nbsp;gives&nbsp;you&nbsp;the&nbsp;right&nbsp;to&nbsp;use&nbsp;this&nbsp;software.&nbsp;*/<br />;/*****************************************************************************/<br /><br /><br />;/*<br />;&nbsp;*&nbsp;&nbsp;The&nbsp;STARTUP.S&nbsp;code&nbsp;is&nbsp;executed&nbsp;after&nbsp;CPU&nbsp;Reset.&nbsp;This&nbsp;file&nbsp;may&nbsp;be&nbsp;<br />;&nbsp;*&nbsp;&nbsp;translated&nbsp;with&nbsp;the&nbsp;following&nbsp;SET&nbsp;symbols.&nbsp;In&nbsp;uVision&nbsp;these&nbsp;SET&nbsp;<br />;&nbsp;*&nbsp;&nbsp;symbols&nbsp;are&nbsp;entered&nbsp;under&nbsp;Options&nbsp;-&nbsp;ASM&nbsp;-&nbsp;Define.<br />;&nbsp;*<br />;&nbsp;*&nbsp;&nbsp;REMAP:&nbsp;when&nbsp;set&nbsp;the&nbsp;startup&nbsp;code&nbsp;initializes&nbsp;the&nbsp;register&nbsp;MEMMAP&nbsp;<br />;&nbsp;*&nbsp;&nbsp;which&nbsp;overwrites&nbsp;the&nbsp;settings&nbsp;of&nbsp;the&nbsp;CPU&nbsp;configuration&nbsp;pins.&nbsp;The&nbsp;<br />;&nbsp;*&nbsp;&nbsp;startup&nbsp;and&nbsp;interrupt&nbsp;vectors&nbsp;are&nbsp;remapped&nbsp;from:<br />;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000&nbsp;&nbsp;default&nbsp;setting&nbsp;(not&nbsp;remapped)<br />;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40000000&nbsp;&nbsp;when&nbsp;RAM_MODE&nbsp;is&nbsp;used<br />;&nbsp;*<br />;&nbsp;*&nbsp;&nbsp;RAM_MODE:&nbsp;when&nbsp;set&nbsp;the&nbsp;device&nbsp;is&nbsp;configured&nbsp;for&nbsp;code&nbsp;execution<br />;&nbsp;*&nbsp;&nbsp;from&nbsp;on-chip&nbsp;RAM&nbsp;starting&nbsp;at&nbsp;address&nbsp;0x40000000.&nbsp;<br />;&nbsp;*/<br /><br /><br />;&nbsp;Standard&nbsp;definitions&nbsp;of&nbsp;Mode&nbsp;bits&nbsp;and&nbsp;Interrupt&nbsp;(I&nbsp;&&nbsp;F)&nbsp;flags&nbsp;in&nbsp;PSRs<br /><br />Mode_USR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10<br />Mode_FIQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x11<br />Mode_IRQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x12<br />Mode_SVC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x13<br />Mode_ABT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x17<br />Mode_UND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1B<br />Mode_SYS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1F<br /><br />I_Bit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;when&nbsp;I&nbsp;bit&nbsp;is&nbsp;set,&nbsp;IRQ&nbsp;is&nbsp;disabled<br />F_Bit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;when&nbsp;F&nbsp;bit&nbsp;is&nbsp;set,&nbsp;FIQ&nbsp;is&nbsp;disabled<br /><br /><br />;//&nbsp;&lth&gt&nbsp;Stack&nbsp;Configuration&nbsp;(Stack&nbsp;Sizes&nbsp;in&nbsp;Bytes)<br />;//&nbsp;&nbsp;&nbsp;&lto0&gt&nbsp;Undefined&nbsp;Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&nbsp;&nbsp;&lto1&gt&nbsp;Supervisor&nbsp;Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&nbsp;&nbsp;&lto2&gt&nbsp;Abort&nbsp;Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&nbsp;&nbsp;&lto3&gt&nbsp;Fast&nbsp;Interrupt&nbsp;Mode&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&nbsp;&nbsp;&lto4&gt&nbsp;Interrupt&nbsp;Mode&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&nbsp;&nbsp;&lto5&gt&nbsp;User/System&nbsp;Mode&nbsp;&nbsp;&nbsp;&nbsp;&lt0x0-0xFFFFFFFF:8&gt<br />;//&nbsp;&lt/h&gt<br /><br />UND_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<br />SVC_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000008<br />ABT_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<br />FIQ_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<br />IRQ_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000080<br />USR_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000400<br /><br />ISR_Stack_Size&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(UND_Stack_Size&nbsp;+&nbsp;SVC_Stack_Size&nbsp;+&nbsp;ABT_Stack_Size&nbsp;+&nbsp;<br />&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;FIQ_Stack_Size&nbsp;+&nbsp;IRQ_Stack_Size)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;STACK,&nbsp;NOINIT,&nbsp;READWRITE,&nbsp;ALIGN=3<br /><br />Stack_Mem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;USR_Stack_Size<br />__initial_sp&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;ISR_Stack_Size<br /><br />Stack_Top<br /><br /><br />;//&nbsp;&lth&gt&nbsp;Heap&nbsp;Configuration<br />;//&nbsp;&nbsp;&nbsp;&lto&gt&nbsp;&nbsp;Heap&nbsp;Size&nbsp;(in&nbsp;Bytes)&nbsp;&lt0x0-0xFFFFFFFF&gt<br />;//&nbsp;&lt/h&gt<br /><br />Heap_Size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;HEAP,&nbsp;NOINIT,&nbsp;READWRITE,&nbsp;ALIGN=3<br />__heap_base<br />Heap_Mem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SPACE&nbsp;&nbsp;&nbsp;Heap_Size<br />__heap_limit<br /><br /><br />;&nbsp;VPBDIV&nbsp;definitions<br />VPBDIV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE01FC100&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;VPBDIV&nbsp;Address<br /><br />;//&nbsp;&lte&gt&nbsp;VPBDIV&nbsp;Setup<br />;//&nbsp;&lti&gt&nbsp;Peripheral&nbsp;Bus&nbsp;Clock&nbsp;Rate<br />;//&nbsp;&nbsp;&nbsp;&lto1.0..1&gt&nbsp;&nbsp;&nbsp;VPBDIV:&nbsp;VPB&nbsp;Clock<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0=&gt&nbsp;VPB&nbsp;Clock&nbsp;=&nbsp;CPU&nbsp;Clock&nbsp;/&nbsp;4<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt1=&gt&nbsp;VPB&nbsp;Clock&nbsp;=&nbsp;CPU&nbsp;Clock<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt2=&gt&nbsp;VPB&nbsp;Clock&nbsp;=&nbsp;CPU&nbsp;Clock&nbsp;/&nbsp;2<br />;//&nbsp;&nbsp;&nbsp;&lto1.4..5&gt&nbsp;&nbsp;&nbsp;XCLKDIV:&nbsp;XCLK&nbsp;Pin<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0=&gt&nbsp;XCLK&nbsp;Pin&nbsp;=&nbsp;CPU&nbsp;Clock&nbsp;/&nbsp;4<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt1=&gt&nbsp;XCLK&nbsp;Pin&nbsp;=&nbsp;CPU&nbsp;Clock<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt2=&gt&nbsp;XCLK&nbsp;Pin&nbsp;=&nbsp;CPU&nbsp;Clock&nbsp;/&nbsp;2<br />;//&nbsp;&lt/e&gt<br />VPBDIV_SETUP&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />VPBDIV_Val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000000<br /><br /><br />;&nbsp;Phase&nbsp;Locked&nbsp;Loop&nbsp;(PLL)&nbsp;definitions<br />PLL_BASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE01FC080&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Base&nbsp;Address<br />PLLCON_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Control&nbsp;Offset<br />PLLCFG_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Configuration&nbsp;Offset<br />PLLSTAT_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Status&nbsp;Offset<br />PLLFEED_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x0C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Feed&nbsp;Offset<br />PLLCON_PLLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&lt&lt0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Enable<br />PLLCON_PLLC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&lt&lt1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Connect<br />PLLCFG_MSEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0x1F&lt&lt0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Multiplier<br />PLLCFG_PSEL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0x03&lt&lt5)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Divider<br />PLLSTAT_PLOCK&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&lt&lt10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;PLL&nbsp;Lock&nbsp;Status<br /><br />;//&nbsp;&lte&gt&nbsp;PLL&nbsp;Setup<br />;//&nbsp;&nbsp;&nbsp;&lto1.0..4&gt&nbsp;&nbsp;&nbsp;MSEL:&nbsp;PLL&nbsp;Multiplier&nbsp;Selection<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt1-32&gt&lt#-1&gt<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lti&gt&nbsp;M&nbsp;Value<br />;//&nbsp;&nbsp;&nbsp;&lto1.5..6&gt&nbsp;&nbsp;&nbsp;PSEL:&nbsp;PLL&nbsp;Divider&nbsp;Selection<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0=&gt&nbsp;1&nbsp;&nbsp;&nbsp;&lt1=&gt&nbsp;2&nbsp;&nbsp;&nbsp;&lt2=&gt&nbsp;4&nbsp;&nbsp;&nbsp;&lt3=&gt&nbsp;8<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lti&gt&nbsp;P&nbsp;Value<br />;//&nbsp;&lt/e&gt<br />PLL_SETUP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />PLLCFG_Val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000024<br /><br /><br />;&nbsp;Memory&nbsp;Accelerator&nbsp;Module&nbsp;(MAM)&nbsp;definitions<br />MAM_BASE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE01FC000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;MAM&nbsp;Base&nbsp;Address<br />MAMCR_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;MAM&nbsp;Control&nbsp;Offset<br />MAMTIM_OFS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;MAM&nbsp;Timing&nbsp;Offset<br /><br />;//&nbsp;&lte&gt&nbsp;MAM&nbsp;Setup<br />;//&nbsp;&nbsp;&nbsp;&lto1.0..1&gt&nbsp;&nbsp;&nbsp;MAM&nbsp;Control<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0=&gt&nbsp;Disabled<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt1=&gt&nbsp;Partially&nbsp;Enabled<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt2=&gt&nbsp;Fully&nbsp;Enabled<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lti&gt&nbsp;Mode<br />;//&nbsp;&nbsp;&nbsp;&lto2.0..2&gt&nbsp;&nbsp;&nbsp;MAM&nbsp;Timing<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt0=&gt&nbsp;Reserved&nbsp;&nbsp;&lt1=&gt&nbsp;1&nbsp;&nbsp;&nbsp;&lt2=&gt&nbsp;2&nbsp;&nbsp;&nbsp;&lt3=&gt&nbsp;3<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt4=&gt&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt5=&gt&nbsp;5&nbsp;&nbsp;&nbsp;&lt6=&gt&nbsp;6&nbsp;&nbsp;&nbsp;&lt7=&gt&nbsp;7<br />;//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lti&gt&nbsp;Fetch&nbsp;Cycles<br />;//&nbsp;&lt/e&gt<br />MAM_SETUP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />MAMCR_Val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000002<br />MAMTIM_Val&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x00000004<br /><br /><br />;&nbsp;Area&nbsp;Definition&nbsp;and&nbsp;Entry&nbsp;Point<br />;&nbsp;&nbsp;Startup&nbsp;Code&nbsp;must&nbsp;be&nbsp;linked&nbsp;first&nbsp;at&nbsp;Address&nbsp;at&nbsp;which&nbsp;it&nbsp;expects&nbsp;to&nbsp;run.<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;RESET,&nbsp;CODE,&nbsp;READONLY<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ARM<br /><br /><br />;&nbsp;Exception&nbsp;Vectors<br />;&nbsp;&nbsp;Mapped&nbsp;to&nbsp;Address&nbsp;0.<br />;&nbsp;&nbsp;Absolute&nbsp;addressing&nbsp;mode&nbsp;must&nbsp;be&nbsp;used.<br />;&nbsp;&nbsp;Dummy&nbsp;Handlers&nbsp;are&nbsp;implemented&nbsp;as&nbsp;infinite&nbsp;loops&nbsp;which&nbsp;can&nbsp;be&nbsp;modified.<br /><br />Vectors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;Reset_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;Undef_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;SWI_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;PAbt_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;DAbt_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NOP&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&nbsp;Vector&nbsp;<br />;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;IRQ_Addr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;[PC,&nbsp;#-0x0FF0]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Vector&nbsp;from&nbsp;VicVectAddr<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PC,&nbsp;FIQ_Addr<br /><br />Reset_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset_Handler<br />Undef_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />SWI_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />PAbt_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />DAbt_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&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;Reserved&nbsp;Address&nbsp;<br />IRQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />FIQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler<br /><br />Undef_Handler&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />SWI_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />PAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />DAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />IRQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />FIQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler<br /><br /><br />;&nbsp;Reset&nbsp;Handler<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORT&nbsp;&nbsp;Reset_Handler<br />Reset_Handler&nbsp;&nbsp;&nbsp;<br /><br /><br />;&nbsp;Setup&nbsp;VPBDIV<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VPBDIV_SETUP&nbsp;&lt&gt&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=VPBDIV<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;=VPBDIV_Val<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /><br />;&nbsp;Setup&nbsp;PLL<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PLL_SETUP&nbsp;&lt&gt&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=PLL_BASE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;#0xAA<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;#0x55<br /><br />;&nbsp;&nbsp;Configure&nbsp;and&nbsp;Enable&nbsp;PLL<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;#PLLCFG_Val<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;[R0,&nbsp;#PLLCFG_OFS]&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;#PLLCON_PLLE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;[R0,&nbsp;#PLLCON_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0,&nbsp;#PLLFEED_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R0,&nbsp;#PLLFEED_OFS]<br /><br />;&nbsp;&nbsp;Wait&nbsp;until&nbsp;PLL&nbsp;Locked<br />PLL_Loop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;[R0,&nbsp;#PLLSTAT_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ANDS&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;R3,&nbsp;#PLLSTAT_PLOCK<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BEQ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PLL_Loop<br /><br />;&nbsp;&nbsp;Switch&nbsp;to&nbsp;PLL&nbsp;Clock<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;#(PLLCON_PLLE:OR:PLLCON_PLLC)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;[R0,&nbsp;#PLLCON_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0,&nbsp;#PLLFEED_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;[R0,&nbsp;#PLLFEED_OFS]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF&nbsp;&nbsp;&nbsp;;&nbsp;PLL_SETUP<br /><br /><br />;&nbsp;Setup&nbsp;MAM<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAM_SETUP&nbsp;&lt&gt&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=MAM_BASE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;#MAMTIM_Val<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0,&nbsp;#MAMTIM_OFS]&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;#MAMCR_Val<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0,&nbsp;#MAMCR_OFS]&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF&nbsp;&nbsp;&nbsp;;&nbsp;MAM_SETUP<br /><br /><br />;&nbsp;Memory&nbsp;Mapping&nbsp;(when&nbsp;Interrupt&nbsp;Vectors&nbsp;are&nbsp;in&nbsp;RAM)<br />MEMMAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EQU&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xE01FC040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Memory&nbsp;Mapping&nbsp;Control<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:DEF:REMAP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=MEMMAP<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:DEF:RAM_MODE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;#2<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;#1<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;[R0]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /><br />;&nbsp;Initialise&nbsp;Interrupt&nbsp;System<br />;&nbsp;&nbsp;...<br /><br /><br />;&nbsp;Setup&nbsp;Stack&nbsp;for&nbsp;each&nbsp;mode<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=Stack_Top<br /><br />;&nbsp;&nbsp;Enter&nbsp;Undefined&nbsp;Instruction&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_UND:OR:I_Bit:OR:F_Bit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#UND_Stack_Size<br /><br />;&nbsp;&nbsp;Enter&nbsp;Abort&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_ABT:OR:I_Bit:OR:F_Bit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#ABT_Stack_Size<br /><br />;&nbsp;&nbsp;Enter&nbsp;FIQ&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_FIQ:OR:I_Bit:OR:F_Bit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#FIQ_Stack_Size<br /><br />;&nbsp;&nbsp;Enter&nbsp;IRQ&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_IRQ:OR:I_Bit:OR:F_Bit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#IRQ_Stack_Size<br /><br />;&nbsp;&nbsp;Enter&nbsp;Supervisor&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_SVC:OR:I_Bit:OR:F_Bit<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;R0,&nbsp;#SVC_Stack_Size<br /><br />;&nbsp;&nbsp;Enter&nbsp;User&nbsp;Mode&nbsp;and&nbsp;set&nbsp;its&nbsp;Stack&nbsp;Pointer<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MSR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CPSR_c,&nbsp;#Mode_USR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:DEF:__MICROLIB<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORT&nbsp;__initial_sp<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MOV&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SP,&nbsp;R0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUB&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SL,&nbsp;SP,&nbsp;#USR_Stack_Size<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /><br />;&nbsp;Enter&nbsp;the&nbsp;C&nbsp;code<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORT&nbsp;&nbsp;__main<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=__main<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:DEF:__MICROLIB<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORT&nbsp;&nbsp;__heap_base<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORT&nbsp;&nbsp;__heap_limit<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE<br />;&nbsp;User&nbsp;Initial&nbsp;Stack&nbsp;&&nbsp;Heap<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AREA&nbsp;&nbsp;&nbsp;&nbsp;|.text|,&nbsp;CODE,&nbsp;READONLY<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IMPORT&nbsp;&nbsp;__use_two_region_memory<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EXPORT&nbsp;&nbsp;__user_initial_stackheap<br />__user_initial_stackheap<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=&nbsp;&nbsp;Heap_Mem<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R1,&nbsp;=(Stack_Mem&nbsp;+&nbsp;USR_Stack_Size)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R2,&nbsp;=&nbsp;(Heap_Mem&nbsp;+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Heap_Size)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R3,&nbsp;=&nbsp;Stack_Mem<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LR<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDIF<br /><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END<br />
 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层

为什么我点击单步运行是直接跳到 LDR R0, =PLL_BASE

为什么我点击单步运行是直接跳到&nbsp;LDR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;R0,&nbsp;=PLL_BASE
 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层

而不是条到Reset_Addr DCD Reset_Handler

而不是条到Reset_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset_Handler
 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层

反汇编是跳到0X0018

 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层

单步执行好如下图??????

 楼主| avocationA 发表于 2008-4-16 12:45 | 显示全部楼层

想成为ARM菜鸟.还望各位大侠赐教!!!!1

想成为ARM菜鸟.还望各位大侠赐教!!!!1
arm250 发表于 2008-4-16 14:47 | 显示全部楼层

因为那不是指令

在启动代码里面有指令和数据,有DCD的地方都表示是存放数据的区域,比如:<br />Reset_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset_Handler<br />Undef_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />SWI_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />PAbt_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />DAbt_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&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;Reserved&nbsp;Address&nbsp;<br />IRQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />FIQ_Addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler<br /><br />这些都不是指令,编译链接后是放入数据段的,所以单步是不会执行它们的。
 楼主| avocationA 发表于 2008-4-16 15:34 | 显示全部楼层

转()

转()<br />ok,我说下看法,<br />程序从0开始执行,0处是ldr&nbsp;pc,&nbsp;Reset_Addr<br />Reset_Addr这个变量保存的内容是Reset_Handler,即这个标签所在的地址<br />于是,0处的执行就相当于跳转到了标签Reset_Handler<br />
 楼主| avocationA 发表于 2008-4-16 15:49 | 显示全部楼层

谢谢ARM250

  
 楼主| avocationA 发表于 2008-4-16 15:53 | 显示全部楼层

还有请教下列代码是????????????

Undef_Handler&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />SWI_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />PAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />DAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />IRQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />FIQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler
 楼主| avocationA 发表于 2008-4-16 15:56 | 显示全部楼层

条到Undef_Handler

<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />跳到&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler<br />///////////////<br />????????????????????????????
 楼主| avocationA 发表于 2008-4-16 15:58 | 显示全部楼层

既然不执行那跳转是在什么时候跳转呢?在连接以后吗?

Undef_Handler&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Undef_Handler<br />SWI_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SWI_Handler<br />PAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PAbt_Handler<br />DAbt_Handler&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DAbt_Handler<br />IRQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IRQ_Handler<br />FIQ_Handler&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FIQ_Handler
Ice_River 发表于 2008-4-16 17:33 | 显示全部楼层

这个是中断向量表

当ARM出现异常的时候才会用到!
 楼主| avocationA 发表于 2008-4-17 11:18 | 显示全部楼层

谢谢!

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

123

主题

934

帖子

0

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