📄 startup.c
字号:
// This is part of revision 2752 of the Stellaris Peripheral Driver Library.
#pragma language=extended
void ResetISR(void);
static void NmiSR(void);
static void FaultISR(void);
static void IntDefaultHandler(void);
extern int main(void);
// extern void SysTick_IntHandler(void);
// extern void GIOPA_IntHandler(void);
// extern void GIOPB_IntHandler(void);
// extern void GIOPC_IntHandler(void);
// extern void GIOPD_IntHandler(void);
// extern void GIOPE_IntHandler(void);
// extern void UART0_IntHandler(void);
// extern void UART1_IntHandler(void);
// extern void SSI_IntHandler(void);
// extern void I2C_IntHandler(void);
// extern void Watchgog_IntHandler(void);
// extern void GIOPF_IntHandler(void);
// extern void GIOPG_IntHandler(void);
// extern void GIOPH_IntHandler(void);
// extern void UART2_IntHandler(void);
// extern void SSI1_IntHandler(void);
// extern void I2C1_IntHandler(void);
// extern void CAN0_IntHandler(void);
// extern void CAN1_IntHandler(void);
// extern void CAN2_IntHandler(void);
// extern void Ethernet_IntHandler(void);
#ifndef STACK_SIZE
#define STACK_SIZE 256
#endif
static unsigned long pulStack[STACK_SIZE];
typedef union
{
void (*pfnHandler)(void);
unsigned long ulPtr;
}
uVectorEntry;
__root const uVectorEntry g_pfnVectors[] @ "INTVEC" =
{
{ .ulPtr = (unsigned long)pulStack + sizeof(pulStack) },
// The initial stack pointer
ResetISR, // The reset handler
NmiSR, // The NMI handler
FaultISR, // The hard fault handler
IntDefaultHandler, // The MPU fault handler
IntDefaultHandler, // The bus fault handler
IntDefaultHandler, // The usage fault handler
0, // Reserved
0, // Reserved
0, // Reserved
0, // Reserved
IntDefaultHandler, // SVCall handler
IntDefaultHandler, // Debug monitor handler
0, // Reserved
IntDefaultHandler, // The PendSV handler
IntDefaultHandler, //SysTick_IntHandler // The SysTick handler
IntDefaultHandler, //GIOPA_IntHandler // GPIO Port A
IntDefaultHandler, //GIOPB_IntHandler // GPIO Port B
IntDefaultHandler, //GIOPC_IntHandler // GPIO Port C
IntDefaultHandler, //GIOPD_IntHandler // GPIO Port D
IntDefaultHandler, //GIOPE_IntHandler // GPIO Port E
IntDefaultHandler, //UART0_IntHandler // UART0 Rx and Tx
IntDefaultHandler, //UART1_IntHandler // UART1 Rx and Tx
IntDefaultHandler, //SSI_IntHandler // SSI Rx and Tx
IntDefaultHandler, //I2C_IntHandler // I2C Master and Slave
IntDefaultHandler, // PWM Fault
IntDefaultHandler, // PWM Generator 0
IntDefaultHandler, // PWM Generator 1
IntDefaultHandler, // PWM Generator 2
IntDefaultHandler, // Quadrature Encoder
IntDefaultHandler, // ADC Sequence 0
IntDefaultHandler, // ADC Sequence 1
IntDefaultHandler, // ADC Sequence 2
IntDefaultHandler, // ADC Sequence 3
IntDefaultHandler, //Watchgog_IntHandler // Watchdog timer
IntDefaultHandler, // Timer 0 subtimer A
IntDefaultHandler, // Timer 0 subtimer B
IntDefaultHandler, // Timer 1 subtimer A
IntDefaultHandler, // Timer 1 subtimer B
IntDefaultHandler, // Timer 2 subtimer A
IntDefaultHandler, // Timer 2 subtimer B
IntDefaultHandler, // Analog Comparator 0
IntDefaultHandler, // Analog Comparator 1
IntDefaultHandler, // Analog Comparator 2
IntDefaultHandler, // System Control (PLL, OSC, BO)
IntDefaultHandler, // FLASH Control
IntDefaultHandler, //GIOPF_IntHandler // GPIO Port F
IntDefaultHandler, //GIOPG_IntHandler // GPIO Port G
IntDefaultHandler, //GIOPH_IntHandler // GPIO Port H
IntDefaultHandler, //UART2_IntHandler // UART2 Rx and Tx
IntDefaultHandler, //SSI1_IntHandler // SSI1 Rx and Tx
IntDefaultHandler, // Timer 3 subtimer A
IntDefaultHandler, // Timer 3 subtimer B
IntDefaultHandler, //I2C1_IntHandler // I2C1 Master and Slave
IntDefaultHandler, // Quadrature Encoder 1
IntDefaultHandler, //CAN0_IntHandler // CAN0
IntDefaultHandler, //CAN1_IntHandler // CAN1
IntDefaultHandler, //CAN2_IntHandler // CAN2
IntDefaultHandler, //Ethernet_IntHandler // Ethernet
IntDefaultHandler, // Hibernate
IntDefaultHandler, // USB0
IntDefaultHandler, // PWM Generator 3
IntDefaultHandler, // uDMA Software Transfer
IntDefaultHandler // uDMA Error
};
#pragma segment="DATA_ID"
#pragma segment="DATA_I"
#pragma segment="DATA_Z"
void ResetISR(void)
{
unsigned long *pulSrc, *pulDest, *pulEnd;
pulSrc = __segment_begin("DATA_ID");
pulDest = __segment_begin("DATA_I");
pulEnd = __segment_end("DATA_I");
while(pulDest < pulEnd)
{
*pulDest++ = *pulSrc++;
}
pulDest = __segment_begin("DATA_Z");
pulEnd = __segment_end("DATA_Z");
while(pulDest < pulEnd)
{
*pulDest++ = 0;
}
main();
}
static void NmiSR(void)
{
while(1)
{
}
}
static void FaultISR(void)
{
while(1)
{
}
}
static void IntDefaultHandler(void)
{
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -