Release Notes for MPLAB® SIM Simulator
MPLAB® IDE v8.91
DLL and Firmware versions:
| Sim12.dll | v2.10.00.00 | |
| Sim16.dll | v2.10.01.01 | |
| MPSim.dll | v8.62.01.0 | (SIM17) |
| Sim18.dll | v3.20.00.00 | |
| dsPicSim30.dll | v4.30.00.00 | (SIM30) |
| Sim32.dll | v0.00.10.06 |
April 30, 2013
Table of Contents
5 Repairs and Enhancements Made in v8.91
Click the link below to see device support for the simulator (SIM).
This tool has been tested using the following operating systems:
32-Bit: Windows® 2000 SP4, Windows XP SP2, Windows Vista™ and Windows 7 OSs
64-Bit: Windows XP 64, Windows Vista 64 and Windows 7 64 OSs
NOTE: Windows NT® and Windows 98/ME OSs are NOT supported.
The following documents may be found on our website or MPLAB IDE CD-ROM:
· MPLAB IDE User's Guide (DS51519)
· MPLAB IDE Quick Start Guide (DS51281)
· MPLAB IDE Quick Chart (DS51410)
On-line help (Help>Topics) is also available for this tool:
· Debuggers>MPLAB SIM - hlpMPLABSIM.chm
None.
None.
The following is a list of known problems. For information on common problems, error messages and limitations please see Troubleshooting in the online help file for MPLAB SIM (hlpMPLABSIM.chm).
Building a project for the simulator under Debug mode will cause non-required resources to be used. This may cause code without proper paging or banking operations not to function in this mode for 8 bit devices.
At this time the PIC32 simulator has some variations in cycle accuracy when compared to the real silicon. The PIC32 simulator does not simulate things like the cache, pre-fetch buffer, wait states and Bus matrix divisions. The Bus matrix is fixed at 1:1 with the processor clock. This can have an effect of making algorithm timing loops appear to be slower than they are in real silicon. Each instruction is accurate in execution and timing in itself.
Although the simulator may show support for PIC32 MCUs with remappable pins, no simulator module for pin remapping exists at this time. Therefore only pins that do not remap and the core would function for these devices.
|
Key |
Summary |
Device Affected |
|
SIM-853 |
Timer 4/6 do not work on PIC18FxxK22. |
PIC18F45K22 |
|
SIM-849 |
TMR0 prescalar is not effective on PIC10F3xx devices. |
PIC10F3xx |
|
SIM-847 |
For PIC16F1947, RC2IF does not get set after RC2REG buffer is changed. |
PIC16F1947 |
|
SIM-846 |
Register injection for PIC16F1947 involving RCREG results in "Identifier 'RCREG' is undefined. |
PIC16F1947 |
|
SIM-843 |
For PIC18F66K22, the library functions eeprom_read() and eeprom_write() don't work at all on MPLAB SIM. |
|
|
SIM-842 |
PIC18F46K80: Timer4 interrupt flag never sets in simulator. |
PIC18F46K80 |
|
SIM-840 |
TSC bit errors occur when writing to T2CON and T3CON registers of the dsPIC30F6015 device. |
dsPIC30F6015 |
|
SIM-838 |
Flash Read/Write module not implemented for PIC10F320 and PIC10F322. |
PIC10F322, PIC10F320 |
|
SIM-835 |
TMR2 not incrementing in PIC24F08KL302. |
PIC24F08KL302 |
|
SIM-834 |
CCPx module doesn't work on TMR4 or TMR6 for the PIC18F87K90 family. |
PIC18F87K90 family |
|
SIM-832 |
TRISA has incorrect R/W and RESET values for PIC16F720. |
PIC16F720 |
|
SIM-830 |
Peripheral interrupts are not implemented for PIC10F320 and PIC10F322. |
PIC10F322, PIC10F320 |
|
SIM-829 |
When executing a MOVSF instruction there are 3 clock cycles in the simulator; however, only 2 clock cycles per MOVSF should occur. |
|
|
SIM-822 |
TRISA does not have bits 4 or 5 enabled on PIC12F1822. |
PIC12F1822 |
|
SIM-821 |
Disabling FCMEN *and* enabling extended instruction set causes division to occur incorrectly. |
PIC18F97J60 |
|
SIM-819 |
When hardware is used (via debugger), Reset condition correctly places the PC at the Auxiliary Reset Vector. When the simulator is used, Reset condition incorrectly places the PC at the Primary Reset Vector, which subsequently produces an address trap. |
PIC24EP |
|
SIM-818 |
Carry' flag NOT getting updated upon execution of DAW.B instruction under decimal rollover condition. |
dsPIC33FJ32GP302, PIC24FJ256GB206 |
|
SIM-817 |
Setting TMR0IF before enabling GIEL/GIEH results in no interrupt occurring. The interrupt only occurs when RCONbits.IPEN = 1 for the PIC18F family. |
Confirmed on PIC18F46K80; also maybe PIC18F4520, 4585 |
|
SIM-816 |
On PIC24FV32KA302, the external input INT2 is set on RA6 instead of RB12. |
PIC24FV32KA302 |
|
SIM-813 |
Timer implementation is incorrect for PIC18LF45K80. |
18FLF45K80, maybe others in the family |
|
SIM-810 |
Cycle counts are incorrect for dsPIC33/PIC24EP devices: BSET/BCLR/BTG should take two, RETURN, RETFIE, and RETLW should take six. |
dsPIC33EPXXXMU806/810/814, PIC24EPXXXGU810/814 |
|
SIM-801 |
Cannot Map INT1 to Remappable Peripheral Pin 6 (RPI-6) for PIC24FJ64GB004. |
PIC24FJ64GB004 Family |
|
SIM-799 |
CCP module does not have interrupts implemented correctly for PIC18FxxK22 devices. |
PIC18FxxK22 |
|
SIM-798 |
Comparator does not have C12IN0-C12IN4 implemented for PIC18FX6K22. |
PIC18FXXK22 |
|
SIM-797 |
T1G is not present in stimulus for PIC18F46K22 device. |
PIC18F46K22 |
|
SIM-796 |
Not all options for ADCON0,CHS are available. I.e., some ADC channels will give an error if attempted to be used. |
PIC18F43K22 |
|
SIM-785 |
PORTB can't be controlled on PIC18F23K22 and PIC18F24K22 even after care is taken to disable multiplexed functions. |
PIC18F23K22, PIC18F24K22 |
|
SIM-784 |
ECCP2 module missing from stimulus - might not be implemented. |
PIC16F1824 |
|
SIM-782 |
ANCON0 and ANCON1 lose affect if ADCON.GO is set for the
PIC18F46J11. |
PIC18F46J11 |
|
SIM-781 |
mov [wn+wb], xx' is not correct for dsPIC33/PIC24 EP devices. |
dsPIC33/PIC24 EP devices |
|
SIM-780 |
PIC18F45K22 is missing T1G, T5CKI and CCP3 from stimulus. |
PIC18F45K22 |
|
SIM-778 |
RCREG2 is missing from stimulus for PIC18F67K90. |
PIC18F67K90 |
|
SIM-777 |
T1G is missing from stimulus for PIC18F67K90. |
PIC18F67K90 |
|
SIM-776 |
T1G is not defined in stimulus for PIC18F45K22. |
PIC18F45K22 |
|
SIM-775 |
T5CKI is not defined in stimulus for PIC18F45K22. |
PIC18F45K22 |
|
SIM-774 |
CCP3 is not defined in stimulus for PIC18F45K22. |
PIC18F45K22 |
|
SIM-773 |
WDT does not function for PIC16F721. |
PIC16F721 |
|
SIM-771 |
For PIC18F97J60, when using a temporary variable in the access bank, math under the simulator is incorect; for an example a=a*(a+1) +1. |
PIC18F97J60 |
|
SIM-768 |
For the PIC12F1822 at power-on, TRISA should be 00111111. The Simulator is 00001111. A customer using RA4 or RA5 must initialize their TRIS register or the simulator will give different results than their silicon. |
PIC12F1822 |
|
SIM-764 |
P1BSEL has no affect on the output pin for PIC12F1822. |
PIC12F1822 |
|
SIM-763 |
For PIC18F25K22 TIMER2 does not increment when device is in IDLE mode. It just stops. |
PIC18F25K22 |
|
SIM-762 |
CCP1 stimulus pins are missing for PIC12F617. |
PIC12F617 |
|
SIM-761 |
T2CKPS = 1x should be prescaler of 16 on PIC16F887. However, T2CKPS = 11 actually creates a prescaler of 64. |
PIC16F887 |
|
SIM-760 |
When the instruction at the last address in memory is a
RETFIE, the simulator gives a warning: |
PIC16F72x, other mid-range devices |
|
SIM-757 |
Flash Write does not work for PIC18LF45J10. |
PIC18LF45J10 |
|
SIM-756 |
DMCI tutorial using PIC18F87J10 does not work; please select another device. |
PIC18F87J10 |
|
SIM-753 |
The ADC of the dsPIC33F GS family is implemented as a dsPIC30F SMPS in simulator, which is not expected. The two families behave differently. |
dsPIC33F GS family devices |
|
SIM-752 |
Positive or Negative edges do not trigger Interrupt on change for PIC12F1822 family devices. |
PIC12F1822 Family |
|
SIM-751 |
Output Compare PWM doesn't let a user to change OC1R value while the PWM is enabled in PIC24FJ64GB004. |
PIC24FJ64GB004 |
|
SIM-750 |
RA3 pin cannot be used as digital input pin in simulator even though MCLR reset is disabled for PIC18F13k22 device |
PIC18F13K22 |
|
SIM-747 |
On PIC18F45K22, TMR4 and TMR6 do not operate. |
PIC18F45K22 |
|
SIM-743 |
On PIC18F14K50, RABIF is never set upon PORTA changing, even though IOCA is set. |
PIC18F14K50 |
|
SIM-738 |
When IOCBN and IOCBP are both clear, a positive or negative edge should not affect the IOC flags. In the simulator IOCIF still gets set. |
PIC16F1827 |
|
SIM-737 |
The simulator hangs when using __delay_ms(x) function from the HI-TECH PICC18 compiler. |
PIC18F2620 |
|
SIM-734 |
On PIC16F630 when TMR1 is ON, and you set TMR1 to 0xFFFF the rollover that happens will not trigger the TMR1IF bit. |
PIC16F630 |
|
SIM-733 |
Using WUE (Wake-Up Enable) with UART does not wake up if stimulus is applied to RX pin. |
|
|
SIM-732 |
For the PIC18FxxJ50 family, if you put SFR RPINR16 = 0x1F, then any synchronous stimulus will cause a stimulus error upon hitting "apply". |
PIC18F46J50, 65J50 |
|
SIM-729 |
RESET instruction is not recognized by code coverage even when it is executed for PIC18F458. |
PIC18F458 |
|
SIM-726 |
The AD1PCFGL and AD1PCFGH special function registers are not defined in the .dev files for the PIC24FJxxxDAxxx devices. |
PIC24FJ256DA210, PIC24FJ256DA206, PIC24FJ256DA110, PIC24FJ256DA106, PIC24FJ128DA210, PIC24FJ128DA206, PIC24FJ128DA110, PIC24FJ128DA106 |
|
SIM-725 |
RA5 pin can not be turned to digital mode for PIC18F87K22 device |
PIC18F87K22 |
|
SIM-723 |
The ICxF trigger is not occurring where expected for the PIC24FJ256DA and PIC24FJ256GB family devices. |
PIC24FJ256DA210 and PIC24FJ256GB210 Families |
|
SIM-718 |
RC12 and RC15 should function as port I/O only when Primary Oscillator / EC mode is (POSCMD = 11 or 00). Apparently they are acting like port IO for all oscillator settings for PIC24FJxxxDA devices. |
PIC24FJ256DA, PIC24FJ256GB110 Family |
|
SIM-712 |
For the PIC18FxxK22 family, RABIF is always set upon stimulus of RA/RB, regardless of IOCA/IOCB. |
PIC18F13K22 |
|
SIM-711 |
Regardless of APFCON settings, PWM functionality on different pins does not change. |
PIC16F18xx |
|
SIM-709 |
PIC16F19xx devices have implemented a four word flash write write. The datasheet indicates an eight word flash write. |
PIC16F19xx |
|
SIM-708 |
For PIC18F13K50, Default value of ADCON1 should be 0x00. |
PIC18F13K50 |
|
SIM-707 |
Resetting a device while the T08BIT is cleared resets the SFR bit T08BIT to 1. The functionality continues as if it was cleared until it is toggled in code or the project is rebuilt. |
PIC18F4680 |
|
SIM-706 |
The simulator doesn’t output the entire contents of the UART register, only the first 7 bits. |
PIC16F914 example, affects all |
|
SIM-702 |
On PIC10F2xx the conversion timming of the ADC is incorrect. It takes longer than it should. |
PIC10F220 |
|
SIM-701 |
Incorrect RA6 and RA7 behavior for different CONFIG1
<FOSC> settings |
PIC16F193x |
|
SIM-699 |
Only able to use default - TMR3 for Input Capture with Dedicated Timer for PIC24FJxxGA1 and GB. |
PIC24FJ64GB004, PIC24FJ64GA104 families |
|
SIM-686 |
SFR TRISB does not work for Register Trace in stimulus. |
PIC16F767, PIC24HJ256GP210, PIC18F25K20... probably all |
|
SIM-664 |
The warning "CORE-W0001: Illegal opcode or unitialized WREG has caused a reset" is issued when using W6 and W7 to write to an array for the PIC24FJ64GA004 device if they have not been written to before. |
PIC24FJ64GA004 (perhaps other devices too) |
|
SIM-663 |
Resets in SIM (other than Processor Reset) did not reset SR to 0x0000, it remained unchanged. |
dsPIC30F, dsPIC33F, PIC24F, PIC24H, etc. (A lot of green lit device) |
|
SIM-660 |
According to the datasheet (DS41350C), pins RA0/RA1 (D+,D-
for USB) should only work as digital inputs (and not outputs). |
PIC18F13K50 |
|
SIM-656 |
PIC18F4455 only supports CCP operations and not ECCP support. |
PIC18F4455, PIC18F4610 |
|
SIM-632 |
Cannot set RB15-RB12 for dsPIC33F32MC302/304, dsPIC33F64MCx02/x04, and dsPIC33F128MCx02/x04. |
dsPIC33F32MC302/304, dsPIC33F64MCx02/x04, and dsPIC33F128MCx02/x04 |
|
SIM-628 |
On PIC16F690, TMR2 does not increment on Fosc/4 when Prescalar of 1:16 is used. |
PIC16F690, PIC16F887 |
|
SIM-543 |
For PIC16F1936 and 1933 devices, ECCP1 pin assignment is incorrect . As a result, PWM output is not reflected in the PORTB pins |
PIC16F1936 and 1933 |
|
SIM-474 |
For PIC16F72x, Timer1 gated mode operation does not work when gate source is other than T1G input. |
PIC16F72X |
|
SIM-423 |
For PIC24FKA devices, Flash and EEPROM write/Erase operation does not work for many options. |
PIC24FxxKA |
|
Key |
Summary |
Device Affected |
|
SIM32-200 |
CMPI instruction gives incorrect result in 16 bit mode for PIC32 devices |
PIC32MX |
|
SIM32-189 |
Exception due to misaligned word access occurs on executing a program with functions defined in RAM using ramfunc attribute on Simulator. |
PIC32 Family |
|
SIM32-188 |
Simulation goes into an endless loop when there is an interrupt and the C32 Math Function sqrt() is being used. |
PIC32MX |
|
SIM32-187 |
Can't set the U1PWRC values for the Device PIC32MX575F256L. |
PIC32MX575F256L |
|
SIM32-182 |
Clock stimulus and any SCL constructs attempting to compare the PC to either a shared label (function name) or hexadecimal value gives an error. The maximum hex value that can be set in the Clock Stimulus Dialog is 1D07FFFF, which appears to be the end physical address of program memory. Labels and PC (shown in the MPLAB IDE status bar) seem to be virtual addresses which are larger than the maximum allowed. |
PIC32MX |
|
SIM32-180 |
External INT3 and INT4 cannot be simulated for PIC32MX675F256H, PIC32MX775F256H and PIC32MX775F512H due to missing identifier in stimulus |
PIC32MX675F256H, PIC32MX775F256H, PIC32MX775F512H |
|
SIM32-170 |
CLRASM bit of ADC control register has no effect on terminating auto-sample after the first sequence is completed. |
PIC32MX |
|
SIM32-60 |
PMPTTL bit of PMCON register and MODE8 of PMMODE register are not writable in simulator for PIC32 devices. |
PIC32 |