Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


Tactile Switch Hardware Interrupt

Posted by Shashank on March 19, 2013
Hello all,
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...

RE: Tactile Switch Hardware Interrupt

Posted by Dave on March 19, 2013
The page linked below has a section "Interrupt service routines" that tells you how to write an interrupt that uses FreeRTOS


RE: Tactile Switch Hardware Interrupt

Posted by Shashank on March 19, 2013
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....

RE: Tactile Switch Hardware Interrupt

Posted by Richard on March 19, 2013
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.


RE: Tactile Switch Hardware Interrupt

Posted by Shashank on March 20, 2013
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 .setnomips16 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 :

.set noreorder
.extern vSW1InterruptHandler
.set noat

Thanking you.

[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers





STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner