<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>LPC Microcontrollers中的主题 Re: LPC2148 ASM program need on system call, number 0x55 need to be implemented in assembly language</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934068#M37194</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Jon,&lt;/P&gt;&lt;P&gt;Regarding your question, I think it is dependent on what tools you are using. Unfortunately, I have not the UM of ARM7TDMI-S CPU which the LPC2148 uses. Anyway, I think the LPC21xx has core interrupt vector table, when the core executes the instruction:&lt;/P&gt;&lt;P&gt;SVC #0x32&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;an interrupt will be triggered. Based on the tools you are using, for Kinetis, as following is the vector table&lt;/P&gt;&lt;P&gt;You can write the ISR:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*interrupt service routine*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.global SVC_Handler&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.text&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.align 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.type SVC_Handler function&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.func&lt;BR /&gt;SVC_Handler:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*clear interrupt*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;push {R0,R1,LR}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LDR R1,=PIT_TFLG0&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; LDR R0,[R1] /*dummy reading*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // MOV R0,#0x01&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; STR R0, [R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*toggle a LED*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // LDR R1,=GPIOB_PDOR&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; LDR R0,[R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LDR R3,=0x200000&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // EOR R0,R0,R3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // STR R0,[R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;POP {R0,R1,PC}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.endfunc&lt;BR /&gt;/*************************************&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; kinetis_sysinit.c - Default init routines for Flycatcher&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Kinetis ARM systems&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; Copyright �2012 Freescale semiConductor Inc. All Rights Reserved.&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;#include "kinetis_sysinit.h"&lt;BR /&gt;#include "derivative.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; External declarations&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;#if __cplusplus&lt;BR /&gt;extern "C" {&lt;BR /&gt;#endif&lt;BR /&gt;extern uint32_t __vector_table[];&lt;BR /&gt;extern unsigned long _estack;&lt;BR /&gt;extern void __thumb_startup(void);&lt;BR /&gt;#if __cplusplus&lt;BR /&gt;}&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; Default interrupt handler&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;void Default_Handler()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("bkpt");&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; Reset handler&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;void __init_hardware()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCB_VTOR = (uint32_t)__vector_table; /* Set the interrupt vector table position */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Disable the Watchdog because it may reset the core before entering main().&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;There are 2 unlock words which shall be provided in sequence before&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;accessing the control register.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_UNLOCK = KINETIS_WDOG_UNLOCK_SEQ_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_UNLOCK = KINETIS_WDOG_UNLOCK_SEQ_2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_STCTRLH = KINETIS_WDOG_DISABLED_CTRL;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Weak definitions of handlers point to Default_Handler if not implemented */&lt;BR /&gt;void NMI_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void HardFault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Mem_Manage_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Bus_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Usage_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SVC_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DebugMonitor_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PendSV_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SysTick_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void DMA0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA4_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA5_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA6_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA7_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA8_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA9_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA10_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA11_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA12_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA13_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA14_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA15_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA_Error_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void MCM_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTFL_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Read_Collision_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LVD_LVW_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LLW_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Watchdog_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RNG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2S0_Tx_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2S0_Rx_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_LON_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART1_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART1_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART2_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART2_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART3_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART3_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ADC0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMT_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RTC_Alarm_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RTC_Seconds_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PDB_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void USB_OTG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void USB_Charger_Detect_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Tamper_Drylce_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DAC0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void MCG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LPTimer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTA_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTB_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTC_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTD_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTE_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SWI_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART4_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART4_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DAC1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ADC1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Message_buffer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Bus_Off_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Err_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Tx_WarningIRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Rx_Warning_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Wake_Up_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SDHC_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Timer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Transmit_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Receive_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Error_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* The Interrupt Vector Table */&lt;BR /&gt;void (* const InterruptVector[])() __attribute__ ((section(".vectortable"))) = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Processor exceptions */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void(*)(void)) &amp;amp;_estack,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __thumb_startup,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NMI_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HardFault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mem_Manage_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SVC_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DebugMonitor_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PendSV_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTick_Handler,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interrupts */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA0_IRQHandler, /* DMA Channel 0 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA1_IRQHandler, /* DMA Channel 1 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA2_IRQHandler, /* DMA Channel 2 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA3_IRQHandler, /* DMA Channel 3 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA4_IRQHandler, /* DMA Channel 4 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA5_IRQHandler, /* DMA Channel 5 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA6_IRQHandler, /* DMA Channel 6 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA7_IRQHandler, /* DMA Channel 7 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA8_IRQHandler, /* DMA Channel 8 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA9_IRQHandler, /* DMA Channel 9 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA10_IRQHandler, /* DMA Channel 10 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA11_IRQHandler, /* DMA Channel 11 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA12_IRQHandler, /* DMA Channel 12 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA13_IRQHandler, /* DMA Channel 13 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA14_IRQHandler, /* DMA Channel 14 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA15_IRQHandler, /* DMA Channel 15 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_Error_IRQHandler, /* DMA Error */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCM_IRQHandler, /* Normal Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTFL_IRQHandler, /* FTFL Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Read_Collision_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LVD_LVW_IRQHandler, /* Low Voltage Detect, Low Voltage Warning */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LLW_IRQHandler, /* Low Leakage Wake-up */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Watchdog_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;RNG_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2C0_IRQHandler, /* I2C0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C1_IRQHandler, /* I2C1 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI0_IRQHandler, /* SPI0 Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI1_IRQHandler, /* SPI1 Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2S0_Tx_IRQHandler, /* Transmit I2S0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_Rx_IRQHandler, /* Receive I2S0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_LON_IRQHandler, /* UART0 LON interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART0_Status_IRQHandler, /* UART0 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART0_ERR_IRQHandler, /* UART0 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART1_Status_IRQHandler, /* UART1 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART1_ERR_IRQHandler, /* UART1 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART2_Status_IRQHandler, /* UART2 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART2_ERR_IRQHandler, /* UART2 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART3_Status_IRQHandler, /* UART3 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART3_ERR_IRQHandler, /* UART3 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ADC0_IRQHandler, /* ADC0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMP0_IRQHandler, /* CMP0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMP1_IRQHandler, /* CMP1 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_IRQHandler, /* FTM0 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM1_IRQHandler, /* FTM1 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM2_IRQHandler, /* FTM2 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMT_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_Alarm_IRQHandler, /* RTC Alarm interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_Seconds_IRQHandler, /* RTC Seconds interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PIT0_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT1_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT2_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT3_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PDB_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;USB_OTG_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;USB_Charger_Detect_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Tamper_Drylce_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DAC0_IRQHandler, /* DAC0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCG_IRQHandler, /* MCG Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTimer_IRQHandler, /* LPTimer interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTA_IRQHandler, /* Port A interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTB_IRQHandler, /* Port B interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTC_IRQHandler, /* Port C interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTD_IRQHandler, /* Port D interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTE_IRQHandler, /* Port E interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SWI_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART4_Status_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART4_ERR_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMP2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FTM3_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DAC1_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ADC1_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2C2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Message_buffer_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Bus_Off_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Err_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Tx_WarningIRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Rx_Warning_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Wake_Up_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SDHC_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Timer_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Transmit_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Receive_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Error_IRQHandler&lt;BR /&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Oct 2019 07:09:19 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2019-10-18T07:09:19Z</dc:date>
    <item>
      <title>LPC2148</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934067#M37193</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please&amp;nbsp;help&amp;nbsp;me to get the answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Oct 2019 08:22:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934067#M37193</guid>
      <dc:creator>science_exp9</dc:creator>
      <dc:date>2019-10-17T08:22:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC2148 ASM program need on system call, number 0x55 need to be implemented in assembly language</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934068#M37194</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Jon,&lt;/P&gt;&lt;P&gt;Regarding your question, I think it is dependent on what tools you are using. Unfortunately, I have not the UM of ARM7TDMI-S CPU which the LPC2148 uses. Anyway, I think the LPC21xx has core interrupt vector table, when the core executes the instruction:&lt;/P&gt;&lt;P&gt;SVC #0x32&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;an interrupt will be triggered. Based on the tools you are using, for Kinetis, as following is the vector table&lt;/P&gt;&lt;P&gt;You can write the ISR:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*interrupt service routine*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.global SVC_Handler&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.text&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.align 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.type SVC_Handler function&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.func&lt;BR /&gt;SVC_Handler:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*clear interrupt*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;push {R0,R1,LR}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LDR R1,=PIT_TFLG0&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; LDR R0,[R1] /*dummy reading*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // MOV R0,#0x01&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; STR R0, [R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*toggle a LED*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // LDR R1,=GPIOB_PDOR&lt;BR /&gt;&amp;nbsp; //&amp;nbsp; LDR R0,[R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //LDR R3,=0x200000&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // EOR R0,R0,R3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // STR R0,[R1]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;POP {R0,R1,PC}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;.endfunc&lt;BR /&gt;/*************************************&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; kinetis_sysinit.c - Default init routines for Flycatcher&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Kinetis ARM systems&lt;BR /&gt;&amp;nbsp;*&amp;nbsp;&amp;nbsp;&amp;nbsp; Copyright �2012 Freescale semiConductor Inc. All Rights Reserved.&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;#include "kinetis_sysinit.h"&lt;BR /&gt;#include "derivative.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; External declarations&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;#if __cplusplus&lt;BR /&gt;extern "C" {&lt;BR /&gt;#endif&lt;BR /&gt;extern uint32_t __vector_table[];&lt;BR /&gt;extern unsigned long _estack;&lt;BR /&gt;extern void __thumb_startup(void);&lt;BR /&gt;#if __cplusplus&lt;BR /&gt;}&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; Default interrupt handler&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;void Default_Handler()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;__asm("bkpt");&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/**&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;**&amp;nbsp; Reset handler&lt;BR /&gt;&amp;nbsp;**===========================================================================&lt;BR /&gt;&amp;nbsp;*/&lt;BR /&gt;void __init_hardware()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SCB_VTOR = (uint32_t)__vector_table; /* Set the interrupt vector table position */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/*&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Disable the Watchdog because it may reset the core before entering main().&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;There are 2 unlock words which shall be provided in sequence before&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;accessing the control register.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*/&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_UNLOCK = KINETIS_WDOG_UNLOCK_SEQ_1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_UNLOCK = KINETIS_WDOG_UNLOCK_SEQ_2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;WDOG_STCTRLH = KINETIS_WDOG_DISABLED_CTRL;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* Weak definitions of handlers point to Default_Handler if not implemented */&lt;BR /&gt;void NMI_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void HardFault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Mem_Manage_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Bus_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Usage_Fault_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SVC_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DebugMonitor_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PendSV_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SysTick_Handler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void DMA0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA4_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA5_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA6_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA7_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA8_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA9_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA10_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA11_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA12_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA13_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA14_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA15_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DMA_Error_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void MCM_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTFL_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Read_Collision_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LVD_LVW_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LLW_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Watchdog_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RNG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2S0_Tx_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2S0_Rx_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_LON_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART0_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART1_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART1_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART2_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART2_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART3_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART3_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ADC0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMT_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RTC_Alarm_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void RTC_Seconds_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PIT3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PDB_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void USB_OTG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void USB_Charger_Detect_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void Tamper_Drylce_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DAC0_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void MCG_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void LPTimer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTA_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTB_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTC_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTD_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void PORTE_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SWI_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SPI2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART4_Status_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void UART4_ERR_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CMP2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void FTM3_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void DAC1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ADC1_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void I2C2_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Message_buffer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Bus_Off_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Err_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Tx_WarningIRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Rx_Warning_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void CAN0_Wake_Up_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void SDHC_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Timer_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Transmit_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Receive_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;BR /&gt;void ENET_MAC_Error_IRQHandler() __attribute__ ((weak, alias("Default_Handler")));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* The Interrupt Vector Table */&lt;BR /&gt;void (* const InterruptVector[])() __attribute__ ((section(".vectortable"))) = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Processor exceptions */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (void(*)(void)) &amp;amp;_estack,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __thumb_startup,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NMI_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HardFault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mem_Manage_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bus_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Usage_Fault_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SVC_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DebugMonitor_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PendSV_Handler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTick_Handler,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Interrupts */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA0_IRQHandler, /* DMA Channel 0 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA1_IRQHandler, /* DMA Channel 1 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA2_IRQHandler, /* DMA Channel 2 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA3_IRQHandler, /* DMA Channel 3 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA4_IRQHandler, /* DMA Channel 4 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA5_IRQHandler, /* DMA Channel 5 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA6_IRQHandler, /* DMA Channel 6 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA7_IRQHandler, /* DMA Channel 7 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA8_IRQHandler, /* DMA Channel 8 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA9_IRQHandler, /* DMA Channel 9 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA10_IRQHandler, /* DMA Channel 10 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA11_IRQHandler, /* DMA Channel 11 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA12_IRQHandler, /* DMA Channel 12 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA13_IRQHandler, /* DMA Channel 13 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA14_IRQHandler, /* DMA Channel 14 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DMA15_IRQHandler, /* DMA Channel 15 Transfer Complete */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DMA_Error_IRQHandler, /* DMA Error */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MCM_IRQHandler, /* Normal Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTFL_IRQHandler, /* FTFL Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Read_Collision_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LVD_LVW_IRQHandler, /* Low Voltage Detect, Low Voltage Warning */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;LLW_IRQHandler, /* Low Leakage Wake-up */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Watchdog_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;RNG_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2C0_IRQHandler, /* I2C0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C1_IRQHandler, /* I2C1 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI0_IRQHandler, /* SPI0 Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI1_IRQHandler, /* SPI1 Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2S0_Tx_IRQHandler, /* Transmit I2S0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2S0_Rx_IRQHandler, /* Receive I2S0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UART0_LON_IRQHandler, /* UART0 LON interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART0_Status_IRQHandler, /* UART0 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART0_ERR_IRQHandler, /* UART0 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART1_Status_IRQHandler, /* UART1 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART1_ERR_IRQHandler, /* UART1 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART2_Status_IRQHandler, /* UART2 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART2_ERR_IRQHandler, /* UART2 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART3_Status_IRQHandler, /* UART3 Status interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART3_ERR_IRQHandler, /* UART3 Error interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ADC0_IRQHandler, /* ADC0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CMP0_IRQHandler, /* CMP0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMP1_IRQHandler, /* CMP1 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM0_IRQHandler, /* FTM0 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM1_IRQHandler, /* FTM1 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FTM2_IRQHandler, /* FTM2 fault, overflow and channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMT_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_Alarm_IRQHandler, /* RTC Alarm interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTC_Seconds_IRQHandler, /* RTC Seconds interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PIT0_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT1_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT2_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PIT3_IRQHandler, /* PIT timer all channels interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PDB_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;USB_OTG_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;USB_Charger_Detect_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Tamper_Drylce_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DAC0_IRQHandler, /* DAC0 interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCG_IRQHandler, /* MCG Interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTimer_IRQHandler, /* LPTimer interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTA_IRQHandler, /* Port A interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTB_IRQHandler, /* Port B interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTC_IRQHandler, /* Port C interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTD_IRQHandler, /* Port D interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;PORTE_IRQHandler, /* Port E interrupt */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SWI_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART4_Status_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;UART4_ERR_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CMP2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;FTM3_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;DAC1_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ADC1_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;I2C2_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Message_buffer_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Bus_Off_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Err_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Tx_WarningIRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Rx_Warning_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;CAN0_Wake_Up_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SDHC_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Timer_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Transmit_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Receive_IRQHandler,&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ENET_MAC_Error_IRQHandler&lt;BR /&gt;};&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2019 07:09:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934068#M37194</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2019-10-18T07:09:19Z</dc:date>
    </item>
    <item>
      <title>Re: LPC2148 ASM program need on system call, number 0x55 need to be implemented in assembly language</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934069#M37195</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks you very much for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am looking for below answers;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;1. What will be the address location (in hexadecimal) where the PC should jump to when system call is made?&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;2. What should be the instruction at that address (answer from A) location in order to properly handle the system call?&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #ffffff;" /&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;3. Write the &lt;STRONG&gt;assembly&lt;/STRONG&gt; code for system call handler.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;If&amp;nbsp;you can provide me the answers, it will be great help to me.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Jon&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Oct 2019 10:58:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2148/m-p/934069#M37195</guid>
      <dc:creator>science_exp9</dc:creator>
      <dc:date>2019-10-18T10:58:36Z</dc:date>
    </item>
  </channel>
</rss>

