-ME2 Silicon Errata

Last modified by Microchip on 2023/12/21 12:47

All emulation header boards have a special -ME2 device mounted on them. In some cases the -ME2 silicon has errata, i.e., the device does not operate as expected due to silicon issues.

CCP3 Capture

When the input threshold control for RE0 is configured for TTL, the CCP3 capture input is ignored. This applies to silicon revision C0 of the devices listed below.

PIC16F1789-ME2 (AC244064):

  • PIC16(L)F1784
  • PIC16(L)F1787

Workaround: Use ST Threshold.

Hardware Breakpoint Issue

When using this emulation header with C language or Assembly language code, hardware breakpoints will not function past memory locations 0x3FF for the emulated devices listed below.

PIC16F1939-ME2 (AC244055):

  • PIC16F1936, PIC16LF1936
  • PIC16F1937, PIC16LF1937

Workarounds:

  1. Software breakpoints for these four parts could be used (with the caveat that software breakpoints do not offer the advanced capability of hardware breakpoints).
  2. Any function(s) that need to be debugged with hardware breakpoints could be explicitly (and temporarily) located in the program memory area below 0x400 until the function is properly debugged, as shown in Example 1 and 2 below.

Example 1: In C language for the MPLAB® XC8 C compiler, this can be done with the @ address construct as follows, which will locate function_1 at program memory base address 0x200.

1
2
3
4
5
6
void function_1(void) @ 0x200
{
   asm("NOP");
   asm("NOP");
   asm("NOP");
}

Example 2: In assembly language for the MPASM™ assembler, this can be done with the CODE directive as follows, which will locate function_1 at the program memory base address 0x200.

1
2
3
4
5
6
7
8
9
HW_BRKPT CODE 0x0200

function_1:

    NOP
    NOP
    NOP

    RETURN

Trigger In/Halt during Multi-Cycle Instruction Processing

For some -ME2 devices, the arrival of a trigger-in/HALT event during the processing of a multi-cycle instruction may cause the emulator to fail to properly execute/complete the instruction before coming to a HALT. This applies to the following -ME2 products:

  • PIC16(L)F1939-ME2 (AC244055)
  • PIC16(L)F1829-ME2 (AC244063)
  • PIC16(L)F1789-ME2 (AC244064)
  • PIC16(L)F1719-ME2 (AC244065)