The timer channels can be chained. Chaining of 16-bit counters it is
supported by accommodating counts up to 64bits. The chained channels can
be selected by a "Timer" property. For example, if 32-bit counts
are required for the FreeCntr bean, it is possible to set the "Timer"
property of the bean by selecting the TMRA01_Compare or TMRA01_Free values.
These counters are not "standalone" 32- bit HW counters, but
rather two chained 16-bit counters. Once the capture is triggered, the capture register cannot be
overwritten until the 'Input edge' flag is enabled again. This is provided
different way depending on the Interrupt service settings and OnCapture
Event usage. The following cases can occur: It is recommended to set a resolution to multiples of 10 ms (resolution
of the time provided by the GetTime/SetTime methods). It should be 10ms or
more. Smaller values are unnecessarily overloading the system. This bean is generally used to count pulses (events) generated on
external inputs. Thus, the primary and secondary input can only be a
physical pins of the device. The primary input is required to be an
internal clock, the Init_TMR bean has to be used instead. The interrupt service routine for the vector INT_COPReset is generated
only if the OnWatchDog event is used. Otherwise the INT_COPreset entry in
the interrupt vector table contains only the call of the _EntryPoint,
which is the same as the INT_Reset service routine. The user can find out
the cause of the reset by using a CPU bean method GetResetSource. This bean can encapsulate FlexCAN device or MSCAN12 device. When the bean is configured in DMA mode then Send/Receive routines use
a user buffer that is passed as a parameter to these methods. User should
avoid changing a buffer content during receive/transmit process. If the Save write method is used (property Write method), the Save
buffer (buffer for saving data from the sector which has to be erased) is
implemented by bean in data RAM. If the Virtual page feature is used (property Virtual page), the page
buffer is implemented by bean in data RAM. The basic addressing mode of IntFLASH bean methods is a 16-bit word. It
is used by most of the memory access methods. Only SetByteFlash,
GetByteFlash, SetBytePage, GetBytePage and SetBlockFlash, GetBlockFlash
methods use a byte addressing mode. An address of the byte location is an
address according to a 16-bit word location multiplied by 2 and then the
even/odd bytes are discriminated by LSB: 0 for even byte, 1 for odd byte. PE does not check if the memory mode selected in the CPU bean
corresponds to the current CodeWarrior target. Thus it is needed to take
care to the memory mode selection especially if the program and boot flash
memory is served by the IntFLASH bean (if the program and boot flash
memory has to be served by the bean, then one of the internal memory
targets has to be selected). If the project contain both IntFLASH beans (one for each memory
space), then none of the beans could be disabled in High speed mode. If a programming/erasing operation is started by bean and it is
configured not to wait until the end of the operation (property Wait
enabled in init., method SetWait), then calling of a programming/erasing
method of the other bean is not allowed before the end of the
programming/erasing operation of the first bean (ERR_BUSY is returned). Internal flash has not protection feature, so the SetProtection and
SetGlobalProtection methods are not implemented. If the bean is configured not to wait until the end of the
programming/erasing operation (property Wait enabled in init., method
SetWait), the FinishProcess method has to be called after the end of
the operation. Since the flash device does not support erase verification feature,
the EraseVerify method is implemented by software routine. Thus it
gets more time to verify the flash memory than this method is
implemented by hardware module (all parts of the flash memory have to
be read).
|