yes, exactly. Burning firmware means upload sketch to arduino, and read and write to serial port by Serial.* functions. Sorry about my English, describing situation precisely is not so easy
After struggling for a whole day, i think i find how to solve it. First, make sure the baud rate is one of the standard ones, second, reset ft232rl chip every time it's replugged by some way. I tried two ways to do the reset job, one is using a python script with a function setDTR(), another one is by uploading sketch with IDE.
But i'm still not 100% persent sure, any advice?