Version Specific Information for 56800/E

Chaining of timer channels

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.

Notice: Only chaining of the channels 0-1,2-3 and 0-1-2-3 is available. Another possible chains can be created with using Init_TMR beans.

Capture bean

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:

  • Interrupt service is disabled. Once a capture event occurs, no further updating of the capture register will occur until the method GetCaptureValue is used (the 'Input edge' flag is enabled in this method).
  • Interrupt service is enabled and event OnCapture is disabled. The 'Input edge' flag is cleared immediately after the interrupt occurs. Content of the capture register can be updated immediately with any input active transition.
  • Interrupt service is enabled and event OnCapture is enabled. It is recommended to use the method GetCaptureValue within OnCapture event. Content of the capture register is protected against the change until the end of OnCapture event only.

TimeDate bean

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.

PulseAccumulator bean

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.

WatchDog bean

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.

FreescaleCAN bean

This bean can encapsulate FlexCAN device or MSCAN12 device.

  • FlexCAN device
    The FlexCAN device receives self-transmitted frames if there exist a matching receive MB. FlexCAN module is implemented on 56F83xx derivatives. Message buffers should be configured as receive or transmit using the FreescaleCAN bean's settings.
  • MSCAN12 device
    When interrupt mode is enabled, received frames should be read in the OnFullRxBuffer event to avoid message buffer lock/unlock problems.

AsynchroSerial, SynchroMaster, SynchroSlave, FreescaleSSI beans

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.

IntFlash beans

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).

  • 56F83xx, 56F81xx, 56F80xx derivatives:

    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).

  • 56F80x, 56F82x derivatives:

    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).


 

 

[top of page]