Richard,
There
is no reason in the world that changing the priority of a TPU channel should
affect whether or not it gets serviced.
From
the view point of the TPU microengine, one cannot permanently starve a TPU
channel for service. In other words, if you have 1 channel at high
priority, 1 channel at medium priority and the other 14 channels at low
priority, a particular low priority channel will still get
service.
The
same is NOT true at the CPU level. If TPU channel 1 is constantly (or as
close to constantly as you can get) asserting its interrupt bit, a higher
numbered TPU channel's ISR can fail to get serviced. The channel that will
get serviced in an ISR from the CPU is the lowest numbered channel that is
asserting its interrupt bit.
Also,
if you are writing in "C", check your assembly code around the area where you
are changing the priority of the aforementioned channel. "C" can generate
strange code when dealing with registers. It may be that you are using two
OR instructions to change the priority bits or something like
that.
Anyway, the only way that changing the priority bits for a channel will
stop the channel from getting serviced is to change the priority to
%00.
Regards,
Charlie
-----Original Message-----
From: Richard Armitage [mailto:rich.armitage@...]
Sent: Wednesday, May 01, 2002 11:15 AM
To: 68300@yahoogroups.com
Subject: [68300] TPU initialisationWhy would a TPU configuration not initialise if set to a high priority, but be successful if set to a lower priority?Richard Armitage
---------------------------------------------------
To unsubscribe from this group, send an email to:
68300-unsubscribe@yahoogroups.com
To learn more about Motorola Microcontrollers, please visit
http://www.motorola.com/mcu
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.