Version Specific Information for HC(S)08

The ROM, Z_RAM and RAM ranges depend on the target CPU. It is recommended to increase the stack size if some standard libraries are used.

For the detailed information on debugging HC08 application using MON8 interface please follow to the chapter MON8 on HC08.

Beans' implementation details:

 

  • All the beans:
    • Interrupt priority - the value of this property is ignored, since the HC08 has no HW support for setting interrupt priorities.
    • Event priority - the value of this property can be only "0" (interrupts disabled) or "1" (interrupts enabled), since the HC08 has no HW support for setting interrupt priorities.
  • CPU:
    • Speed Mode selection (CPU methods SetHighSpeed, SetLowSpeed, SetSlowSpeed): if CPU clock-dependent beans are used then signals generated from such internal peripherals may be corrupted at the moment of the speed mode selection (if function of clocked devices is enabled). Handling of such a situation may be done via events BeforeNewSpeed and AfterNewSpeed.
    • Interrupt vector table in ROM is placed at the default address in the ROM or in the Flash.
      If the interrupt vector table in RAM is selected then it is generated the table in RAM and special redirection code to ROM. This code transfers program control to the selected address according the table in RAM. You can use CPU methods SetIntVect to set the address of interrupt service routine.
      Note: you cannot change the interrupt vector that is allocated by any bean in your project. It is recommended to select the event OnSWI together with this option to minimize size of generated code.
  • PPG: The PPG beans always allocates the whole timer. Although it would be possible to share the selected timer between 2 PPG beans, it would be impossible to set the PPG period for these two beans separately. (More information about this bean can be found in chapter Timers)
  • PWM: In contrast to the PPG beans, it is possible for PWM beans to share the selected timer, since they do not have the SetPeriod method. (More information about this bean can be found in chapter Timers)
  • EventCntr16: Since the timer overflow flag is set when the timer reaches a value of 65535, the maximum number of events that can be counted by this bean is limited to 65534 (value of 65535 is marked as invalid as the method GetNumEvents returns the ERR_OVERFLOW value as its result.) (More information about this bean can be found in chapter Timers)
  • TimeDate: It is recommended to make a setting close to 10 ms (resolution provided by GetTime/SetTime methods). Smaller values unnecessarily overload the system.
  • WatchDog: When the Watchdog bean is added to the project, it is automatically enabled. The enabling code is placed in the CPU initialization code.
    Note: Watchdog is enabled by a write to the configuration register. This register can be written only once after CPU reset. Since the register also contains other bits, that are written during the CPU initialization, the watchdog must be enabled when CPU is initialized. The property "CPU clock/speed selection" has no effect because the COP timer clock source is CGMXCLK.
  • AsynchroSerial:
    • Timing setting 'values from list' enables to select various values denoted by changes of the prescaler most tightly coupled with the UART.
    • If a software handshake is used for extremely high baud-rates it may happen that no overruns appear and transmitted characters get lost
  • AsynchroMaster: the same as AsynchroSerial
  • AsynchroSlave: the same as AsynchroMaster.
  • SynchroMaster: Because of the disability of an SPI device (configured as Master) caused by a mode fault, the mode fault automatically disables the bean (inside interrupt service) if interrupt service is enabled. If the interrupt service disabled and a mode fault occurs, the bean will be disabled at the beginning of RecvChar method.
  • SynchroSlave: A mode fault doesn't disable an SPI device (configured as Slave), therefore it doesn't disable the bean.
    If a mode fault error occurs, software can abort the SPI transmission by disabling and enabling of the device ('Enable' and 'Disable' methods). When Clock edge property = "falling edge", Shift clock idle polarity property = "Low" or Clock edge property = "rising edge", Shift clock idle polarity property = "High" the SS pin of the slave SPI module must be set to logic 1 between bytes. The falling edge of SS indicates the beginning of the transmission. This causes the SPI to leave its idle state and begin driving the MISO pin with the MSB of its data. Once the transmission begins, no new data is allowed into the shift register from the data register. Therefore, the slave data register must be loaded with the desired transmit data before the falling edge of SS.
  • BitIO, BitsIO, ByteIO, Byte2IO, Byte3IO, Byte4IO:
    The GetVal and GetDir methods are always implemented as macros. Optimization for property (BitIO, BitsIO) doesn't influence the generated code.
  • WordIO, LongIO:
    These beans could not be implemented on Freescale HC08 - this CPU has no instructions for 16-bit and 32-bit access into the I/O space.
  • ADC, ADconverter:
    There are the following restrictions in Processor Expert:
    • Clock input of A/D clock generator cannot be changed in runtime.
    • The voltage levels supplied from internal reference node cannot be measured.
    A conversion time in the 'Conversion time' dialog is calculated for the worse case, that is 17 cycles per one conversion.
  • ADfast:
    There are the following restrictions in Processor Expert:
    • Clock input of A/D clock generator cannot be changed in runtime.
    • The voltage levels supplied from internal reference node cannot be measured.
    • ADC device doesn't support continuous mode through adjoining channels. Therefore the bean does measurement in single mode.
    A conversion time in the 'Conversion time' dialog is calculated for the worse case, that is 17 cycles per one conversion.
  • ExtInt:
    If a pin other than IRQ (IRQ1) is set in this bean, setting of the 'Pull resistor' property affects only disable state of the device (bean). If the device (bean) is enabled, the pull-up resistor is always connected to the pin.
  • KBI:
    • Setting of the 'Pull resistor' property affects only the disabled state of the device (bean). If device (bean) is enabled, the pull-up resistors are always connected to the used pins.
    • Only one bean can be used in PE project.
  • IntEEPROM:
    A bean expects that all security options of EEPROM are disabled. If some security option is enabled methods performing write operation (such as SetByte) can return an error.

 





 

 

[top of page]