Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training




Loading

Another Crash in vListInsert() Topic

Posted by jmsmith86 on November 25, 2015

MCU: PIC32MX695F512L FreeRTOS Version: 8.2.1

Like it says in the subject, I am getting into an infinite loop within vListInsert(). Here is what I know: 1. configASSERT is defined 2. ISR priorities are correct 3. All interrupts are defined with SOFT 4. Assembly interrupt wrappers are used with all interrupts where portSAVECONTEXT and portRESTORECONTEXT are executed 5. Stack overflow checking is enabled 6. Call to uxTaskGetStackHighWaterMark() on all tasks after crash return value greater than 100 7. I'm fairly certain that the only places where enter/exit critical is used is when multiple values need to be set/retrieved atomically (no API functions executed) 8. All queues and semaphores are properly initilized

The issue occurrs when I remove and insert a hot-swappable device several times. I traced the issue to a function which calls xQueueSendToBackFromISR(). I have verified that this is indeed always being called from an ISR. Everything works fine once I remove that function call. There are other calls within the same ISR which access the same queue with no issues. I can do without that line of code, so removing it would not be a problem to me. However, it concerns me that I don't understand the reason why this would be causing a crash. Is there anything else that I can do to figure out what is happening?


Another Crash in vListInsert() Topic

Posted by rtel on November 25, 2015

All interrupts are defined with SOFT

What is SOFT?


Another Crash in vListInsert() Topic

Posted by jmsmith86 on November 25, 2015

I always seem to figure things out right after posting... The thing that was processing that queue item was doing something invalid. Of course it was number 7. There is potential for calling an API function while in a critical secion, which is what was happening. Oops! Sorry for the post.


Another Crash in vListInsert() Topic

Posted by jmsmith86 on November 25, 2015

That's Microchip's new ISR calling convention. The ISR can be declared "ISR1AUTO", "ISR1SRS", or "ISR1SOFT". I assume SOFT is more compatible with FreeRTOS, but I haven't read enough into it to understand what's what. It may have been superfluous information.


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




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.


Free TCP/IP and file system demos for the RTOS


Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

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

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

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

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists