FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [March 2009 Threads] SWI handling (LPC2388+Keil)Posted by Konrad Heksel on March 10, 2009 Hi, I successfuly adopted FreeRTOS for the PLC2388 port under Keil uVision. Leds blink :) Unfortunately, I stuck with futher adopting my current firmware. Before, I used USB CDC example from Keil. It uses SWI interrupt when writing to endpoint. "Standard" SWI handler delivered by Keil (SWI.s file) extracts swi argument and also performs context saving. I have no clue, how to combine this solution with RTOS portYeld() which also uses swi. I tried to put handler to the SWI routine to the Startup.s file, and in the SWI.s put vPortYieldProcessor and USB_WriteEP to the SWI_Table respectively under SWI_0 and under SWI_1. This trivial modification does not work. When switching context I don't get correct return address. I tried some modifications to the assembly but without success... Could you help solving this issue?
Thank you in advance. Konrad Heksel
P.S. prvSetupTimerInterrupt() function has a possible slight mistake ("FreeRTOS\Source\portable\RVDS\ARM7_LPC21xx\port.c"). In case of LPC23xx there should be substraction of one during init of T0MR0/1 register: T0MR1 = ulCompareMatch-1; I'm not sure if this is the case of LPC2129
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|