We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am having trouble taking the IAP example project written for the MCB2100 (LPC2129) and moving it to the MCB2300 (LPC2378). My procedure was to create a new project targeting the LPC2378 which gives me the LPC2378.s file. Then I added the IAP.c file used in the example. Modified the include file declaration of the IAP.c file to
#include <LPC23xx.H>
Then I tried to compile the project but it does not recognize the VIC register:
VICDefVectAddr = (unsigned int) def_isr; // for Spurious Interrupts
This is the error:
IAP.C(206): error: #20: identifier "VICDefVectAddr" is undefined VICDefVectAddr = (unsigned int) def_isr; // for Spurious Interrupts IAP.C: 0 warnings, 1 error
Thanks
I compare the user manuals between LPC2129 and LPC2378 and the Register is only mentioned in the LPC2129 User Manusl. I think now that register VICDEFAULTVECTADDR does not exist in the LPC2378.
Thank you for your response.
I don't think the LPC23xx need any "spurious interrupt" handling. Spurious interrupts is another way of saying that the chip integration is broken and suffering from timing issues.
One important thing to remember when moving between LPC21xx and LPC23xx is that one of the chips gets prio from VIC index and maps function with a register/index. The other has hard-coded function and uses the register to define priority. And I think Keil's register naming is wrong for the LPC23xx (it probably took them a while to notice that change between the two VIC) so the register name implies that you specify what hardware the VIC channel should handle when in reality the register controls the priority.
By the way - how is this thread generic and not related to the ARM architecture???
Hi, At the time I started this thread, I did not know that the VICs would be different between the LPCs. I am just starting to learn the tools and chips so I thought maybe my procedure creating a project from scratch was causing this error.
Thanks for the information.