mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Finalise XMC4000 IAR demos.
This commit is contained in:
parent
1e248417bc
commit
0185643b39
|
@ -85,6 +85,11 @@
|
||||||
extern uint32_t SystemCoreClock;
|
extern uint32_t SystemCoreClock;
|
||||||
#endif /* __ICCARM__ */
|
#endif /* __ICCARM__ */
|
||||||
|
|
||||||
|
/* The following definition allows the startup files that ship with the IDE
|
||||||
|
to be used without modification when the chip used includes the PMU CM001
|
||||||
|
errata. */
|
||||||
|
#define WORKAROUND_PMU_CM001 1
|
||||||
|
|
||||||
#define configUSE_PREEMPTION 1
|
#define configUSE_PREEMPTION 1
|
||||||
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
|
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 1
|
||||||
#define configUSE_IDLE_HOOK 0
|
#define configUSE_IDLE_HOOK 0
|
||||||
|
@ -158,9 +163,13 @@ header file. */
|
||||||
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
|
#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); for( ;; ); }
|
||||||
|
|
||||||
/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
|
/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
|
||||||
standard names. */
|
standard names. WORKAROUND_PMU_CM001 is defined at the top of this file. */
|
||||||
|
#if WORKAROUND_PMU_CM001 == 1
|
||||||
|
#define xPortPendSVHandler PendSV_Handler_Veneer
|
||||||
|
#else
|
||||||
|
#define xPortPendSVHandler PendSV_Handler
|
||||||
|
#endif
|
||||||
#define vPortSVCHandler SVC_Handler
|
#define vPortSVCHandler SVC_Handler
|
||||||
#define xPortPendSVHandler PendSV_Handler
|
|
||||||
#define xPortSysTickHandler SysTick_Handler
|
#define xPortSysTickHandler SysTick_Handler
|
||||||
|
|
||||||
/* Demo application specific settings. */
|
/* Demo application specific settings. */
|
||||||
|
|
|
@ -19,6 +19,6 @@
|
||||||
@REM
|
@REM
|
||||||
|
|
||||||
|
|
||||||
"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armjlink.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armbat.dll" --macro "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\debugger\Infineon\Trace_XMC4500.dmac" --flash_loader "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\flashloader\Infineon\FlashXMC4400.board" --backend -B "--endian=little" "--cpu=Cortex-M4F" "--fpu=VFPv4" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\CONFIG\debugger\Infineon\xmc4400.ddf" "--drv_verify_download" "--semihosting" "--device=xmc4400" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--jlink_reset_strategy=0,0" "--jlink_interface=SWD" "--drv_catch_exceptions=0x000" "--jlink_script_file=C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\debugger\Infineon\XMC4500.jlinkscript" "--drv_swo_clock_setup=72000000,0,2000000"
|
"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armproc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armjlink.dll" %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\bin\armbat.dll" --macro "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\debugger\Infineon\Trace_XMC4500.dmac" --flash_loader "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\flashloader\Infineon\FlashXMC4500.board" --backend -B "--endian=little" "--cpu=Cortex-M4F" "--fpu=VFPv4" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\CONFIG\debugger\Infineon\xmc4500.ddf" "--drv_verify_download" "--semihosting" "--device=xmc4500" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--jlink_reset_strategy=0,0" "--jlink_interface=SWD" "--drv_catch_exceptions=0x000" "--jlink_script_file=C:\devtools\IAR Systems\Embedded Workbench 6.5\arm\config\debugger\Infineon\XMC4500.jlinkscript" "--drv_swo_clock_setup=72000000,0,2000000"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -62,14 +62,14 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>99</YPos2><SelStart2>5611</SelStart2><SelEnd2>5611</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>60</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>63</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>84</YPos2><SelStart2>5611</SelStart2><SelEnd2>5611</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>188</YPos2><SelStart2>9833</SelStart2><SelEnd2>9833</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>63</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CM4F\port.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>348</YPos2><SelStart2>14503</SelStart2><SelEnd2>14503</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CM4F\portasm.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>104</YPos2><SelStart2>4789</SelStart2><SelEnd2>4789</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\system\startup_XMC4400.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>254</YPos2><SelStart2>14858</SelStart2><SelEnd2>14858</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\RegTest.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>114</YPos2><SelStart2>5036</SelStart2><SelEnd2>5036</SelEnd2></Tab><ActiveTab>6</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-01348fe8><key>iaridepm.enu1</key></Toolbar-01348fe8></Sizes></Row0><Row1><Sizes><Toolbar-0d011448><key>debuggergui.enu1</key></Toolbar-0d011448></Sizes></Row1><Row2><Sizes><Toolbar-0d010b20><key>armjlink.enu1</key></Toolbar-0d010b20></Sizes></Row2></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>692</Bottom><Right>279</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>167262</sizeVertCX><sizeVertCY>706721</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-01348e70><key>iaridepm.enu1</key></Toolbar-01348e70></Sizes></Row0><Row1><Sizes><Toolbar-10e58c38><key>debuggergui.enu1</key></Toolbar-10e58c38></Sizes></Row1><Row2><Sizes><Toolbar-202d5380><key>armjlink.enu1</key></Toolbar-202d5380></Sizes></Row2></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>692</Bottom><Right>279</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>167262</sizeVertCX><sizeVertCY>706721</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ TriggerName=main
|
||||||
LimitSize=0
|
LimitSize=0
|
||||||
ByteLimit=50
|
ByteLimit=50
|
||||||
[DebugChecksum]
|
[DebugChecksum]
|
||||||
Checksum=-1591096957
|
Checksum=92877996
|
||||||
[Exceptions]
|
[Exceptions]
|
||||||
StopOnUncaught=_ 0
|
StopOnUncaught=_ 0
|
||||||
StopOnThrow=_ 0
|
StopOnThrow=_ 0
|
||||||
|
@ -23,9 +23,9 @@ CStepIntDis=_ 0
|
||||||
OverrideDefaultClocks=0
|
OverrideDefaultClocks=0
|
||||||
CpuClock=72000000
|
CpuClock=72000000
|
||||||
ClockAutoDetect=0
|
ClockAutoDetect=0
|
||||||
ClockWanted=1000000
|
ClockWanted=2000000
|
||||||
JtagSpeed=1000000
|
JtagSpeed=2000000
|
||||||
Prescaler=72
|
Prescaler=36
|
||||||
TimeStampPrescIndex=0
|
TimeStampPrescIndex=0
|
||||||
TimeStampPrescData=0
|
TimeStampPrescData=0
|
||||||
PcSampCYCTAP=1
|
PcSampCYCTAP=1
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<Workspace>
|
<Workspace>
|
||||||
<ConfigDictionary>
|
<ConfigDictionary>
|
||||||
|
|
||||||
<CurrentConfigs><Project>RTOSDemo/XMC4400</Project></CurrentConfigs></ConfigDictionary>
|
<CurrentConfigs><Project>RTOSDemo/XMC4500</Project></CurrentConfigs></ConfigDictionary>
|
||||||
<Desktop>
|
<Desktop>
|
||||||
<Static>
|
<Static>
|
||||||
<Workspace>
|
<Workspace>
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
<Windows>
|
<Windows>
|
||||||
|
|
||||||
|
|
||||||
<Wnd0>
|
<Wnd2>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-29494-21985</Identity>
|
<Identity>TabID-29494-21985</Identity>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd0><Wnd1>
|
<SelectedTab>0</SelectedTab></Wnd2><Wnd3>
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab>
|
<Tab>
|
||||||
<Identity>TabID-28344-23030</Identity>
|
<Identity>TabID-28344-23030</Identity>
|
||||||
|
@ -47,20 +47,20 @@
|
||||||
</Tab>
|
</Tab>
|
||||||
<Tab><Identity>TabID-19430-2343</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>
|
<Tab><Identity>TabID-19430-2343</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs>
|
||||||
|
|
||||||
<SelectedTab>0</SelectedTab></Wnd1></Windows>
|
<SelectedTab>0</SelectedTab></Wnd3></Windows>
|
||||||
<Editor>
|
<Editor>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>60</YPos2><SelStart2>5529</SelStart2><SelEnd2>5529</SelEnd2></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>60</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_full.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>63</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
<Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>60</YPos2><SelStart2>5611</SelStart2><SelEnd2>5611</SelEnd2></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
|
||||||
<Positions>
|
<Positions>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<Top><Row0><Sizes><Toolbar-01348fe8><key>iaridepm.enu1</key></Toolbar-01348fe8></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>232738</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
<Top><Row0><Sizes><Toolbar-01348e70><key>iaridepm.enu1</key></Toolbar-01348e70></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>740</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>232738</sizeVertCX><sizeVertCY>755601</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203666</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203666</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
|
||||||
</Desktop>
|
</Desktop>
|
||||||
</Workspace>
|
</Workspace>
|
||||||
|
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
/*
|
/*
|
||||||
* @file Startup_XMC4200.s
|
* @file Startup_XMC4200.s
|
||||||
* XMC4000 Device Series
|
* XMC4000 Device Series
|
||||||
* @version V1.0
|
* @version V1.1
|
||||||
* @date Jan 2013
|
* @date Augsut 2013
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
||||||
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @par
|
* @par
|
||||||
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
||||||
* Infineon's microcontrollers. This file can be freely distributed
|
* Infineon's microcontrollers. This file can be freely distributed
|
||||||
* within development tools that are supporting such microcontrollers.
|
* within development tools that are supporting such microcontrollers.
|
||||||
*
|
*
|
||||||
|
@ -28,6 +28,8 @@
|
||||||
/* ***************************************************************************
|
/* ***************************************************************************
|
||||||
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
||||||
is implmented (patch for the Exception and interrupt handlers)
|
is implmented (patch for the Exception and interrupt handlers)
|
||||||
|
V1.1 Augsut, 17 2013: Fix the bug of preprocessor due to workoraound for
|
||||||
|
the erratum PMU_CM.001, and the bug of stack pointer alignment to a 8 byte boundary
|
||||||
|
|
||||||
**************************************************************************** */
|
**************************************************************************** */
|
||||||
|
|
||||||
|
@ -54,7 +56,7 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
||||||
;/*
|
;/*
|
||||||
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
||||||
; * A veneer defined below will first be executed which in turn branches to the final
|
; * A veneer defined below will first be executed which in turn branches to the final
|
||||||
; * exception handler.
|
; * exception handler.
|
||||||
; *
|
; *
|
||||||
; * In addition to defining the veneers, the vector table must for these buggy
|
; * In addition to defining the veneers, the vector table must for these buggy
|
||||||
|
@ -62,8 +64,8 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
; */
|
; */
|
||||||
|
|
||||||
;set WORKAROUND_PMU_CM001 under Options for target
|
;set WORKAROUND_PMU_CM001 under Options for target
|
||||||
;Initialize varaible WORKAROUND_PMU_CM001 as FALSE
|
;define WORKAROUND_PMU_CM001 as TRUE
|
||||||
WORKAROUND_PMU_CM001 SET 1
|
#define WORKAROUND_PMU_CM001 1
|
||||||
|
|
||||||
;/* A macro to setup a vector table entry based on STEP ID */
|
;/* A macro to setup a vector table entry based on STEP ID */
|
||||||
#ifdef WORKAROUND_PMU_CM001
|
#ifdef WORKAROUND_PMU_CM001
|
||||||
|
@ -73,7 +75,7 @@ ExcpVector macro
|
||||||
#else
|
#else
|
||||||
ExcpVector macro
|
ExcpVector macro
|
||||||
DCD \1
|
DCD \1
|
||||||
endm
|
endm
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
;/* A macro to ease definition of the various handlers based on STEP ID */
|
;/* A macro to ease definition of the various handlers based on STEP ID */
|
||||||
|
@ -84,18 +86,18 @@ ProxyHandler macro
|
||||||
SECTION .text:CODE:REORDER:NOROOT(1)
|
SECTION .text:CODE:REORDER:NOROOT(1)
|
||||||
\1
|
\1
|
||||||
B \1
|
B \1
|
||||||
endm
|
;/* And then define a veneer that will branch to the final excp handler */
|
||||||
;/* And then define a veneer that will branch to the final excp handler */
|
PUBWEAK \1_Veneer
|
||||||
ProxyHandler_Veneer macro
|
|
||||||
PUBWEAK \1
|
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
\1
|
\1_Veneer:
|
||||||
LDR R0, =ProxyHandler
|
LDR R0, =\1
|
||||||
PUSH {LR}
|
PUSH {LR} /* Breaks AAPCS */
|
||||||
|
SUB SP,#4 /* Restores AAPCS */
|
||||||
BLX R0
|
BLX R0
|
||||||
|
ADD SP,#4
|
||||||
POP {PC}
|
POP {PC}
|
||||||
endm
|
endm
|
||||||
;/* No prefetch bug, hence define only the final exception handler */
|
;/* No prefetch bug, hence define only the final exception handler */
|
||||||
#else
|
#else
|
||||||
ProxyHandler macro
|
ProxyHandler macro
|
||||||
PUBWEAK \1
|
PUBWEAK \1
|
||||||
|
@ -109,136 +111,136 @@ ProxyHandler macro
|
||||||
|
|
||||||
__vector_table
|
__vector_table
|
||||||
DCD sfe(CSTACK)
|
DCD sfe(CSTACK)
|
||||||
DCD Reset_Handler ; Reset Handler
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
|
||||||
ExcpVector NMI_Handler ; NMI Handler
|
ExcpVector NMI_Handler ; NMI Handler
|
||||||
ExcpVector HardFault_Handler ; Hard Fault Handler
|
ExcpVector HardFault_Handler ; Hard Fault Handler
|
||||||
ExcpVector MemManage_Handler ; MPU Fault Handler
|
ExcpVector MemManage_Handler ; MPU Fault Handler
|
||||||
ExcpVector BusFault_Handler ; Bus Fault Handler
|
ExcpVector BusFault_Handler ; Bus Fault Handler
|
||||||
ExcpVector UsageFault_Handler ; Usage Fault Handler
|
ExcpVector UsageFault_Handler ; Usage Fault Handler
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
ExcpVector SVC_Handler ; SVCall Handler
|
ExcpVector SVC_Handler ; SVCall Handler
|
||||||
DCD DebugMon_Handler ; Debug Monitor Handler
|
ExcpVector DebugMon_Handler ; Debug Monitor Handler
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
ExcpVector PendSV_Handler ; PendSV Handler
|
ExcpVector PendSV_Handler ; PendSV Handler
|
||||||
ExcpVector SysTick_Handler ; SysTick Handler
|
ExcpVector SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
; Interrupt Handlers for Service Requests (SR) from XMC4200 Peripherals
|
; Interrupt Handlers for Service Requests (SR) from XMC4200 Peripherals
|
||||||
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
||||||
ExcpVector ERU0_0_IRQHandler ; Handler name for SR ERU0_0
|
ExcpVector ERU0_0_IRQHandler ; Handler name for SR ERU0_0
|
||||||
ExcpVector ERU0_1_IRQHandler ; Handler name for SR ERU0_1
|
ExcpVector ERU0_1_IRQHandler ; Handler name for SR ERU0_1
|
||||||
ExcpVector ERU0_2_IRQHandler ; Handler name for SR ERU0_2
|
ExcpVector ERU0_2_IRQHandler ; Handler name for SR ERU0_2
|
||||||
ExcpVector ERU0_3_IRQHandler ; Handler name for SR ERU0_3
|
ExcpVector ERU0_3_IRQHandler ; Handler name for SR ERU0_3
|
||||||
ExcpVector ERU1_0_IRQHandler ; Handler name for SR ERU1_0
|
ExcpVector ERU1_0_IRQHandler ; Handler name for SR ERU1_0
|
||||||
ExcpVector ERU1_1_IRQHandler ; Handler name for SR ERU1_1
|
ExcpVector ERU1_1_IRQHandler ; Handler name for SR ERU1_1
|
||||||
ExcpVector ERU1_2_IRQHandler ; Handler name for SR ERU1_2
|
ExcpVector ERU1_2_IRQHandler ; Handler name for SR ERU1_2
|
||||||
ExcpVector ERU1_3_IRQHandler ; Handler name for SR ERU1_3
|
ExcpVector ERU1_3_IRQHandler ; Handler name for SR ERU1_3
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector PMU0_0_IRQHandler ; Handler name for SR PMU0_0
|
ExcpVector PMU0_0_IRQHandler ; Handler name for SR PMU0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector VADC0_C0_0_IRQHandler ; Handler name for SR VADC0_C0_0
|
ExcpVector VADC0_C0_0_IRQHandler ; Handler name for SR VADC0_C0_0
|
||||||
ExcpVector VADC0_C0_1_IRQHandler ; Handler name for SR VADC0_C0_1
|
ExcpVector VADC0_C0_1_IRQHandler ; Handler name for SR VADC0_C0_1
|
||||||
ExcpVector VADC0_C0_2_IRQHandler ; Handler name for SR VADC0_C0_1
|
ExcpVector VADC0_C0_2_IRQHandler ; Handler name for SR VADC0_C0_1
|
||||||
ExcpVector VADC0_C0_3_IRQHandler ; Handler name for SR VADC0_C0_3
|
ExcpVector VADC0_C0_3_IRQHandler ; Handler name for SR VADC0_C0_3
|
||||||
ExcpVector VADC0_G0_0_IRQHandler ; Handler name for SR VADC0_G0_0
|
ExcpVector VADC0_G0_0_IRQHandler ; Handler name for SR VADC0_G0_0
|
||||||
ExcpVector VADC0_G0_1_IRQHandler ; Handler name for SR VADC0_G0_1
|
ExcpVector VADC0_G0_1_IRQHandler ; Handler name for SR VADC0_G0_1
|
||||||
ExcpVector VADC0_G0_2_IRQHandler ; Handler name for SR VADC0_G0_2
|
ExcpVector VADC0_G0_2_IRQHandler ; Handler name for SR VADC0_G0_2
|
||||||
ExcpVector VADC0_G0_3_IRQHandler ; Handler name for SR VADC0_G0_3
|
ExcpVector VADC0_G0_3_IRQHandler ; Handler name for SR VADC0_G0_3
|
||||||
ExcpVector VADC0_G1_0_IRQHandler ; Handler name for SR VADC0_G1_0
|
ExcpVector VADC0_G1_0_IRQHandler ; Handler name for SR VADC0_G1_0
|
||||||
ExcpVector VADC0_G1_1_IRQHandler ; Handler name for SR VADC0_G1_1
|
ExcpVector VADC0_G1_1_IRQHandler ; Handler name for SR VADC0_G1_1
|
||||||
ExcpVector VADC0_G1_2_IRQHandler ; Handler name for SR VADC0_G1_2
|
ExcpVector VADC0_G1_2_IRQHandler ; Handler name for SR VADC0_G1_2
|
||||||
ExcpVector VADC0_G1_3_IRQHandler ; Handler name for SR VADC0_G1_3
|
ExcpVector VADC0_G1_3_IRQHandler ; Handler name for SR VADC0_G1_3
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector DAC0_0_IRQHandler ; Handler name for SR DAC0_0
|
ExcpVector DAC0_0_IRQHandler ; Handler name for SR DAC0_0
|
||||||
ExcpVector DAC0_1_IRQHandler ; Handler name for SR DAC0_1
|
ExcpVector DAC0_1_IRQHandler ; Handler name for SR DAC0_1
|
||||||
ExcpVector CCU40_0_IRQHandler ; Handler name for SR CCU40_0
|
ExcpVector CCU40_0_IRQHandler ; Handler name for SR CCU40_0
|
||||||
ExcpVector CCU40_1_IRQHandler ; Handler name for SR CCU40_1
|
ExcpVector CCU40_1_IRQHandler ; Handler name for SR CCU40_1
|
||||||
ExcpVector CCU40_2_IRQHandler ; Handler name for SR CCU40_2
|
ExcpVector CCU40_2_IRQHandler ; Handler name for SR CCU40_2
|
||||||
ExcpVector CCU40_3_IRQHandler ; Handler name for SR CCU40_3
|
ExcpVector CCU40_3_IRQHandler ; Handler name for SR CCU40_3
|
||||||
ExcpVector CCU41_0_IRQHandler ; Handler name for SR CCU41_0
|
ExcpVector CCU41_0_IRQHandler ; Handler name for SR CCU41_0
|
||||||
ExcpVector CCU41_1_IRQHandler ; Handler name for SR CCU41_1
|
ExcpVector CCU41_1_IRQHandler ; Handler name for SR CCU41_1
|
||||||
ExcpVector CCU41_2_IRQHandler ; Handler name for SR CCU41_2
|
ExcpVector CCU41_2_IRQHandler ; Handler name for SR CCU41_2
|
||||||
ExcpVector CCU41_3_IRQHandler ; Handler name for SR CCU41_3
|
ExcpVector CCU41_3_IRQHandler ; Handler name for SR CCU41_3
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector CCU80_0_IRQHandler ; Handler name for SR CCU80_0
|
ExcpVector CCU80_0_IRQHandler ; Handler name for SR CCU80_0
|
||||||
ExcpVector CCU80_1_IRQHandler ; Handler name for SR CCU80_1
|
ExcpVector CCU80_1_IRQHandler ; Handler name for SR CCU80_1
|
||||||
ExcpVector CCU80_2_IRQHandler ; Handler name for SR CCU80_2
|
ExcpVector CCU80_2_IRQHandler ; Handler name for SR CCU80_2
|
||||||
ExcpVector CCU80_3_IRQHandler ; Handler name for SR CCU80_3
|
ExcpVector CCU80_3_IRQHandler ; Handler name for SR CCU80_3
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector POSIF0_0_IRQHandler ; Handler name for SR POSIF0_0
|
ExcpVector POSIF0_0_IRQHandler ; Handler name for SR POSIF0_0
|
||||||
ExcpVector POSIF0_1_IRQHandler ; Handler name for SR POSIF0_1
|
ExcpVector POSIF0_1_IRQHandler ; Handler name for SR POSIF0_1
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector HRPWM_0_IRQHandler ; Handler name for SR HRPWM_0
|
ExcpVector HRPWM_0_IRQHandler ; Handler name for SR HRPWM_0
|
||||||
ExcpVector HRPWM_1_IRQHandler ; Handler name for SR HRPWM_1
|
ExcpVector HRPWM_1_IRQHandler ; Handler name for SR HRPWM_1
|
||||||
ExcpVector HRPWM_2_IRQHandler ; Handler name for SR HRPWM_2
|
ExcpVector HRPWM_2_IRQHandler ; Handler name for SR HRPWM_2
|
||||||
ExcpVector HRPWM_3_IRQHandler ; Handler name for SR HRPWM_3
|
ExcpVector HRPWM_3_IRQHandler ; Handler name for SR HRPWM_3
|
||||||
ExcpVector CAN0_0_IRQHandler ; Handler name for SR CAN0_0
|
ExcpVector CAN0_0_IRQHandler ; Handler name for SR CAN0_0
|
||||||
ExcpVector CAN0_1_IRQHandler ; Handler name for SR CAN0_1
|
ExcpVector CAN0_1_IRQHandler ; Handler name for SR CAN0_1
|
||||||
ExcpVector CAN0_2_IRQHandler ; Handler name for SR CAN0_2
|
ExcpVector CAN0_2_IRQHandler ; Handler name for SR CAN0_2
|
||||||
ExcpVector CAN0_3_IRQHandler ; Handler name for SR CAN0_3
|
ExcpVector CAN0_3_IRQHandler ; Handler name for SR CAN0_3
|
||||||
ExcpVector CAN0_4_IRQHandler ; Handler name for SR CAN0_4
|
ExcpVector CAN0_4_IRQHandler ; Handler name for SR CAN0_4
|
||||||
ExcpVector CAN0_5_IRQHandler ; Handler name for SR CAN0_5
|
ExcpVector CAN0_5_IRQHandler ; Handler name for SR CAN0_5
|
||||||
ExcpVector CAN0_6_IRQHandler ; Handler name for SR CAN0_6
|
ExcpVector CAN0_6_IRQHandler ; Handler name for SR CAN0_6
|
||||||
ExcpVector CAN0_7_IRQHandler ; Handler name for SR CAN0_7
|
ExcpVector CAN0_7_IRQHandler ; Handler name for SR CAN0_7
|
||||||
ExcpVector USIC0_0_IRQHandler ; Handler name for SR USIC0_0
|
ExcpVector USIC0_0_IRQHandler ; Handler name for SR USIC0_0
|
||||||
ExcpVector USIC0_1_IRQHandler ; Handler name for SR USIC0_1
|
ExcpVector USIC0_1_IRQHandler ; Handler name for SR USIC0_1
|
||||||
ExcpVector USIC0_2_IRQHandler ; Handler name for SR USIC0_2
|
ExcpVector USIC0_2_IRQHandler ; Handler name for SR USIC0_2
|
||||||
ExcpVector USIC0_3_IRQHandler ; Handler name for SR USIC0_3
|
ExcpVector USIC0_3_IRQHandler ; Handler name for SR USIC0_3
|
||||||
ExcpVector USIC0_4_IRQHandler ; Handler name for SR USIC0_4
|
ExcpVector USIC0_4_IRQHandler ; Handler name for SR USIC0_4
|
||||||
ExcpVector USIC0_5_IRQHandler ; Handler name for SR USIC0_5
|
ExcpVector USIC0_5_IRQHandler ; Handler name for SR USIC0_5
|
||||||
ExcpVector USIC1_0_IRQHandler ; Handler name for SR USIC1_0
|
ExcpVector USIC1_0_IRQHandler ; Handler name for SR USIC1_0
|
||||||
ExcpVector USIC1_1_IRQHandler ; Handler name for SR USIC1_1
|
ExcpVector USIC1_1_IRQHandler ; Handler name for SR USIC1_1
|
||||||
ExcpVector USIC1_2_IRQHandler ; Handler name for SR USIC1_2
|
ExcpVector USIC1_2_IRQHandler ; Handler name for SR USIC1_2
|
||||||
ExcpVector USIC1_3_IRQHandler ; Handler name for SR USIC1_3
|
ExcpVector USIC1_3_IRQHandler ; Handler name for SR USIC1_3
|
||||||
ExcpVector USIC1_4_IRQHandler ; Handler name for SR USIC1_4
|
ExcpVector USIC1_4_IRQHandler ; Handler name for SR USIC1_4
|
||||||
ExcpVector USIC1_5_IRQHandler ; Handler name for SR USIC1_5
|
ExcpVector USIC1_5_IRQHandler ; Handler name for SR USIC1_5
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector LEDTS0_0_IRQHandler ; Handler name for SR LEDTS0_0
|
ExcpVector LEDTS0_0_IRQHandler ; Handler name for SR LEDTS0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector FCE0_0_IRQHandler ; Handler name for SR FCE0_0
|
ExcpVector FCE0_0_IRQHandler ; Handler name for SR FCE0_0
|
||||||
ExcpVector GPDMA0_0_IRQHandler ; Handler name for SR GPDMA0_0
|
ExcpVector GPDMA0_0_IRQHandler ; Handler name for SR GPDMA0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector USB0_0_IRQHandler ; Handler name for SR USB0_0
|
ExcpVector USB0_0_IRQHandler ; Handler name for SR USB0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
|
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
@ -251,12 +253,12 @@ __vector_table
|
||||||
Reset_Handler
|
Reset_Handler
|
||||||
|
|
||||||
LDR R0, =SystemInit
|
LDR R0, =SystemInit
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =SystemInit_DAVE3
|
LDR R0, =SystemInit_DAVE3
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =__iar_program_start
|
LDR R0, =__iar_program_start
|
||||||
BX R0
|
BX R0
|
||||||
|
|
||||||
|
|
||||||
ProxyHandler NMI_Handler
|
ProxyHandler NMI_Handler
|
||||||
ProxyHandler HardFault_Handler
|
ProxyHandler HardFault_Handler
|
||||||
|
@ -268,91 +270,91 @@ Reset_Handler
|
||||||
ProxyHandler PendSV_Handler
|
ProxyHandler PendSV_Handler
|
||||||
ProxyHandler SysTick_Handler
|
ProxyHandler SysTick_Handler
|
||||||
|
|
||||||
ProxyHandler SCU_0_IRQHandler
|
ProxyHandler SCU_0_IRQHandler
|
||||||
ProxyHandler ERU0_0_IRQHandler
|
ProxyHandler ERU0_0_IRQHandler
|
||||||
ProxyHandler ERU0_1_IRQHandler
|
ProxyHandler ERU0_1_IRQHandler
|
||||||
ProxyHandler ERU0_2_IRQHandler
|
ProxyHandler ERU0_2_IRQHandler
|
||||||
ProxyHandler ERU0_3_IRQHandler
|
ProxyHandler ERU0_3_IRQHandler
|
||||||
ProxyHandler ERU1_0_IRQHandler
|
ProxyHandler ERU1_0_IRQHandler
|
||||||
ProxyHandler ERU1_1_IRQHandler
|
ProxyHandler ERU1_1_IRQHandler
|
||||||
ProxyHandler ERU1_2_IRQHandler
|
ProxyHandler ERU1_2_IRQHandler
|
||||||
ProxyHandler ERU1_3_IRQHandler
|
ProxyHandler ERU1_3_IRQHandler
|
||||||
ProxyHandler PMU0_0_IRQHandler
|
ProxyHandler PMU0_0_IRQHandler
|
||||||
ProxyHandler VADC0_C0_0_IRQHandler
|
ProxyHandler VADC0_C0_0_IRQHandler
|
||||||
ProxyHandler VADC0_C0_1_IRQHandler
|
ProxyHandler VADC0_C0_1_IRQHandler
|
||||||
ProxyHandler VADC0_C0_2_IRQHandler
|
ProxyHandler VADC0_C0_2_IRQHandler
|
||||||
ProxyHandler VADC0_C0_3_IRQHandler
|
ProxyHandler VADC0_C0_3_IRQHandler
|
||||||
ProxyHandler VADC0_G0_0_IRQHandler
|
ProxyHandler VADC0_G0_0_IRQHandler
|
||||||
ProxyHandler VADC0_G0_1_IRQHandler
|
ProxyHandler VADC0_G0_1_IRQHandler
|
||||||
ProxyHandler VADC0_G0_2_IRQHandler
|
ProxyHandler VADC0_G0_2_IRQHandler
|
||||||
ProxyHandler VADC0_G0_3_IRQHandler
|
ProxyHandler VADC0_G0_3_IRQHandler
|
||||||
ProxyHandler VADC0_G1_0_IRQHandler
|
ProxyHandler VADC0_G1_0_IRQHandler
|
||||||
ProxyHandler VADC0_G1_1_IRQHandler
|
ProxyHandler VADC0_G1_1_IRQHandler
|
||||||
ProxyHandler VADC0_G1_2_IRQHandler
|
ProxyHandler VADC0_G1_2_IRQHandler
|
||||||
ProxyHandler VADC0_G1_3_IRQHandler
|
ProxyHandler VADC0_G1_3_IRQHandler
|
||||||
ProxyHandler DAC0_0_IRQHandler
|
ProxyHandler DAC0_0_IRQHandler
|
||||||
ProxyHandler DAC0_1_IRQHandler
|
ProxyHandler DAC0_1_IRQHandler
|
||||||
ProxyHandler CCU40_0_IRQHandler
|
ProxyHandler CCU40_0_IRQHandler
|
||||||
ProxyHandler CCU40_1_IRQHandler
|
ProxyHandler CCU40_1_IRQHandler
|
||||||
ProxyHandler CCU40_2_IRQHandler
|
ProxyHandler CCU40_2_IRQHandler
|
||||||
ProxyHandler CCU40_3_IRQHandler
|
ProxyHandler CCU40_3_IRQHandler
|
||||||
ProxyHandler CCU41_0_IRQHandler
|
ProxyHandler CCU41_0_IRQHandler
|
||||||
ProxyHandler CCU41_1_IRQHandler
|
ProxyHandler CCU41_1_IRQHandler
|
||||||
ProxyHandler CCU41_2_IRQHandler
|
ProxyHandler CCU41_2_IRQHandler
|
||||||
ProxyHandler CCU41_3_IRQHandler
|
ProxyHandler CCU41_3_IRQHandler
|
||||||
ProxyHandler CCU80_0_IRQHandler
|
ProxyHandler CCU80_0_IRQHandler
|
||||||
ProxyHandler CCU80_1_IRQHandler
|
ProxyHandler CCU80_1_IRQHandler
|
||||||
ProxyHandler CCU80_2_IRQHandler
|
ProxyHandler CCU80_2_IRQHandler
|
||||||
ProxyHandler CCU80_3_IRQHandler
|
ProxyHandler CCU80_3_IRQHandler
|
||||||
ProxyHandler POSIF0_0_IRQHandler
|
ProxyHandler POSIF0_0_IRQHandler
|
||||||
ProxyHandler POSIF0_1_IRQHandler
|
ProxyHandler POSIF0_1_IRQHandler
|
||||||
ProxyHandler HRPWM_0_IRQHandler
|
ProxyHandler HRPWM_0_IRQHandler
|
||||||
ProxyHandler HRPWM_1_IRQHandler
|
ProxyHandler HRPWM_1_IRQHandler
|
||||||
ProxyHandler HRPWM_2_IRQHandler
|
ProxyHandler HRPWM_2_IRQHandler
|
||||||
ProxyHandler HRPWM_3_IRQHandler
|
ProxyHandler HRPWM_3_IRQHandler
|
||||||
ProxyHandler CAN0_0_IRQHandler
|
ProxyHandler CAN0_0_IRQHandler
|
||||||
ProxyHandler CAN0_1_IRQHandler
|
ProxyHandler CAN0_1_IRQHandler
|
||||||
ProxyHandler CAN0_2_IRQHandler
|
ProxyHandler CAN0_2_IRQHandler
|
||||||
ProxyHandler CAN0_3_IRQHandler
|
ProxyHandler CAN0_3_IRQHandler
|
||||||
ProxyHandler CAN0_4_IRQHandler
|
ProxyHandler CAN0_4_IRQHandler
|
||||||
ProxyHandler CAN0_5_IRQHandler
|
ProxyHandler CAN0_5_IRQHandler
|
||||||
ProxyHandler CAN0_6_IRQHandler
|
ProxyHandler CAN0_6_IRQHandler
|
||||||
ProxyHandler CAN0_7_IRQHandler
|
ProxyHandler CAN0_7_IRQHandler
|
||||||
ProxyHandler USIC0_0_IRQHandler
|
ProxyHandler USIC0_0_IRQHandler
|
||||||
ProxyHandler USIC0_1_IRQHandler
|
ProxyHandler USIC0_1_IRQHandler
|
||||||
ProxyHandler USIC0_2_IRQHandler
|
ProxyHandler USIC0_2_IRQHandler
|
||||||
ProxyHandler USIC0_3_IRQHandler
|
ProxyHandler USIC0_3_IRQHandler
|
||||||
ProxyHandler USIC0_4_IRQHandler
|
ProxyHandler USIC0_4_IRQHandler
|
||||||
ProxyHandler USIC0_5_IRQHandler
|
ProxyHandler USIC0_5_IRQHandler
|
||||||
ProxyHandler USIC1_0_IRQHandler
|
ProxyHandler USIC1_0_IRQHandler
|
||||||
ProxyHandler USIC1_1_IRQHandler
|
ProxyHandler USIC1_1_IRQHandler
|
||||||
ProxyHandler USIC1_2_IRQHandler
|
ProxyHandler USIC1_2_IRQHandler
|
||||||
ProxyHandler USIC1_3_IRQHandler
|
ProxyHandler USIC1_3_IRQHandler
|
||||||
ProxyHandler USIC1_4_IRQHandler
|
ProxyHandler USIC1_4_IRQHandler
|
||||||
ProxyHandler USIC1_5_IRQHandler
|
ProxyHandler USIC1_5_IRQHandler
|
||||||
ProxyHandler LEDTS0_0_IRQHandler
|
ProxyHandler LEDTS0_0_IRQHandler
|
||||||
ProxyHandler FCE0_0_IRQHandler
|
ProxyHandler FCE0_0_IRQHandler
|
||||||
ProxyHandler GPDMA0_0_IRQHandler
|
ProxyHandler GPDMA0_0_IRQHandler
|
||||||
ProxyHandler USB0_0_IRQHandler
|
ProxyHandler USB0_0_IRQHandler
|
||||||
|
|
||||||
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
||||||
PUBWEAK SystemInit_DAVE3
|
PUBWEAK SystemInit_DAVE3
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
SystemInit_DAVE3
|
SystemInit_DAVE3
|
||||||
NOP
|
NOP
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
; Definition of the default weak DAVE3 function for clock App usage.
|
; Definition of the default weak DAVE3 function for clock App usage.
|
||||||
; AllowPLLInitByStartup Handler
|
; AllowPLLInitByStartup Handler
|
||||||
PUBWEAK AllowPLLInitByStartup
|
PUBWEAK AllowPLLInitByStartup
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
AllowPLLInitByStartup
|
AllowPLLInitByStartup
|
||||||
MOV R0,#1
|
MOV R0,#1
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
PREF_PCON EQU 0x58004000
|
PREF_PCON EQU 0x58004000
|
||||||
SCU_GCU_PEEN EQU 0x5000413C
|
SCU_GCU_PEEN EQU 0x5000413C
|
||||||
SCU_GCU_PEFLAG EQU 0x50004150
|
SCU_GCU_PEFLAG EQU 0x50004150
|
||||||
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
/**
|
/**
|
||||||
* @file Startup_XMC4400.s
|
* @file Startup_XMC4400.s
|
||||||
* XMC4000 Device Series
|
* XMC4000 Device Series
|
||||||
* @version V1.0
|
* @version V1.1
|
||||||
* @date Jan 2013
|
* @date August 2013
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
||||||
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @par
|
* @par
|
||||||
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
||||||
* Infineon's microcontrollers. This file can be freely distributed
|
* Infineon's microcontrollers. This file can be freely distributed
|
||||||
* within development tools that are supporting such microcontrollers.
|
* within development tools that are supporting such microcontrollers.
|
||||||
*
|
*
|
||||||
|
@ -28,6 +28,8 @@
|
||||||
/* ***************************************************************************
|
/* ***************************************************************************
|
||||||
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
||||||
is implmented (patch for the Exception and interrupt handlers)
|
is implmented (patch for the Exception and interrupt handlers)
|
||||||
|
V1.1 Augsut, 17 2013: Fix the bug of preprocessor due to workoraound for
|
||||||
|
the erratum PMU_CM.001, and the bug of stack pointer alignment to a 8 byte boundary
|
||||||
|
|
||||||
**************************************************************************** */
|
**************************************************************************** */
|
||||||
|
|
||||||
|
@ -43,7 +45,7 @@ is implmented (patch for the Exception and interrupt handlers)
|
||||||
SECTION .intvec:CODE:NOROOT(2)
|
SECTION .intvec:CODE:NOROOT(2)
|
||||||
|
|
||||||
EXTERN __iar_program_start
|
EXTERN __iar_program_start
|
||||||
EXTERN SystemInit
|
EXTERN SystemInit
|
||||||
PUBLIC __vector_table
|
PUBLIC __vector_table
|
||||||
|
|
||||||
DATA
|
DATA
|
||||||
|
@ -54,7 +56,7 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
||||||
;/*
|
;/*
|
||||||
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
||||||
; * A veneer defined below will first be executed which in turn branches to the final
|
; * A veneer defined below will first be executed which in turn branches to the final
|
||||||
; * exception handler.
|
; * exception handler.
|
||||||
; *
|
; *
|
||||||
; * In addition to defining the veneers, the vector table must for these buggy
|
; * In addition to defining the veneers, the vector table must for these buggy
|
||||||
|
@ -62,8 +64,8 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
; */
|
; */
|
||||||
|
|
||||||
;set WORKAROUND_PMU_CM001 under Options for target
|
;set WORKAROUND_PMU_CM001 under Options for target
|
||||||
;Initialize varaible WORKAROUND_PMU_CM001 as FALSE
|
;define WORKAROUND_PMU_CM001 as TRUE
|
||||||
WORKAROUND_PMU_CM001 SET 1
|
#define WORKAROUND_PMU_CM001 1
|
||||||
|
|
||||||
;/* A macro to setup a vector table entry based on STEP ID */
|
;/* A macro to setup a vector table entry based on STEP ID */
|
||||||
#ifdef WORKAROUND_PMU_CM001
|
#ifdef WORKAROUND_PMU_CM001
|
||||||
|
@ -73,7 +75,7 @@ ExcpVector macro
|
||||||
#else
|
#else
|
||||||
ExcpVector macro
|
ExcpVector macro
|
||||||
DCD \1
|
DCD \1
|
||||||
endm
|
endm
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
;/* A macro to ease definition of the various handlers based on STEP ID */
|
;/* A macro to ease definition of the various handlers based on STEP ID */
|
||||||
|
@ -84,18 +86,19 @@ ProxyHandler macro
|
||||||
SECTION .text:CODE:REORDER:NOROOT(1)
|
SECTION .text:CODE:REORDER:NOROOT(1)
|
||||||
\1
|
\1
|
||||||
B \1
|
B \1
|
||||||
endm
|
;/* And then define a veneer that will branch to the final excp handler */
|
||||||
;/* And then define a veneer that will branch to the final excp handler */
|
PUBWEAK \1_Veneer
|
||||||
ProxyHandler_Veneer macro
|
|
||||||
PUBWEAK \1
|
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
\1
|
\1_Veneer
|
||||||
LDR R0, =ProxyHandler
|
LDR R0, =\1
|
||||||
PUSH {LR}
|
PUSH {LR} /* Breaks AAPCS */
|
||||||
|
SUB SP,#4 /* Restores AAPCS */
|
||||||
BLX R0
|
BLX R0
|
||||||
|
ADD SP,#4
|
||||||
POP {PC}
|
POP {PC}
|
||||||
endm
|
endm
|
||||||
;/* No prefetch bug, hence define only the final exception handler */
|
|
||||||
|
;/* No prefetch bug, hence define only the final exception handler */
|
||||||
#else
|
#else
|
||||||
ProxyHandler macro
|
ProxyHandler macro
|
||||||
PUBWEAK \1
|
PUBWEAK \1
|
||||||
|
@ -109,136 +112,136 @@ ProxyHandler macro
|
||||||
|
|
||||||
__vector_table
|
__vector_table
|
||||||
DCD sfe(CSTACK)
|
DCD sfe(CSTACK)
|
||||||
DCD Reset_Handler ; Reset Handler
|
DCD Reset_Handler ; Reset Handler
|
||||||
|
|
||||||
ExcpVector NMI_Handler ; NMI Handler
|
ExcpVector NMI_Handler ; NMI Handler
|
||||||
ExcpVector HardFault_Handler ; Hard Fault Handler
|
ExcpVector HardFault_Handler ; Hard Fault Handler
|
||||||
ExcpVector MemManage_Handler ; MPU Fault Handler
|
ExcpVector MemManage_Handler ; MPU Fault Handler
|
||||||
ExcpVector BusFault_Handler ; Bus Fault Handler
|
ExcpVector BusFault_Handler ; Bus Fault Handler
|
||||||
ExcpVector UsageFault_Handler ; Usage Fault Handler
|
ExcpVector UsageFault_Handler ; Usage Fault Handler
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
ExcpVector SVC_Handler ; SVCall Handler
|
ExcpVector SVC_Handler ; SVCall Handler
|
||||||
ExcpVector DebugMon_Handler ; Debug Monitor Handler
|
ExcpVector DebugMon_Handler ; Debug Monitor Handler
|
||||||
DCD 0 ; Reserved
|
DCD 0 ; Reserved
|
||||||
ExcpVector PendSV_Handler ; PendSV Handler
|
ExcpVector PendSV_Handler ; PendSV Handler
|
||||||
ExcpVector SysTick_Handler ; SysTick Handler
|
ExcpVector SysTick_Handler ; SysTick Handler
|
||||||
|
|
||||||
; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals
|
; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals
|
||||||
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
||||||
ExcpVector ERU0_0_IRQHandler ; Handler name for SR ERU0_0
|
ExcpVector ERU0_0_IRQHandler ; Handler name for SR ERU0_0
|
||||||
ExcpVector ERU0_1_IRQHandler ; Handler name for SR ERU0_1
|
ExcpVector ERU0_1_IRQHandler ; Handler name for SR ERU0_1
|
||||||
ExcpVector ERU0_2_IRQHandler ; Handler name for SR ERU0_2
|
ExcpVector ERU0_2_IRQHandler ; Handler name for SR ERU0_2
|
||||||
ExcpVector ERU0_3_IRQHandler ; Handler name for SR ERU0_3
|
ExcpVector ERU0_3_IRQHandler ; Handler name for SR ERU0_3
|
||||||
ExcpVector ERU1_0_IRQHandler ; Handler name for SR ERU1_0
|
ExcpVector ERU1_0_IRQHandler ; Handler name for SR ERU1_0
|
||||||
ExcpVector ERU1_1_IRQHandler ; Handler name for SR ERU1_1
|
ExcpVector ERU1_1_IRQHandler ; Handler name for SR ERU1_1
|
||||||
ExcpVector ERU1_2_IRQHandler ; Handler name for SR ERU1_2
|
ExcpVector ERU1_2_IRQHandler ; Handler name for SR ERU1_2
|
||||||
ExcpVector ERU1_3_IRQHandler ; Handler name for SR ERU1_3
|
ExcpVector ERU1_3_IRQHandler ; Handler name for SR ERU1_3
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector PMU0_0_IRQHandler ; Handler name for SR PMU0_0
|
ExcpVector PMU0_0_IRQHandler ; Handler name for SR PMU0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector VADC0_C0_0_IRQHandler ; Handler name for SR VADC0_C0_0
|
ExcpVector VADC0_C0_0_IRQHandler ; Handler name for SR VADC0_C0_0
|
||||||
ExcpVector VADC0_C0_1_IRQHandler ; Handler name for SR VADC0_C0_1
|
ExcpVector VADC0_C0_1_IRQHandler ; Handler name for SR VADC0_C0_1
|
||||||
ExcpVector VADC0_C0_2_IRQHandler ; Handler name for SR VADC0_C0_1
|
ExcpVector VADC0_C0_2_IRQHandler ; Handler name for SR VADC0_C0_1
|
||||||
ExcpVector VADC0_C0_3_IRQHandler ; Handler name for SR VADC0_C0_3
|
ExcpVector VADC0_C0_3_IRQHandler ; Handler name for SR VADC0_C0_3
|
||||||
ExcpVector VADC0_G0_0_IRQHandler ; Handler name for SR VADC0_G0_0
|
ExcpVector VADC0_G0_0_IRQHandler ; Handler name for SR VADC0_G0_0
|
||||||
ExcpVector VADC0_G0_1_IRQHandler ; Handler name for SR VADC0_G0_1
|
ExcpVector VADC0_G0_1_IRQHandler ; Handler name for SR VADC0_G0_1
|
||||||
ExcpVector VADC0_G0_2_IRQHandler ; Handler name for SR VADC0_G0_2
|
ExcpVector VADC0_G0_2_IRQHandler ; Handler name for SR VADC0_G0_2
|
||||||
ExcpVector VADC0_G0_3_IRQHandler ; Handler name for SR VADC0_G0_3
|
ExcpVector VADC0_G0_3_IRQHandler ; Handler name for SR VADC0_G0_3
|
||||||
ExcpVector VADC0_G1_0_IRQHandler ; Handler name for SR VADC0_G1_0
|
ExcpVector VADC0_G1_0_IRQHandler ; Handler name for SR VADC0_G1_0
|
||||||
ExcpVector VADC0_G1_1_IRQHandler ; Handler name for SR VADC0_G1_1
|
ExcpVector VADC0_G1_1_IRQHandler ; Handler name for SR VADC0_G1_1
|
||||||
ExcpVector VADC0_G1_2_IRQHandler ; Handler name for SR VADC0_G1_2
|
ExcpVector VADC0_G1_2_IRQHandler ; Handler name for SR VADC0_G1_2
|
||||||
ExcpVector VADC0_G1_3_IRQHandler ; Handler name for SR VADC0_G1_3
|
ExcpVector VADC0_G1_3_IRQHandler ; Handler name for SR VADC0_G1_3
|
||||||
ExcpVector VADC0_G2_0_IRQHandler ; Handler name for SR VADC0_G2_0
|
ExcpVector VADC0_G2_0_IRQHandler ; Handler name for SR VADC0_G2_0
|
||||||
ExcpVector VADC0_G2_1_IRQHandler ; Handler name for SR VADC0_G2_1
|
ExcpVector VADC0_G2_1_IRQHandler ; Handler name for SR VADC0_G2_1
|
||||||
ExcpVector VADC0_G2_2_IRQHandler ; Handler name for SR VADC0_G2_2
|
ExcpVector VADC0_G2_2_IRQHandler ; Handler name for SR VADC0_G2_2
|
||||||
ExcpVector VADC0_G2_3_IRQHandler ; Handler name for SR VADC0_G2_3
|
ExcpVector VADC0_G2_3_IRQHandler ; Handler name for SR VADC0_G2_3
|
||||||
ExcpVector VADC0_G3_0_IRQHandler ; Handler name for SR VADC0_G3_0
|
ExcpVector VADC0_G3_0_IRQHandler ; Handler name for SR VADC0_G3_0
|
||||||
ExcpVector VADC0_G3_1_IRQHandler ; Handler name for SR VADC0_G3_1
|
ExcpVector VADC0_G3_1_IRQHandler ; Handler name for SR VADC0_G3_1
|
||||||
ExcpVector VADC0_G3_2_IRQHandler ; Handler name for SR VADC0_G3_2
|
ExcpVector VADC0_G3_2_IRQHandler ; Handler name for SR VADC0_G3_2
|
||||||
ExcpVector VADC0_G3_3_IRQHandler ; Handler name for SR VADC0_G3_3
|
ExcpVector VADC0_G3_3_IRQHandler ; Handler name for SR VADC0_G3_3
|
||||||
ExcpVector DSD0_0_IRQHandler ; Handler name for SR DSD_SRM_0
|
ExcpVector DSD0_0_IRQHandler ; Handler name for SR DSD_SRM_0
|
||||||
ExcpVector DSD0_1_IRQHandler ; Handler name for SR DSD_SRM_1
|
ExcpVector DSD0_1_IRQHandler ; Handler name for SR DSD_SRM_1
|
||||||
ExcpVector DSD0_2_IRQHandler ; Handler name for SR DSD_SRM_2
|
ExcpVector DSD0_2_IRQHandler ; Handler name for SR DSD_SRM_2
|
||||||
ExcpVector DSD0_3_IRQHandler ; Handler name for SR DSD_SRM_3
|
ExcpVector DSD0_3_IRQHandler ; Handler name for SR DSD_SRM_3
|
||||||
ExcpVector DSD0_4_IRQHandler ; Handler name for SR DSD_SRA_0
|
ExcpVector DSD0_4_IRQHandler ; Handler name for SR DSD_SRA_0
|
||||||
ExcpVector DSD0_5_IRQHandler ; Handler name for SR DSD_SRA_1
|
ExcpVector DSD0_5_IRQHandler ; Handler name for SR DSD_SRA_1
|
||||||
ExcpVector DSD0_6_IRQHandler ; Handler name for SR DSD_SRA_2
|
ExcpVector DSD0_6_IRQHandler ; Handler name for SR DSD_SRA_2
|
||||||
ExcpVector DSD0_7_IRQHandler ; Handler name for SR DSD_SRA_3
|
ExcpVector DSD0_7_IRQHandler ; Handler name for SR DSD_SRA_3
|
||||||
ExcpVector DAC0_0_IRQHandler ; Handler name for SR DAC0_0
|
ExcpVector DAC0_0_IRQHandler ; Handler name for SR DAC0_0
|
||||||
ExcpVector DAC0_1_IRQHandler ; Handler name for SR DAC0_1
|
ExcpVector DAC0_1_IRQHandler ; Handler name for SR DAC0_1
|
||||||
ExcpVector CCU40_0_IRQHandler ; Handler name for SR CCU40_0
|
ExcpVector CCU40_0_IRQHandler ; Handler name for SR CCU40_0
|
||||||
ExcpVector CCU40_1_IRQHandler ; Handler name for SR CCU40_1
|
ExcpVector CCU40_1_IRQHandler ; Handler name for SR CCU40_1
|
||||||
ExcpVector CCU40_2_IRQHandler ; Handler name for SR CCU40_2
|
ExcpVector CCU40_2_IRQHandler ; Handler name for SR CCU40_2
|
||||||
ExcpVector CCU40_3_IRQHandler ; Handler name for SR CCU40_3
|
ExcpVector CCU40_3_IRQHandler ; Handler name for SR CCU40_3
|
||||||
ExcpVector CCU41_0_IRQHandler ; Handler name for SR CCU41_0
|
ExcpVector CCU41_0_IRQHandler ; Handler name for SR CCU41_0
|
||||||
ExcpVector CCU41_1_IRQHandler ; Handler name for SR CCU41_1
|
ExcpVector CCU41_1_IRQHandler ; Handler name for SR CCU41_1
|
||||||
ExcpVector CCU41_2_IRQHandler ; Handler name for SR CCU41_2
|
ExcpVector CCU41_2_IRQHandler ; Handler name for SR CCU41_2
|
||||||
ExcpVector CCU41_3_IRQHandler ; Handler name for SR CCU41_3
|
ExcpVector CCU41_3_IRQHandler ; Handler name for SR CCU41_3
|
||||||
ExcpVector CCU42_0_IRQHandler ; Handler name for SR CCU42_0
|
ExcpVector CCU42_0_IRQHandler ; Handler name for SR CCU42_0
|
||||||
ExcpVector CCU42_1_IRQHandler ; Handler name for SR CCU42_1
|
ExcpVector CCU42_1_IRQHandler ; Handler name for SR CCU42_1
|
||||||
ExcpVector CCU42_2_IRQHandler ; Handler name for SR CCU42_2
|
ExcpVector CCU42_2_IRQHandler ; Handler name for SR CCU42_2
|
||||||
ExcpVector CCU42_3_IRQHandler ; Handler name for SR CCU42_3
|
ExcpVector CCU42_3_IRQHandler ; Handler name for SR CCU42_3
|
||||||
ExcpVector CCU43_0_IRQHandler ; Handler name for SR CCU43_0
|
ExcpVector CCU43_0_IRQHandler ; Handler name for SR CCU43_0
|
||||||
ExcpVector CCU43_1_IRQHandler ; Handler name for SR CCU43_1
|
ExcpVector CCU43_1_IRQHandler ; Handler name for SR CCU43_1
|
||||||
ExcpVector CCU43_2_IRQHandler ; Handler name for SR CCU43_2
|
ExcpVector CCU43_2_IRQHandler ; Handler name for SR CCU43_2
|
||||||
ExcpVector CCU43_3_IRQHandler ; Handler name for SR CCU43_3
|
ExcpVector CCU43_3_IRQHandler ; Handler name for SR CCU43_3
|
||||||
ExcpVector CCU80_0_IRQHandler ; Handler name for SR CCU80_0
|
ExcpVector CCU80_0_IRQHandler ; Handler name for SR CCU80_0
|
||||||
ExcpVector CCU80_1_IRQHandler ; Handler name for SR CCU80_1
|
ExcpVector CCU80_1_IRQHandler ; Handler name for SR CCU80_1
|
||||||
ExcpVector CCU80_2_IRQHandler ; Handler name for SR CCU80_2
|
ExcpVector CCU80_2_IRQHandler ; Handler name for SR CCU80_2
|
||||||
ExcpVector CCU80_3_IRQHandler ; Handler name for SR CCU80_3
|
ExcpVector CCU80_3_IRQHandler ; Handler name for SR CCU80_3
|
||||||
ExcpVector CCU81_0_IRQHandler ; Handler name for SR CCU81_0
|
ExcpVector CCU81_0_IRQHandler ; Handler name for SR CCU81_0
|
||||||
ExcpVector CCU81_1_IRQHandler ; Handler name for SR CCU81_1
|
ExcpVector CCU81_1_IRQHandler ; Handler name for SR CCU81_1
|
||||||
ExcpVector CCU81_2_IRQHandler ; Handler name for SR CCU81_2
|
ExcpVector CCU81_2_IRQHandler ; Handler name for SR CCU81_2
|
||||||
ExcpVector CCU81_3_IRQHandler ; Handler name for SR CCU81_3
|
ExcpVector CCU81_3_IRQHandler ; Handler name for SR CCU81_3
|
||||||
ExcpVector POSIF0_0_IRQHandler ; Handler name for SR POSIF0_0
|
ExcpVector POSIF0_0_IRQHandler ; Handler name for SR POSIF0_0
|
||||||
ExcpVector POSIF0_1_IRQHandler ; Handler name for SR POSIF0_1
|
ExcpVector POSIF0_1_IRQHandler ; Handler name for SR POSIF0_1
|
||||||
ExcpVector POSIF1_0_IRQHandler ; Handler name for SR POSIF1_0
|
ExcpVector POSIF1_0_IRQHandler ; Handler name for SR POSIF1_0
|
||||||
ExcpVector POSIF1_1_IRQHandler ; Handler name for SR POSIF1_1
|
ExcpVector POSIF1_1_IRQHandler ; Handler name for SR POSIF1_1
|
||||||
ExcpVector HRPWM_0_IRQHandler ; Handler name for SR HRPWM_0
|
ExcpVector HRPWM_0_IRQHandler ; Handler name for SR HRPWM_0
|
||||||
ExcpVector HRPWM_1_IRQHandler ; Handler name for SR HRPWM_1
|
ExcpVector HRPWM_1_IRQHandler ; Handler name for SR HRPWM_1
|
||||||
ExcpVector HRPWM_2_IRQHandler ; Handler name for SR HRPWM_2
|
ExcpVector HRPWM_2_IRQHandler ; Handler name for SR HRPWM_2
|
||||||
ExcpVector HRPWM_3_IRQHandler ; Handler name for SR HRPWM_3
|
ExcpVector HRPWM_3_IRQHandler ; Handler name for SR HRPWM_3
|
||||||
ExcpVector CAN0_0_IRQHandler ; Handler name for SR CAN0_0
|
ExcpVector CAN0_0_IRQHandler ; Handler name for SR CAN0_0
|
||||||
ExcpVector CAN0_1_IRQHandler ; Handler name for SR CAN0_1
|
ExcpVector CAN0_1_IRQHandler ; Handler name for SR CAN0_1
|
||||||
ExcpVector CAN0_2_IRQHandler ; Handler name for SR CAN0_2
|
ExcpVector CAN0_2_IRQHandler ; Handler name for SR CAN0_2
|
||||||
ExcpVector CAN0_3_IRQHandler ; Handler name for SR CAN0_3
|
ExcpVector CAN0_3_IRQHandler ; Handler name for SR CAN0_3
|
||||||
ExcpVector CAN0_4_IRQHandler ; Handler name for SR CAN0_4
|
ExcpVector CAN0_4_IRQHandler ; Handler name for SR CAN0_4
|
||||||
ExcpVector CAN0_5_IRQHandler ; Handler name for SR CAN0_5
|
ExcpVector CAN0_5_IRQHandler ; Handler name for SR CAN0_5
|
||||||
ExcpVector CAN0_6_IRQHandler ; Handler name for SR CAN0_6
|
ExcpVector CAN0_6_IRQHandler ; Handler name for SR CAN0_6
|
||||||
ExcpVector CAN0_7_IRQHandler ; Handler name for SR CAN0_7
|
ExcpVector CAN0_7_IRQHandler ; Handler name for SR CAN0_7
|
||||||
ExcpVector USIC0_0_IRQHandler ; Handler name for SR USIC0_0
|
ExcpVector USIC0_0_IRQHandler ; Handler name for SR USIC0_0
|
||||||
ExcpVector USIC0_1_IRQHandler ; Handler name for SR USIC0_1
|
ExcpVector USIC0_1_IRQHandler ; Handler name for SR USIC0_1
|
||||||
ExcpVector USIC0_2_IRQHandler ; Handler name for SR USIC0_2
|
ExcpVector USIC0_2_IRQHandler ; Handler name for SR USIC0_2
|
||||||
ExcpVector USIC0_3_IRQHandler ; Handler name for SR USIC0_3
|
ExcpVector USIC0_3_IRQHandler ; Handler name for SR USIC0_3
|
||||||
ExcpVector USIC0_4_IRQHandler ; Handler name for SR USIC0_4
|
ExcpVector USIC0_4_IRQHandler ; Handler name for SR USIC0_4
|
||||||
ExcpVector USIC0_5_IRQHandler ; Handler name for SR USIC0_5
|
ExcpVector USIC0_5_IRQHandler ; Handler name for SR USIC0_5
|
||||||
ExcpVector USIC1_0_IRQHandler ; Handler name for SR USIC1_0
|
ExcpVector USIC1_0_IRQHandler ; Handler name for SR USIC1_0
|
||||||
ExcpVector USIC1_1_IRQHandler ; Handler name for SR USIC1_1
|
ExcpVector USIC1_1_IRQHandler ; Handler name for SR USIC1_1
|
||||||
ExcpVector USIC1_2_IRQHandler ; Handler name for SR USIC1_2
|
ExcpVector USIC1_2_IRQHandler ; Handler name for SR USIC1_2
|
||||||
ExcpVector USIC1_3_IRQHandler ; Handler name for SR USIC1_3
|
ExcpVector USIC1_3_IRQHandler ; Handler name for SR USIC1_3
|
||||||
ExcpVector USIC1_4_IRQHandler ; Handler name for SR USIC1_4
|
ExcpVector USIC1_4_IRQHandler ; Handler name for SR USIC1_4
|
||||||
ExcpVector USIC1_5_IRQHandler ; Handler name for SR USIC1_5
|
ExcpVector USIC1_5_IRQHandler ; Handler name for SR USIC1_5
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector LEDTS0_0_IRQHandler ; Handler name for SR LEDTS0_0
|
ExcpVector LEDTS0_0_IRQHandler ; Handler name for SR LEDTS0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector FCE0_0_IRQHandler ; Handler name for SR FCE0_0
|
ExcpVector FCE0_0_IRQHandler ; Handler name for SR FCE0_0
|
||||||
ExcpVector GPDMA0_0_IRQHandler ; Handler name for SR GPDMA0_0
|
ExcpVector GPDMA0_0_IRQHandler ; Handler name for SR GPDMA0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
ExcpVector USB0_0_IRQHandler ; Handler name for SR USB0_0
|
ExcpVector USB0_0_IRQHandler ; Handler name for SR USB0_0
|
||||||
ExcpVector ETH0_0_IRQHandler ; Handler name for SR ETH0_0
|
ExcpVector ETH0_0_IRQHandler ; Handler name for SR ETH0_0
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
DCD 0 ; Not Available
|
DCD 0 ; Not Available
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -253,12 +256,12 @@ __vector_table
|
||||||
Reset_Handler
|
Reset_Handler
|
||||||
|
|
||||||
LDR R0, =SystemInit
|
LDR R0, =SystemInit
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =SystemInit_DAVE3
|
LDR R0, =SystemInit_DAVE3
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =__iar_program_start
|
LDR R0, =__iar_program_start
|
||||||
BX R0
|
BX R0
|
||||||
|
|
||||||
|
|
||||||
ProxyHandler NMI_Handler
|
ProxyHandler NMI_Handler
|
||||||
ProxyHandler HardFault_Handler
|
ProxyHandler HardFault_Handler
|
||||||
|
@ -270,122 +273,122 @@ Reset_Handler
|
||||||
ProxyHandler PendSV_Handler
|
ProxyHandler PendSV_Handler
|
||||||
ProxyHandler SysTick_Handler
|
ProxyHandler SysTick_Handler
|
||||||
|
|
||||||
ProxyHandler SCU_0_IRQHandler
|
ProxyHandler SCU_0_IRQHandler
|
||||||
ProxyHandler ERU0_0_IRQHandler
|
ProxyHandler ERU0_0_IRQHandler
|
||||||
ProxyHandler ERU0_1_IRQHandler
|
ProxyHandler ERU0_1_IRQHandler
|
||||||
ProxyHandler ERU0_2_IRQHandler
|
ProxyHandler ERU0_2_IRQHandler
|
||||||
ProxyHandler ERU0_3_IRQHandler
|
ProxyHandler ERU0_3_IRQHandler
|
||||||
ProxyHandler ERU1_0_IRQHandler
|
ProxyHandler ERU1_0_IRQHandler
|
||||||
ProxyHandler ERU1_1_IRQHandler
|
ProxyHandler ERU1_1_IRQHandler
|
||||||
ProxyHandler ERU1_2_IRQHandler
|
ProxyHandler ERU1_2_IRQHandler
|
||||||
ProxyHandler ERU1_3_IRQHandler
|
ProxyHandler ERU1_3_IRQHandler
|
||||||
ProxyHandler PMU0_0_IRQHandler
|
ProxyHandler PMU0_0_IRQHandler
|
||||||
ProxyHandler VADC0_C0_0_IRQHandler
|
ProxyHandler VADC0_C0_0_IRQHandler
|
||||||
ProxyHandler VADC0_C0_1_IRQHandler
|
ProxyHandler VADC0_C0_1_IRQHandler
|
||||||
ProxyHandler VADC0_C0_2_IRQHandler
|
ProxyHandler VADC0_C0_2_IRQHandler
|
||||||
ProxyHandler VADC0_C0_3_IRQHandler
|
ProxyHandler VADC0_C0_3_IRQHandler
|
||||||
ProxyHandler VADC0_G0_0_IRQHandler
|
ProxyHandler VADC0_G0_0_IRQHandler
|
||||||
ProxyHandler VADC0_G0_1_IRQHandler
|
ProxyHandler VADC0_G0_1_IRQHandler
|
||||||
ProxyHandler VADC0_G0_2_IRQHandler
|
ProxyHandler VADC0_G0_2_IRQHandler
|
||||||
ProxyHandler VADC0_G0_3_IRQHandler
|
ProxyHandler VADC0_G0_3_IRQHandler
|
||||||
ProxyHandler VADC0_G1_0_IRQHandler
|
ProxyHandler VADC0_G1_0_IRQHandler
|
||||||
ProxyHandler VADC0_G1_1_IRQHandler
|
ProxyHandler VADC0_G1_1_IRQHandler
|
||||||
ProxyHandler VADC0_G1_2_IRQHandler
|
ProxyHandler VADC0_G1_2_IRQHandler
|
||||||
ProxyHandler VADC0_G1_3_IRQHandler
|
ProxyHandler VADC0_G1_3_IRQHandler
|
||||||
ProxyHandler VADC0_G2_0_IRQHandler
|
ProxyHandler VADC0_G2_0_IRQHandler
|
||||||
ProxyHandler VADC0_G2_1_IRQHandler
|
ProxyHandler VADC0_G2_1_IRQHandler
|
||||||
ProxyHandler VADC0_G2_2_IRQHandler
|
ProxyHandler VADC0_G2_2_IRQHandler
|
||||||
ProxyHandler VADC0_G2_3_IRQHandler
|
ProxyHandler VADC0_G2_3_IRQHandler
|
||||||
ProxyHandler VADC0_G3_0_IRQHandler
|
ProxyHandler VADC0_G3_0_IRQHandler
|
||||||
ProxyHandler VADC0_G3_1_IRQHandler
|
ProxyHandler VADC0_G3_1_IRQHandler
|
||||||
ProxyHandler VADC0_G3_2_IRQHandler
|
ProxyHandler VADC0_G3_2_IRQHandler
|
||||||
ProxyHandler VADC0_G3_3_IRQHandler
|
ProxyHandler VADC0_G3_3_IRQHandler
|
||||||
ProxyHandler DSD0_0_IRQHandler
|
ProxyHandler DSD0_0_IRQHandler
|
||||||
ProxyHandler DSD0_1_IRQHandler
|
ProxyHandler DSD0_1_IRQHandler
|
||||||
ProxyHandler DSD0_2_IRQHandler
|
ProxyHandler DSD0_2_IRQHandler
|
||||||
ProxyHandler DSD0_3_IRQHandler
|
ProxyHandler DSD0_3_IRQHandler
|
||||||
ProxyHandler DSD0_4_IRQHandler
|
ProxyHandler DSD0_4_IRQHandler
|
||||||
ProxyHandler DSD0_5_IRQHandler
|
ProxyHandler DSD0_5_IRQHandler
|
||||||
ProxyHandler DSD0_6_IRQHandler
|
ProxyHandler DSD0_6_IRQHandler
|
||||||
ProxyHandler DSD0_7_IRQHandler
|
ProxyHandler DSD0_7_IRQHandler
|
||||||
ProxyHandler DAC0_0_IRQHandler
|
ProxyHandler DAC0_0_IRQHandler
|
||||||
ProxyHandler DAC0_1_IRQHandler
|
ProxyHandler DAC0_1_IRQHandler
|
||||||
ProxyHandler CCU40_0_IRQHandler
|
ProxyHandler CCU40_0_IRQHandler
|
||||||
ProxyHandler CCU40_1_IRQHandler
|
ProxyHandler CCU40_1_IRQHandler
|
||||||
ProxyHandler CCU40_2_IRQHandler
|
ProxyHandler CCU40_2_IRQHandler
|
||||||
ProxyHandler CCU40_3_IRQHandler
|
ProxyHandler CCU40_3_IRQHandler
|
||||||
ProxyHandler CCU41_0_IRQHandler
|
ProxyHandler CCU41_0_IRQHandler
|
||||||
ProxyHandler CCU41_1_IRQHandler
|
ProxyHandler CCU41_1_IRQHandler
|
||||||
ProxyHandler CCU41_2_IRQHandler
|
ProxyHandler CCU41_2_IRQHandler
|
||||||
ProxyHandler CCU41_3_IRQHandler
|
ProxyHandler CCU41_3_IRQHandler
|
||||||
ProxyHandler CCU42_0_IRQHandler
|
ProxyHandler CCU42_0_IRQHandler
|
||||||
ProxyHandler CCU42_1_IRQHandler
|
ProxyHandler CCU42_1_IRQHandler
|
||||||
ProxyHandler CCU42_2_IRQHandler
|
ProxyHandler CCU42_2_IRQHandler
|
||||||
ProxyHandler CCU42_3_IRQHandler
|
ProxyHandler CCU42_3_IRQHandler
|
||||||
ProxyHandler CCU43_0_IRQHandler
|
ProxyHandler CCU43_0_IRQHandler
|
||||||
ProxyHandler CCU43_1_IRQHandler
|
ProxyHandler CCU43_1_IRQHandler
|
||||||
ProxyHandler CCU43_2_IRQHandler
|
ProxyHandler CCU43_2_IRQHandler
|
||||||
ProxyHandler CCU43_3_IRQHandler
|
ProxyHandler CCU43_3_IRQHandler
|
||||||
ProxyHandler CCU80_0_IRQHandler
|
ProxyHandler CCU80_0_IRQHandler
|
||||||
ProxyHandler CCU80_1_IRQHandler
|
ProxyHandler CCU80_1_IRQHandler
|
||||||
ProxyHandler CCU80_2_IRQHandler
|
ProxyHandler CCU80_2_IRQHandler
|
||||||
ProxyHandler CCU80_3_IRQHandler
|
ProxyHandler CCU80_3_IRQHandler
|
||||||
ProxyHandler CCU81_0_IRQHandler
|
ProxyHandler CCU81_0_IRQHandler
|
||||||
ProxyHandler CCU81_1_IRQHandler
|
ProxyHandler CCU81_1_IRQHandler
|
||||||
ProxyHandler CCU81_2_IRQHandler
|
ProxyHandler CCU81_2_IRQHandler
|
||||||
ProxyHandler CCU81_3_IRQHandler
|
ProxyHandler CCU81_3_IRQHandler
|
||||||
ProxyHandler POSIF0_0_IRQHandler
|
ProxyHandler POSIF0_0_IRQHandler
|
||||||
ProxyHandler POSIF0_1_IRQHandler
|
ProxyHandler POSIF0_1_IRQHandler
|
||||||
ProxyHandler POSIF1_0_IRQHandler
|
ProxyHandler POSIF1_0_IRQHandler
|
||||||
ProxyHandler POSIF1_1_IRQHandler
|
ProxyHandler POSIF1_1_IRQHandler
|
||||||
ProxyHandler HRPWM_0_IRQHandler
|
ProxyHandler HRPWM_0_IRQHandler
|
||||||
ProxyHandler HRPWM_1_IRQHandler
|
ProxyHandler HRPWM_1_IRQHandler
|
||||||
ProxyHandler HRPWM_2_IRQHandler
|
ProxyHandler HRPWM_2_IRQHandler
|
||||||
ProxyHandler HRPWM_3_IRQHandler
|
ProxyHandler HRPWM_3_IRQHandler
|
||||||
ProxyHandler CAN0_0_IRQHandler
|
ProxyHandler CAN0_0_IRQHandler
|
||||||
ProxyHandler CAN0_1_IRQHandler
|
ProxyHandler CAN0_1_IRQHandler
|
||||||
ProxyHandler CAN0_2_IRQHandler
|
ProxyHandler CAN0_2_IRQHandler
|
||||||
ProxyHandler CAN0_3_IRQHandler
|
ProxyHandler CAN0_3_IRQHandler
|
||||||
ProxyHandler CAN0_4_IRQHandler
|
ProxyHandler CAN0_4_IRQHandler
|
||||||
ProxyHandler CAN0_5_IRQHandler
|
ProxyHandler CAN0_5_IRQHandler
|
||||||
ProxyHandler CAN0_6_IRQHandler
|
ProxyHandler CAN0_6_IRQHandler
|
||||||
ProxyHandler CAN0_7_IRQHandler
|
ProxyHandler CAN0_7_IRQHandler
|
||||||
ProxyHandler USIC0_0_IRQHandler
|
ProxyHandler USIC0_0_IRQHandler
|
||||||
ProxyHandler USIC0_1_IRQHandler
|
ProxyHandler USIC0_1_IRQHandler
|
||||||
ProxyHandler USIC0_2_IRQHandler
|
ProxyHandler USIC0_2_IRQHandler
|
||||||
ProxyHandler USIC0_3_IRQHandler
|
ProxyHandler USIC0_3_IRQHandler
|
||||||
ProxyHandler USIC0_4_IRQHandler
|
ProxyHandler USIC0_4_IRQHandler
|
||||||
ProxyHandler USIC0_5_IRQHandler
|
ProxyHandler USIC0_5_IRQHandler
|
||||||
ProxyHandler USIC1_0_IRQHandler
|
ProxyHandler USIC1_0_IRQHandler
|
||||||
ProxyHandler USIC1_1_IRQHandler
|
ProxyHandler USIC1_1_IRQHandler
|
||||||
ProxyHandler USIC1_2_IRQHandler
|
ProxyHandler USIC1_2_IRQHandler
|
||||||
ProxyHandler USIC1_3_IRQHandler
|
ProxyHandler USIC1_3_IRQHandler
|
||||||
ProxyHandler USIC1_4_IRQHandler
|
ProxyHandler USIC1_4_IRQHandler
|
||||||
ProxyHandler USIC1_5_IRQHandler
|
ProxyHandler USIC1_5_IRQHandler
|
||||||
ProxyHandler LEDTS0_0_IRQHandler
|
ProxyHandler LEDTS0_0_IRQHandler
|
||||||
ProxyHandler FCE0_0_IRQHandler
|
ProxyHandler FCE0_0_IRQHandler
|
||||||
ProxyHandler GPDMA0_0_IRQHandler
|
ProxyHandler GPDMA0_0_IRQHandler
|
||||||
ProxyHandler USB0_0_IRQHandler
|
ProxyHandler USB0_0_IRQHandler
|
||||||
ProxyHandler ETH0_0_IRQHandler
|
ProxyHandler ETH0_0_IRQHandler
|
||||||
|
|
||||||
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
||||||
PUBWEAK SystemInit_DAVE3
|
PUBWEAK SystemInit_DAVE3
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
SystemInit_DAVE3
|
SystemInit_DAVE3
|
||||||
NOP
|
NOP
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
; Definition of the default weak DAVE3 function for clock App usage.
|
; Definition of the default weak DAVE3 function for clock App usage.
|
||||||
; AllowPLLInitByStartup Handler
|
; AllowPLLInitByStartup Handler
|
||||||
PUBWEAK AllowPLLInitByStartup
|
PUBWEAK AllowPLLInitByStartup
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
AllowPLLInitByStartup
|
AllowPLLInitByStartup
|
||||||
MOV R0,#1
|
MOV R0,#1
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
PREF_PCON EQU 0x58004000
|
PREF_PCON EQU 0x58004000
|
||||||
SCU_GCU_PEEN EQU 0x5000413C
|
SCU_GCU_PEEN EQU 0x5000413C
|
||||||
SCU_GCU_PEFLAG EQU 0x50004150
|
SCU_GCU_PEFLAG EQU 0x50004150
|
||||||
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
/**
|
/**
|
||||||
* @file Startup_XMC4500.s
|
* @file Startup_XMC4500.s
|
||||||
* XMC4000 Device Series
|
* XMC4000 Device Series
|
||||||
* @version V1.0
|
* @version V1.1
|
||||||
* @date Jan 2013
|
* @date Augus 2013
|
||||||
*
|
*
|
||||||
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
* Copyright (C) 2012 IAR Systems. All rights reserved.
|
||||||
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
* Copyright (C) 2012 Infineon Technologies AG. All rights reserved.
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* @par
|
* @par
|
||||||
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
* Infineon Technologies AG (Infineon) is supplying this software for use with
|
||||||
* Infineon's microcontrollers. This file can be freely distributed
|
* Infineon's microcontrollers. This file can be freely distributed
|
||||||
* within development tools that are supporting such microcontrollers.
|
* within development tools that are supporting such microcontrollers.
|
||||||
*
|
*
|
||||||
|
@ -28,6 +28,8 @@
|
||||||
/* ***************************************************************************
|
/* ***************************************************************************
|
||||||
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
V1.0 January, 30 2013: In ths version a workoraound for the erratum PMU_CM.001
|
||||||
is implmented (patch for the Exception and interrupt handlers)
|
is implmented (patch for the Exception and interrupt handlers)
|
||||||
|
V1.1 Augsut, 17 2013: Fix the bug of preprocessor due to workoraound for
|
||||||
|
the erratum PMU_CM.001, and the bug of stack pointer alignment to a 8 byte boundary
|
||||||
|
|
||||||
**************************************************************************** */
|
**************************************************************************** */
|
||||||
|
|
||||||
|
@ -43,7 +45,7 @@ is implmented (patch for the Exception and interrupt handlers)
|
||||||
SECTION .intvec:CODE:NOROOT(2)
|
SECTION .intvec:CODE:NOROOT(2)
|
||||||
|
|
||||||
EXTERN __iar_program_start
|
EXTERN __iar_program_start
|
||||||
EXTERN SystemInit
|
EXTERN SystemInit
|
||||||
PUBLIC __vector_table
|
PUBLIC __vector_table
|
||||||
|
|
||||||
DATA
|
DATA
|
||||||
|
@ -54,7 +56,7 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
;/* ===========START : MACRO DEFINITION MACRO DEFINITION ================== */
|
||||||
;/*
|
;/*
|
||||||
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
; * STEP_AB and below have the prefetch functional deviation (Errata id: PMU_CM.001).
|
||||||
; * A veneer defined below will first be executed which in turn branches to the final
|
; * A veneer defined below will first be executed which in turn branches to the final
|
||||||
; * exception handler.
|
; * exception handler.
|
||||||
; *
|
; *
|
||||||
; * In addition to defining the veneers, the vector table must for these buggy
|
; * In addition to defining the veneers, the vector table must for these buggy
|
||||||
|
@ -62,8 +64,8 @@ __iar_init$$done: ; The vector table is not needed
|
||||||
; */
|
; */
|
||||||
|
|
||||||
;set WORKAROUND_PMU_CM001 under Options for target
|
;set WORKAROUND_PMU_CM001 under Options for target
|
||||||
;Initialize varaible WORKAROUND_PMU_CM001 as TRUE
|
;define WORKAROUND_PMU_CM001 as TRUE
|
||||||
WORKAROUND_PMU_CM001 SET 1
|
#define WORKAROUND_PMU_CM001 1
|
||||||
|
|
||||||
;/* A macro to setup a vector table entry based on STEP ID */
|
;/* A macro to setup a vector table entry based on STEP ID */
|
||||||
#ifdef WORKAROUND_PMU_CM001
|
#ifdef WORKAROUND_PMU_CM001
|
||||||
|
@ -73,7 +75,7 @@ ExcpVector macro
|
||||||
#else
|
#else
|
||||||
ExcpVector macro
|
ExcpVector macro
|
||||||
DCD \1
|
DCD \1
|
||||||
endm
|
endm
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
;/* A macro to ease definition of the various handlers based on STEP ID */
|
;/* A macro to ease definition of the various handlers based on STEP ID */
|
||||||
|
@ -84,18 +86,18 @@ ProxyHandler macro
|
||||||
SECTION .text:CODE:REORDER:NOROOT(1)
|
SECTION .text:CODE:REORDER:NOROOT(1)
|
||||||
\1
|
\1
|
||||||
B \1
|
B \1
|
||||||
endm
|
;/* And then define a veneer that will branch to the final excp handler */
|
||||||
;/* And then define a veneer that will branch to the final excp handler */
|
PUBWEAK \1_Veneer
|
||||||
ProxyHandler_Veneer macro
|
|
||||||
PUBWEAK \1
|
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
\1
|
\1_Veneer:
|
||||||
LDR R0, =ProxyHandler
|
LDR R0, =\1
|
||||||
PUSH {LR}
|
PUSH {LR} /* Breaks AAPCS */
|
||||||
|
SUB SP,#4 /* Restores AAPCS */
|
||||||
BLX R0
|
BLX R0
|
||||||
|
ADD SP,#4
|
||||||
POP {PC}
|
POP {PC}
|
||||||
endm
|
endm
|
||||||
;/* No prefetch bug, hence define only the final exception handler */
|
;/* No prefetch bug, hence define only the final exception handler */
|
||||||
#else
|
#else
|
||||||
ProxyHandler macro
|
ProxyHandler macro
|
||||||
PUBWEAK \1
|
PUBWEAK \1
|
||||||
|
@ -120,11 +122,11 @@ __vector_table
|
||||||
DCD 0
|
DCD 0
|
||||||
DCD 0
|
DCD 0
|
||||||
DCD 0
|
DCD 0
|
||||||
ExcpVector SVC_Handler ; SVCall Handler
|
ExcpVector SVC_Handler
|
||||||
ExcpVector DebugMon_Handler
|
ExcpVector DebugMon_Handler
|
||||||
DCD 0
|
DCD 0
|
||||||
ExcpVector PendSV_Handler ; PendSV Handler
|
ExcpVector PendSV_Handler
|
||||||
ExcpVector SysTick_Handler ; SysTick Handler
|
ExcpVector SysTick_Handler
|
||||||
|
|
||||||
; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals
|
; Interrupt Handlers for Service Requests (SR) from XMC4500 Peripherals
|
||||||
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
ExcpVector SCU_0_IRQHandler ; Handler name for SR SCU_0
|
||||||
|
@ -246,19 +248,19 @@ __vector_table
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;;
|
;;
|
||||||
;; Default interrupt handlers.
|
;; Default interrupt handlers.
|
||||||
;;
|
;;
|
||||||
THUMB
|
THUMB
|
||||||
PUBWEAK Reset_Handler
|
PUBWEAK Reset_Handler
|
||||||
SECTION .text:CODE:REORDER(2)
|
SECTION .text:CODE:REORDER(2)
|
||||||
Reset_Handler
|
Reset_Handler
|
||||||
|
|
||||||
LDR R0, =SystemInit
|
LDR R0, =SystemInit
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =SystemInit_DAVE3
|
LDR R0, =SystemInit_DAVE3
|
||||||
BLX R0
|
BLX R0
|
||||||
LDR R0, =__iar_program_start
|
LDR R0, =__iar_program_start
|
||||||
BX R0
|
BX R0
|
||||||
|
|
||||||
|
|
||||||
ProxyHandler NMI_Handler
|
ProxyHandler NMI_Handler
|
||||||
ProxyHandler HardFault_Handler
|
ProxyHandler HardFault_Handler
|
||||||
|
@ -269,7 +271,7 @@ Reset_Handler
|
||||||
ProxyHandler DebugMon_Handler
|
ProxyHandler DebugMon_Handler
|
||||||
ProxyHandler PendSV_Handler
|
ProxyHandler PendSV_Handler
|
||||||
ProxyHandler SysTick_Handler
|
ProxyHandler SysTick_Handler
|
||||||
|
|
||||||
ProxyHandler SCU_0_IRQHandler
|
ProxyHandler SCU_0_IRQHandler
|
||||||
ProxyHandler ERU0_0_IRQHandler
|
ProxyHandler ERU0_0_IRQHandler
|
||||||
ProxyHandler ERU0_1_IRQHandler
|
ProxyHandler ERU0_1_IRQHandler
|
||||||
|
@ -372,26 +374,26 @@ Reset_Handler
|
||||||
ProxyHandler USB0_0_IRQHandler
|
ProxyHandler USB0_0_IRQHandler
|
||||||
ProxyHandler ETH0_0_IRQHandler
|
ProxyHandler ETH0_0_IRQHandler
|
||||||
ProxyHandler GPDMA1_0_IRQHandler
|
ProxyHandler GPDMA1_0_IRQHandler
|
||||||
|
|
||||||
|
|
||||||
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
; Definition of the default weak SystemInit_DAVE3 function for DAVE3 system init.
|
||||||
PUBWEAK SystemInit_DAVE3
|
PUBWEAK SystemInit_DAVE3
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
SystemInit_DAVE3
|
SystemInit_DAVE3
|
||||||
NOP
|
NOP
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
; Definition of the default weak DAVE3 function for clock App usage.
|
; Definition of the default weak DAVE3 function for clock App usage.
|
||||||
; AllowPLLInitByStartup Handler
|
; AllowPLLInitByStartup Handler
|
||||||
PUBWEAK AllowPLLInitByStartup
|
PUBWEAK AllowPLLInitByStartup
|
||||||
SECTION .text:CODE:REORDER:NOROOT(2)
|
SECTION .text:CODE:REORDER:NOROOT(2)
|
||||||
AllowPLLInitByStartup
|
AllowPLLInitByStartup
|
||||||
MOV R0,#1
|
MOV R0,#1
|
||||||
BX LR
|
BX LR
|
||||||
|
|
||||||
PREF_PCON EQU 0x58004000
|
PREF_PCON EQU 0x58004000
|
||||||
SCU_GCU_PEEN EQU 0x5000413C
|
SCU_GCU_PEEN EQU 0x5000413C
|
||||||
SCU_GCU_PEFLAG EQU 0x50004150
|
SCU_GCU_PEFLAG EQU 0x50004150
|
||||||
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
Loading…
Reference in a new issue