I am new to this forum and RTOS too. I am looking for a code to generate a tactile switch interrupt on PIC32MX360F512L. I am using PIC32 starter kit. I tried to call the ISR void __ISR(_CHANGE_NOTICE_VECTOR, ipl2) ChangeNotice_Handler(void) from a task but it gave me error "/pic32mx/include/sys/appio.h:(.vector_26+0x0): undefined reference to `ChangeNotice_Handler’ ". I tired to search the interrupt in the RTOS files but could not get it. Can somebody help with this?
Thanks in advance…
The page linked below has a section “Interrupt service routines” that tells you how to write an interrupt that uses FreeRTOS
Thanks a lot for the quick reply!!!
I tried to implement in the similar manner; creating .S file and .c file containing the void __ISR(_CHANGE_NOTICE_VECTOR, ipl2) ChangeNotice_Handler(void); but it still gives me the same error "/pic32mx/include/sys/appio.h:(.vector_26+0x0): undefined reference to `ChangeNotice_Handler’ "
Where do you think am going wrong? I checked the appio.h file and it has nothing in it regarding it….
I don’t think your problem is in any way FreeRTOS related. It sounds like you have a simple build problem, or linking problem to be more precise.
If you are calling ChangeNotice_Handler in your code then the code you are building must somewhere define a function called ChangeNotice_Handler, but evidently (from the error message) it doesn’t. That would be the case whether you included FreeRTOS in your build or not because ChangeNotice_Handler is definitely not a FreeRTOS function.
Hey thanks Richard for the reply!!
I did the code according to the procedure mentioned on the page http://www.freertos.org/port_PIC32_MIPS_MK4.html but could not make it run. So I looked through the examples given and found that .set nomips16 and .set noreorder was mentioned in every .S file. I modified my code accordingly and it worked though I do not understand what these line mean. My .S files looks something like this :