I am wondering how advanced and experienced person musty be any developer who want to develop anything reliable with MCHP products, just look at that:
this is unbelievable!
18.10 IDE Specific Issues
The following are issues for the MPLAB X IDE.SSRDescriptionDevice(s) Affected
BOOTSIZE and CODESIZE fuses for AVR-DA are missing in MPLAB X IDE v5.30.
In some code execution a Break Instruction is not being shown as executed when it should.
If the configuration bit RSTPINCFG in an UPDI interface is configured as GPIO or as RST, the debug tool will have to be configured to simple high voltage mode to be able to read/program the device again. On the first try a "PDI enable failed (27)" message may be observed. Try a second time and the operation will succeed.
The IDE displays incorrect value for stack pointer for devices with 127 stack levels.
The Breakpoint Type 'Function' only shows and accepts 'main' function
HVP/LVP cannot be selected for PIC18F26K22 with MPLAB ICD 3/ PICKIT3/ REAL ICE.
Workaround: Use MPLAB ICD 4, MPLAB PICkit 4 In-Circuit Debuggers.
Code Coverage does not support Macros in all cases at this time. It highlights a blank line in place of the Macro. Please review the program memory window for true accuracy.
The visualization of the debugging variables doesn't fit with the flow of the program.
Stopwatch display is not scaling its output using the simulator's input frequency project setting. Work around is to change simulator settings, then stop and restart MPLAB X IDE.
IDE misrepresents REPEAT instruction in the disassembly for dsPIC33E/dsPIC33C devices. The #lit15 value instruction is being decoded as a maximum #lit14.
Peripheral freeze is broken for PIC18F46Q10 on MPLAB ICD 4, MPLAB PICkit 4 and MPLAB Snap tools.
MPLAB X IDE v5.15 installer may sometimes hang when installing drivers.
Lubuntu 18.04 LTS: Install/Uninstall Problems of MPLAB X IDE.
SAME54 XC32 (MPLABX 5.15) fails to step through instructions in RAM while debugging
Links in the final screen don't open in the browser on a 64-bit Linux system.
Keyboard shortcut description on menus disappears after using it once.
When using MPLAB XC32 v2.15 (Windows and Linux installations only), ATSAM devices that have 32-bit wide configuration (config) fields will have incorrect config values programmed into the device when their pragmas are added to the source code. This is not an issue when using the Mac installation of MPLAB XC32 v2.15.
The work around for ATSAM devices will be to use the Configuration bits window to directly program the values, instead of including config pragmas in the source code.
Auto-complete does not work for bit fields using ATSAM MCUs and ARM_GCC
For ATSAM devices the datasheet link does not access the datasheet, but a product page.
ATSAMS70Q20B and other ATSAM
Address breakpoints in the Disassembly window are not recognized by the "Step Over" function
AVR-GCC Toolchain on a mounted drive in Linux does not get discovered with correct version information in MPLAB X IDE.
Const declared variables display incorrect addresses in the watch window for AVR devices
AVR STS instruction displayed incorrectly in multiple MPLAB X IDE displays:
- Program memory view
- Disassembly listing view
Using the IDE to move a project which has an associated Git repo leaves behind a copy of the Git repo after the move
BOOTEND and APPEND configuration values are not in the configuration window
Error in disassembly of rcall/call AVR instructions
When launching a Debug Wire debug session and the device signature is wrong, the launch is aborted. However, a dialog pops up asking if you want to disable Debug Wire even though you never entered a Debug Wire session.
ATmega328PB, other AVR debugWIRE devices
Undocked window is resized to its default size when a new file is opened in the undocked pane. Default NetBeans behavior.
MPLABX START project import: EDBG selected does not stay selected.
'parallel make' causes compiler errors.
LDS instruction generated has wrong operands in Disassembly view.
Underscore in project name causes dual-core device debug failure
"Software Breakpoint Preference" prompt ignores user response if "don't show this message again" is checked
On some projects, when first using MPLAB XC8 2.00 in MPLAB X v5.00, the build fails with No Chip name.
The interim fix is to change the compiler drivers manually, under Tools>Options>Embedded>Build Tools>XC8 v2.00
, C Compiler = xc8-cc, Assembler = xc8-cc, and then click OK
Adding Library project for MPLAB XC8 v2.00 changes makefile to search for .hex/.elf in library project dist folder instead of .a file
Step-out fails to halt at the next statement after the function call
The AVR-GCC installed with the Arduino IDE does not work with MPLAB X IDE
Memory notification not occurring when notification happens on a config mem change for AVR devices.
Renaming project & project folder causes subsequent debug attempts to fail
When trying to add a library project to an application project, the IDE does not include the just closed project unless it is opened in the same session.
SAM E70 TCM_CONFIGURATION fuse shown as a 1-bit field rather than 2-bit.
Menu Entry Window > Web > Web Browser brings up browser with Netbeans.org
ADPCH register missing from the IO View window
Step over(F8) doesn't work properly during debugging with MPLAB XC32 MIPS16 mode.
SKDE Memory missing configuration options.
All Serial devices supported by Serial Memory Starter Kit
When MPLAB X IDE is open and a project that was checked out from SVN is loaded, it may not be possible to work with other tools like TortoiseSVN because MPLAB X IDE may lock the SVN database. MPLAB X IDE may need to be closed to unlock this. Workaround: Select Tools > Options > Team > Versioning > Subversion,
select CLI and put in the path of TortoiseSVN. This provides MPLAB X IDE and TortoiseSVN with the same client and will not lock the SVN database.
TMR0 missing from IO view for PIC16F18875
Red bangs in MPLAB X IDE when C code has an ASCII char "Vertical Tab"
When using the GIT plugin and cloning the project from GIT, the new project is not recognized within MPLAB X IDE
Unable to "Download Latest" MPLAB XC8 installer (v1.45) from MPLAB X IDE on MAC OSx
This occurs when using two editor Frames: Toggling a bookmark in the second view of a code file window toggles the bookmark on the cursor position in the first file window
When you try to access RAM that does not exist using a hex file project only and no source files, such that the target silicon goes into an exception, the IDE becomes unresponsive.
Using RTW on SFRs seems to apply but do not update when using a 16-bit device.
Debugger is dereferencing pointer incorrectly; specifically, instead of showing the value at the address pointed to, it is showing the value at the address of the pointer.
Disassembly listing view for 16-bit devices using MPLAB XC16 is missing some instructions when compared to the Assembler listing file for some sections of code.
Parser does not recognize legal C syntax of defining an enum inside an object typedef. This could be C99 we are looking into it.
Unable to resolve an Identifier that appears with the structure bit field that is nested inside the structure.
The package project does not include scripts that are referenced in the pre/post steps.
"No source code lines found at PC 0x2b6" while stepping over assembly macros in a PIC24FJ device; Simulator/MPLAB ICD 3 used as debugger
Register Trace "Add/Remove variable" window does not size correctly
When using microMIPS code - A General runtime MCU exception is caused when invoking a __builtin_software_breakpoint() function either by running to it or single-stepping on it.
Attempting to remove auto-indenting by making the value 0 results in non-functional tab capability
On some occasions the debug (elf) file gets locked by MPLAB X IDE when doing a build / debug-build. The current workaround is to click the performance monitor to force a GC collection
When using the compiler built in halt macro the software shows you are halted on the line prior to the Macro.
Unable to resolve identifier appearing with legacy plib for PIC32MX device of MPLAB XC32.
When switching from MPLAB XC16 to MPLAB C30, the XC16 Global options "Define common Macros" and "Common Include Directories" are not persisted in C30 Global Options causing build failure.
IDE does not handle cases when 2 files in the same folder have same name and different extensions, which are both accepted as source files by the compiler. Building such a project will fail.
User is not prevented from invoking the clean and build action multiple times before it has completed. This invokes the compiler many times and can cause issues
For some files ‘unexpected token’ (Red circle bang in gutter of editor) messages in the code, when the code is on a Network drive
"PC=" trigger in the Stimulus Register Injection tab has disappeared. We need to investigate what happened and bring it back.
Not all the CPU registers are being read up from the target and updated in the core displays
Pointer to ROM objects shows incorrectly in the Watches window. The MPLAB C18 C compiler only supports COFF debug format. Unfortunately, the COFF specification does not provide sufficient detail to describe pointers to ROM memory. The MPLAB XC8 C compiler supports ELF/DWARF debug format which provide sufficient detail in the debug information for the debugger to properly decode the address and data in this case.
When using full line indent on braces the text stays in line with the braces.
Live parser shows unresolved identifier for structure nested in structure without name. This results from NetBeans native CND not supporting anonymous field declarations. The workaround is to specify an identifier for the field. The downside is that you will have to specify that field name everywhere you use it in code.
For the PIC32MM device the option to Enable App IO on the MPLAB XC32 compiler is not grayed out, as it is not available.
Response file support in MPLAB XC16 may not work if the linker gld name is stored in a file with spaces. If you want to use a gld as is (without modification), you do not need to specify a file in the Linker Files node. The MPLAB XC16 will pick the correct file. If you do need to specify a gld of your own: 1) Do not include spaces in the path where you put it 2) Preferably put it in the MPLAB X project directory. Even if not using response files, the advice above still holds true.
On some occasions when opening a project, the files will show gray, which is indicative that they are excluded from the project. In this case the build will fail because the system thinks the project is empty. Closing and re-opening the project should rectify the issue.
On some midrange devices the breakpoint will miss and not stop after stopping several times. Once paused then restarted the BP will continue to work for while then again not stop. There is no definitive count on how many times it will stop until the halt fails.
Starting debug before Hold in Reset completes causes out of sync issues with toolbar
Value of assembly symbols do not show in the Watch or variables window for relocatable code
When using loadables, the ImagePath macros do not use the unified image
Problems using "/" for pre-post-steps of a build under Windows OS.
Incorrect disassembly of CP instruction for dsPIC33E devices.
Generic plugin has some issues with command execution using Wine for Mac. So generic plugin will not work on MAC OS using MPLAB X IDE.
DisAssy column of Program Memory View displays incorrect code for movpag, call.l , computed branch (eg. bra w3), cpseq, cpsgt, cpslt, cpsne ,cpbeq, cpbgt , cpblt , cpbne
Attempting to cancel project file deletion using keyboard navigation will fail (the file will be deleted). Selecting a project file and then hitting the Delete key will pop up a "Confirm Object Deletion" dialog. Using the Tab key to select "No" and hitting Enter will still result in the file being deleted. Using the mouse to click "No" will cancel the deletion.
Labels are not loaded in Program memory window of Partition 2 in dual partition devices
PICkit 3 fails to connect and/or program a 12F629 when powering from the tool using 5.0 volts
A frozen peripheral can unfreeze when single stepping at or immediately after instructions that perform a read-modify-write on the peripheral's control register.
Workaround: Either use atomic set/clear registers such as T1CONSET or do not single step too close to instructions that modify xCON registers.
Code folding does not work for inline asm code in MPLAB C18 when _asm and _endasm directives are used. The work-around is to put the code block near the end of the code/file.
The correct 'Firmware Suite Version' is not being displayed after recovery from a 'Connection Failed' error.
PIC16F1939-ME2; may affect other parts
Named elements in C99 structure initializers are incorrectly flagged as errors
When hexmate reports a conflict, the reported address does not always reflect the address in MPLAB X IDE. For example, on a 16-bit device, 0x1000 is address 0x800 in MPLAB X IDE.
An array residing in the external memory may not be displayed properly in the watch window.
When importing an MPLAB C18 project, an exception occurs in the MPLAB X IDE, although the import happens correctly.
In the Project Properties dialog, for any MPLAB XC assembler, adding “ASM include dirs” results in .d files contain in this path.
Cannot communicate with AC162055 below 3.375 volts and cannot erase USER ID below 4.5v
Start page links do not work if installed in the 64-bit OS default directory 'Program Files(x86)'
Highlighted selection (SFR/bit) in watch window gets deselected if stepping through project too fast.
"New File" option appears twice in the Toolbar customize menu. This is a NetBeans issue (Bug 162385): https://netbeans.org/bugzilla/show_bug.cgi?id=162385
The MPLAB XC32 compiler might place a function parameter in a CPU register so it does not update in the watch. Define variable as volatile for debugging.
When Find... or Find In Projects... is used to search for text, the resulting display in the Search Results output window does not display tab characters that were in the original text file. For example, searching for latt_kesk in the line movf latt_kesk will display movflatt_kesk
Project properties for MPLAB ICD 3 do not show User ID memories for PIC32 devices.
Mac OS 10.5 (32 bit) seems to think REALICE was ICD3 and PICkit 3 was PICkit 2. If the tool is plugged into the SAME USB port, then this problem can occur.
SKDE PIC32: Calling DBG_PRINTF back to back can lock up MPLAB X IDE and MPLAB IDE v8.
18.11 UDBC Issues
The following are enumerated issues for the device data base incorporated into MPLAB X IDE.SSRDescriptionDevice(s) Affected
For the below listed devices, POR and MCLR masks for SFR ADCON1 are defined as “00qqqq". However, the datasheet states that the mask should be "000qqq". PIC18(L)F2221 PIC18(L)F2321 PIC18(L)F2410 PIC18(L)F2420 PIC18(L)F2423 PIC18(L)F2450 PIC18(L)F2455 PIC18(L)F2458 PIC18(L)F2510 PIC18(L)F2515 PIC18(L)F2520 PIC18(L)F2523 PIC18(L)F2525 PIC18(L)F2550 PIC18(L)F2553 PIC18(L)F2610 PIC18(L)F2620 PIC18(L)F4221 PIC18(L)F4321 PIC18(L)F4410 PIC18(L)F4420 PIC18(L)F4423 PIC18(L)F4450 PIC18(L)F4455 PIC18(L)F4458 PIC18(L)F4510 PIC18(L)F4515 PIC18(L)F4520 PIC18(L)F4523 PIC18(L)F4525 PIC18(L)F4550 PIC18(L)F4553 PIC18(L)F4610 PIC18(L)F4620
MCP19126 device PIC file has incorrect SFR names
ECH option should be changed to "ECH, External Clock, High Power Mode (4-32 MHz): device clock supplied to CLKIN pins" from "ECH, External Clock, High Power Mode (4-20 MHz): device clock supplied to CLKIN pins" in all the devices belonging to PIC16F161x family.
PIC16F161x device family.
MCP19214 doesn’t support UART
SPI6TXIF is not defined in the header file of PIC32MZ2048EFG144.
Incorrect device ID in PIC files for MCP19214 and MCP19215.
The Config bit setting for FOSC contains 3 fields as per data sheet: FOS FPR FCKSMEN But X IDE merges FOS and FPR as FOSFPR and this does not set the FPR bits. So this does not support #pragma config, Please use __FOSC syntax.
Missing definition of the SFRs in the header files: USBIE0CSR0 USBIE0CSR2 USBIE0CSR3
PIC32MZ device family
IEC3 and IFS3 should not exist for PIC24EPxxxGP20x devices
Per datasheet, table 25.2 FNOSC<2:0> FOSCSEL- 111 = Internal Fast RC (FRC) oscillator with postscaler In MPLAB X and the compiler device header file, this bit is named as LPRCDIVN and description for the bit is- Oscillator Mode (Internal Fast RC (FRC) with divide by N) Using the configuration bits feature from MPLAB X v2.30 for PIC24HJ128GP502 device, when selecting 'Fast Internal oscillator with postscaler N' the generated code is 'LPRCDIVN'. From the datasheet the bit name is 'FRCDIVN'.
OCFLT<2:0> bits of OCxCON1 register in PIC24F/FV32KA304 family devices are Hardware Settable/Clearable bits, but shouldn't be able to set them in software. Currently they are selectable in software.
TMR1, TMR2, TMR3, TMR4, and TMR5 registers should be set to 0 for all resets (also tested with real device, and they did get cleared after reset), but currently may get set to any value.
Some ADC registers are not showing up in the SFR peripheral display.
The SFR registers QEI2ICL and QEI2ICH have been removed from 33EP devices.
dsPIC33EPxxxGMxxx , dsPIC33EPxxxMU8xx
There may be some default values of the configuration registers that are not correct for the PIC24FV32KA304 family.
Reset value of CORCON is incorrect in MPLAB X
All 16-bit devices
[PIC32MX1xx/2xx]ODCB bit implementation for r/w operation doesn't match the datasheet
Linker error "Settings in '__FBS.sec' are not valid for target device PIC24F04KL101 " though valid settings are made for the device. A workaround is to define this way: #pragma config BWRP = OFF, BSS = OFF
In dsPIC33EP256MU806.h, SFR blocks are missing for UART3, UART4, SPI3 and SPI4.
Unrecognized macro value generated for configuration bit settings for BORV with PIC24F04KA201.
RETCFG is missing description in the support header files.
Description of BORV in incorrect and is similar to BOREN. The description of BORV needs to be "Brown-out Voltage Level".
PIC24F16KM204 family of devices.
RJPU bit is not defined in PIC18F97J94 datasheet but is included in PIC18F97J94.h header file of XC8
The CiFEN1 register default value may not match the default value as mentioned in the datasheet.
PMMODE- Bit16 (Busy) is implemented as r/w bit for PIC32MX devices.
Not enough FUID macros, highest byte not handled by FUID macros.
Configuration bit name is PLL_96MHZ_ON, should be PLL96MHZ_ON
PIC24FJ128GB106, PIC24FJ128GB108, PIC24FJ128GB110, PIC24FJ192GB106, PIC24FJ192GB108, PIC24FJ192GB110, PIC24FJ256GB106, PIC24FJ256GB108, PIC24FJ256GB110, PIC24FJ64GB106, PIC24FJ64GB108, PIC24FJ64GB110