I am trying to achieve the following objective
I want to upload the hex file of my application code which blinks leds after 1 second without using th SWD interface ,instead to program the nrf52840 ,i want to use USB Drag n Drop method(Just like what we do to upload bootloader)
Do i need to upload another bootloader to achieve this functionality?
I am using SDK15.0 with nrf52840 PDK.
What is the purpose of nrfUSB port on the PDK (besides the IFRESET/BOOT button)?
The nRF52840 DK will enumerate as JLINK when you plug it into your computer from the USB port on the left side of the board. You will see the following four files on the device: MBED.HTM, README.TXT, Segger.html and User Guide.html. You can program the nRF52840 by simply dragging a hex file to the drive in Windows explorer (or similarly on other systems). However, this method uses the SWD interface, as the computer is connected to the onboard debugger, which in turn is connected to the nRF52840 via SWD.
The other USB port on the lower side of the board (marked nRF USB) is connected to the USB pins on the nRF52840 itself. We do not provide a method for upgrading via USB by enumerating it as a mass storage device and copying a hex file over this way. The only method we provide for uploading firmware using the USB pins on the nRF52840 directly is using the serial USB bootloader. This has a separate protocol, and you have to make a valid upgrade repo and program the device using the nrfutil command line tool.
I can only answer your last question; (One of) the purpose(s) of the nrfUSB port is to disconnect the interface MCU and some other hardware from the nrf52840 to make accurate power testing possible.
I am personally using the nrfUSB port to operate the GPIO in high voltage mode.