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

Totally stop FreeRTOS?

Posted by kuku2010 on May 5, 2010
Hi all,

I am using AVR32, EVK1100 kit

I have a need to totally kill FreeRTOS under certain operation. I tried Disable_global_interrupt() but FreeRTOS is still running, ie, another thread is still active. If I use vTaskSuspendAll(), I can stop the other threads, but FreeRTOS is still active, I need to *TOTALLY* get rid any trace of FreeRTOS at this point.

Any suggestion? Thanks!

RE: Totally stop FreeRTOS?

Posted by woops_ on May 5, 2010
It depends what exactly you want to do. To stop FreeRTOS you just need to kill the tick interrupt. If you want to remove FreeRTOS then call vTaskEndScheduler() if it is implemented. If it is not implemented then look at the PC port to see how to implement it.

RE: Totally stop FreeRTOS?

Posted by kuku2010 on May 5, 2010
vTaskEndScheduler calls
portDISABLE_INTERRUPTS();
xSchedulerRunning = pdFALSE;
vPortEndScheduler();

portDISABLE_INTERRUPTS doesn't stop the scheduler, and vPortEndScheduler( void ) is not implement in AVR32. Where do I find the info to implement it? thanks!

RE: Totally stop FreeRTOS?

Posted by Richard Damon on May 5, 2010
What do you mean by "TOTALLY" get rid of any trace, literally, that would require scrubbing memory and loading in a new program that doesn't use FreeRTOS.

If you mean you don't want any FreeRTOS code to execute, then you just need to not call it! Your first idea of disabling the interrupts should have done what you wanted, as long as the thread that was executing doesn't make any calls to FreeRTOS itself, and that would be the only way for another thread to become active.

RE: Totally stop FreeRTOS?

Posted by kuku2010 on May 5, 2010
Sorry for misleading.

In my project, in a certain operation, I'd like to execute codes that is totally independent of FreeRTOS, meaning no background schedulers at all. I thought it would be easy, simply call Disable_global_interrupt() and FreeRTOS will be out of the picture, but somehow in AVR32/FreeRTOS, that's not the case.

RE: Totally stop FreeRTOS?

Posted by Richard Damon on May 5, 2010
If Disable_global_interrupt disables all the interrupts, then that should be sufficient. If your code does not call any FreeRTOS routines, then the only other possibility is an interrupt occurring that calls FreeRTOS code. The Scheduler can't just decide to run on its own, it needs to be called by something. The tic interrupt calls it, other interrupts might call it, and blocking API calls may call it.


[ 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