Okay, I found the issue. I need to press the reset button on the nRF52840 development board during programming. It seems VisualGDB doesn’t auto-reset the MCU during flashing. Is that something which is fixable in software?
I don’t think that is the cause of the problem however. The issue is a poor linker script since the code is being compiled fine. I am getting both PL_smallEPD.cpp.d and PL_smallEPD.cpp.o in the Output directory.