Reply by March 25, 20092009-03-25
Hello,

I have done this and it I think that it worked:


unsigned long ints;

ints = VICIntEnable;
VICIntEnClr = 0xffffffff;

(call IAP functions here)

VICIntEnable = ints;




tsk_lock/tsk_unlock did not work.

Thanks
Andre

-----Mensagem original-----
De: l... [mailto:l...] Em nome de Paul Claessen
Enviada em: quarta-feira, 25 de mar de 2009 18:00
Para: l...
Assunto: RE: [lpc2000] IAP and Keil RTX

You need to use SWI functions (modify RTX's SWI table, this is all very well
documented) to disable and enable interrupts.
Depending on the complexity of your system you may be able to get away with
simply using the RTX functions tsk_lock and tsk_unlock.

~ Paul Claessen

From: lpc2000@yahoogroups .com [mailto:lpc2000@yahoogroups .com] On Behalf Of
AndrMoutinho
Sent: Wednesday, March 25, 2009 4:09 PM
To: lpc2000@yahoogroups .com
Subject: [lpc2000] IAP and Keil RTX

Hello,

I am trying to use the ARM flash in order to store application data.
According to the manual all interrupts must be disabled prior calling the
IAP functions. Does anyone have called the IAP function in a RTX task ? The
RTX uses interrupts in order to work.

Regards,
Andre





An Engineer's Guide to the LPC2100 Series

Reply by Paul Claessen March 25, 20092009-03-25
To clarify: you dont WANT RTX to run, while youre writing to flash!!

Also: what I mentioned about task_lock(): that only stops the OS system
timer (preventing pre-empting tasks and scheduling new ones, as well as user
timers going off). So you would STILL have to make sure nothing else can
interrupt.
So its much easier to use SWI functions to disable/enable interrupts

~ Paul Claessen

From: l... [mailto:l...] On Behalf Of
Paul Claessen
Sent: Wednesday, March 25, 2009 5:00 PM
To: l...
Subject: RE: [lpc2000] IAP and Keil RTX

You need to use SWI functions (modify RTXs SWI table, this is all very well
documented) to disable and enable interrupts.
Depending on the complexity of your system you may be able to get away with
simply using the RTX functions tsk_lock and tsk_unlock.

~ Paul Claessen

From: l...
[mailto:l... ] On
Behalf Of
AndrMoutinho
Sent: Wednesday, March 25, 2009 4:09 PM
To: l...
Subject: [lpc2000] IAP and Keil RTX

Hello,

I am trying to use the ARM flash in order to store application data.
According to the manual all interrupts must be disabled prior calling the
IAP functions. Does anyone have called the IAP function in a RTX task ? The
RTX uses interrupts in order to work.

Regards,
Andre





Reply by Paul Claessen March 25, 20092009-03-25
You need to use SWI functions (modify RTXs SWI table, this is all very well
documented) to disable and enable interrupts.
Depending on the complexity of your system you may be able to get away with
simply using the RTX functions tsk_lock and tsk_unlock.

~ Paul Claessen

From: l... [mailto:l...] On Behalf Of
AndrMoutinho
Sent: Wednesday, March 25, 2009 4:09 PM
To: l...
Subject: [lpc2000] IAP and Keil RTX

Hello,

I am trying to use the ARM flash in order to store application data.
According to the manual all interrupts must be disabled prior calling the
IAP functions. Does anyone have called the IAP function in a RTX task ? The
RTX uses interrupts in order to work.

Regards,
Andre



Reply by March 25, 20092009-03-25
Hello,

I am trying to use the ARM flash in order to store application data. According to the manual all interrupts must be disabled prior calling the IAP functions. Does anyone have called the IAP function in a RTX task ? The RTX uses interrupts in order to work.

Regards,
Andre