We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I have tested Keils RTX Program EX1.c using Lpc2124 using the Debugger and everthing ran OK.
So I modifed the EX1.c Prog for the LPC 2368. 1) Used LPC23xx.h through-out. 2) Removed Startup.s and used lpc2300.s and modifies the SWI Handler as described by Keil. 3) set T1TCR to 0 before os_init.
Started the Debugger and displayed OS-Support-> rtx-kernel it shows: task 1 wait_or " " 0000 0004 36% (ie no delay is shown, wait for event) task 2 wait_delay 2 " " " " 32% (ie no events expected) idle_os_demon 0%
There is no task switching going on.
Looking at Clock dividers the CCLK regularly changes from 48 to 2 MHz and back again...and this appears to me ti be wrong, but cannot find out why. I have a suspicion that the reset handler is being called.
I'm using the Keil Demo V4 uVision on Win XP.
Can any one help me out to locate the problem?
Bonzadog
I guess that you were debugging in the Simulator.
Maybe you can disable the EMC (External Memory Controller) in the LPC2300.s, and then try again.
If the EMC is enabled the startup hangs up - I found that out and set EMC from equ 1 to equ 0 in lpc23xx.s .Thanks anyway.
The problem has now been solved :
The startup ,l pc23cc.s , was OK
But in RTX_Config.c under
#define OS_TINIT() VICVectAddr115 = (U32)os_clock_interrupt; \ was originally set and so I changed it to VICVectAddr5 = (U32)os_clock_interrupt; \ and the timer now gets the required interrupt vector. and the tasks are now switching.
But I'll be taking a closer look at this, though.
Many thanks