Harmony V1.09 USB corrupting RAM
I have a project running in Harmony V1.09 for several months now, uses as little of Harmony as possible for USART, SPI, I2C, Timer, and SQI. Now it's time to turn on the USB port with which I only need to read and write files to a USB flash drive.
So I confirm that my USB clock is proper at 48MHz, turn on USB Stack, Interrupt Mode, USB Host, USB_SPEED_HIGH, 1 Device, 1 TPL Entry, Host Max Interface per device 5, and Use MSD Host Client Driver (image attached). When saving the updated system files from the framework I see new entries as expected, new SYS_OBJECT items, configuration data for USB/USB Host/MSD, and _Init() and _Task function calls as expected. I have added no calls to use the USB port, so only the initialization calls are being made along with the task calls in the main loop.
Now when my project runs I see some of my graphic objects changing color on the screen as I flip through different windows, one object especially. I detect that something is changing the values in that object's color palette struct so I drop into debug mode and set a breakpoint on writing to those palette object's address in RAM. Once I step through the breakpoints happening during my initialization of the palette data I soon catch more breakpoints triggered and see the data in my structs being changed. Ok, I can see it happening ... In the Stack window MPLAB reports that there is no code at the address causing the data corruption, so I open the linker map file and using the PC address provided I see that it is happening in the library function 'fputs' ... Reminder that I am not opening, writing, of closing files with the USB!
Has anyone seen anything like this? Has anyone gotten the USB running on a PIC32MZ using Harmony? Any help would be greatly appreciated!
Project particulars: PIC32MZ2048EFH144, Harmony V1.09, XC32 V1.42, and MPLABX V3.51