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

SAM7 and SYS interrupt

Posted by Lou on September 5, 2008
I'm working on a project which uses FreeRTOS. It is working, but we want to service devices (in addition to the PIT, which is used for the timer tick) which are part of the SYSC, and, therefore all share the AT91C_ID_SYS IRQ.

In the GCC/ARM7_AT91SAM7S port, vPreemptiveTick (or vNonPreemptiveTick, as the case may be) is registered directly to the SYS interupt. That's fine, since that's the only SYSC device that raises them. I need to also handle the RSTC interrupt, which requires me to change that. I pretty much know how I can do that, but am concerned that if I do, we'll lose the ability to directly update those files when a new version of FreeRTOS comes out.

If there is a plan to allow other SYSC devices to have interrupts serviced, I'd rather go with that than to hack it locally and try to keep everything in sync when the GCC/ARM7_AT91SAM7S port of FreeRTOS changes.

It is easily conceivable that the ability to do this sort of thing may be of broad interest (on the SAM7 platform). It would allow one to use the DBGU UART, for instance.

RE: SAM7 and SYS interrupt

Posted by Dave on September 6, 2008
A loooooong time ago there were a couple of solutions posted here to allow all the sys interrupts to be serviced. You might be able to find then by searching the forum but the search facility is not too good.

One way of getting around your upgrade worries is to setup the timer interrupt from your application code rather than from the FreeRTOS code.

RE: SAM7 and SYS interrupt

Posted by Lou on September 6, 2008
I don't even know what search terms I'd use for that. And I see what you mean about the search facility. Nice to see it's been considered. Sad to see it didn't make its way into the distribution.

Yeah, I could set up the timer code, myself, but that would pretty much force me to abandon most if not all of the other port code that comes with FreeRTOS, wouldn't it?

Maybe I can use some creative linking to supply my own functions to do some of the things in the port, but use the others in the port that I do not define. A problem with that, though, would be that the functions I override will still be present in the executable, taking up FLASH needlessly. It's not the end of the world (the functions are small); but still.


[ 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