I just received my ESP-C3-12F boards (not KIT boards, the 'raw' board) that are (nearly) pin compatible with the ESP12F.
After assembling my board I found I couldn't program it via my USB -> RS232 adaptor using RX/TX (as I had always programmed my ESP8266 devices. The serial port worked fine.
Read the docs - not very clear
Finally, it appears there are (at least) 3 different ways to program the device depending on the IO pin states.
It seems the default when no IO pins are strapped is usb which ISN'T using rx/tx
To boot to be able to use rx/tx (as per the ESP8266) you need the following:
GPIO8 HIGH (can tie to 3V3 with a resistor)
GPIO2 HIGH (can tie to 3V3 with a resistor)
GPIO9 LOW (best with a switch or temporary link or it will always boot in download)
Take EN low momentarily (reset)
You will then get an output on the Serial port:
rst:0x1 (POWERON),boot:0x5 (DOWNLOAD(USB/UART0/1))
waiting for download
You can now upload your code via rx/tx as per the ESP8266
Hope this helps someone.
Acuario