I made a new pixhawk PCB based on fmuv5 design (I just used the CUAV V5 nano schematic and re-layout). This new board can be programmed into BootLoader in DFU mode. Also, the bootloader seems to be working normally because I let the processor exit the DFU mode and the LED lights on the PCB are also working normally. But the computer cannot recognize my PCB through the USB interface.
In fact, there are nothing happens after the computer is connected to this circuit board. There are no driver errors, and no new hardware is even recognized. Just nothing happened. I tried on two different computers and all same situation. But the USB interface of the circuit board does not seem to have fatal hardware errors, because when I press the bt0 button to let the circuit board enter DFU mode, the computer can correctly recognize this board and use DFU Demo to download the bootloader. But when I exited the DFU mode, as mentioned before, the computer could not recognize the new circuit board, like nothing was connected to the computer.
To prove that bootloader file and operation process I used were correct, I used the same file and operation process on a CUAV V5 nano module. The result is that everything is normal. The V5 nano can be recognized by the computer normally in OTG mode after downloading same bootloader file.
I can’t figure out what happend. I have consulted some friends, they think that maybe OTG_DP pin needs to be connected to VCC through a 1.5k resistor. But in DFU mode, you can use USB to download bootloader normally. I suspect this is not the cause of the problem.
Now it seems that maybe I still lack some steps after downloading the bootloader. Or there are some strange errors in the hardware design. In any case, this does not seem to be an error caused by a simple USB hardware not connected, because DFU mode still work.
Ps: The hardware design I used is based on this: https://github.com/cuav/hardware/tree/master/V5_Autopilot/V5_NANO/RC01